రాండమ్ సెర్చ్ అల్గోరిథం, మోంటే కార్లో సెర్చ్ అని కూడా పిలుస్తారు, ఇది యాదృచ్ఛికత ఆధారంగా శోధించే పద్ధతి. డేటా శ్రేణిలోని ప్రతి మూలకాన్ని వరుసగా తనిఖీ చేయడానికి బదులుగా, ఈ అల్గోరిథం యాదృచ్ఛికంగా పరిశీలించడానికి అనేక మూలకాలను ఎంపిక చేస్తుంది. సీక్వెన్షియల్ సెర్చ్తో పోలిస్తే ఈ విధానం సమయం మరియు వనరులను ఆదా చేస్తుంది.
అది ఎలా పని చేస్తుంది
-
దశ 1: మీరు శోధించాలనుకుంటున్న డేటా శ్రేణితో ప్రారంభించండి.
-
దశ 2: పరిశీలించడానికి నిర్దిష్ట సంఖ్యలో మూలకాలను యాదృచ్ఛికంగా ఎంచుకోండి.
-
దశ 3: ఎంచుకున్న ఎలిమెంట్లు సెర్చ్ కండిషన్తో సరిపోలుతున్నాయో లేదో తనిఖీ చేయండి.
-
దశ 4: సరిపోలే మూలకం కనుగొనబడితే, ఫలితాన్ని అందించండి; లేకపోతే, దశ 2కి తిరిగి వెళ్లండి.
-
దశ 5: మ్యాచ్ కనుగొనబడే వరకు లేదా గరిష్ట ప్రయత్నాల సంఖ్యను చేరుకునే వరకు ప్రక్రియను కొనసాగించండి.
ప్రయోజనాలు మరియు అప్రయోజనాలు
ప్రయోజనాలు:
- వనరు-సమర్థవంతమైనది: సమయం మరియు మెమరీని ఆదా చేస్తుంది, ముఖ్యంగా పెద్ద డేటా శ్రేణుల కోసం.
- యాదృచ్ఛికత: సులభంగా ఊహించదగినది కాదు, యాదృచ్ఛికత అవసరమయ్యే పరిస్థితులకు అనుకూలం.
ప్రతికూలతలు:
- విజయానికి హామీ లేదు: అల్గోరిథం ఆశించిన ఫలితాన్ని కనుగొంటుందనే హామీ లేదు.
- చాలా సమయం పట్టవచ్చు: చెత్త సందర్భంలో, అల్గోరిథం సీక్వెన్షియల్ సెర్చ్ కంటే ఎక్కువ సమయం పట్టవచ్చు.
ఉదాహరణ మరియు వివరణ
శ్రేణిలో పూర్ణాంకాన్ని కనుగొనడానికి యాదృచ్ఛిక శోధన అల్గారిథమ్ను ఉపయోగించడం యొక్క క్రింది ఉదాహరణను పరిగణించండి:
import java.util.Random;
public class RandomSearchExample {
static int randomSearch(int[] arr, int target) {
Random rand = new Random();
int maxAttempts = arr.length; // Maximum number of attempts
for(int i = 0; i < maxAttempts; i++) {
int randomIndex = rand.nextInt(arr.length); // Randomly select an index
if(arr[randomIndex] == target) {
return randomIndex; // Return the index if found
}
}
return -1; // Return -1 if not found
}
public static void main(String[] args) {
int[] numbers = {1, 5, 9, 3, 7};
int target = 3;
int result = randomSearch(numbers, target);
if(result != -1) {
System.out.println("Number " + target + " found at index " + result);
} else {
System.out.println("Number " + target + " not found in the array.");
}
}
}
ఈ ఉదాహరణలో, శ్రేణిలో పూర్ణాంకాన్ని కనుగొనడానికి మేము రాండమ్ శోధన అల్గారిథమ్ని ఉపయోగిస్తాము. మేము శ్రేణి ద్వారా పునరావృతం చేస్తాము, యాదృచ్ఛికంగా సూచికను ఎంచుకుంటాము మరియు ఆ సూచికలోని మూలకం లక్ష్య సంఖ్యతో సరిపోలుతుందో లేదో తనిఖీ చేస్తాము. కనుగొనబడితే, మేము సూచికను తిరిగి ఇస్తాము; కాకపోతే, గరిష్ట సంఖ్యలో ప్రయత్నాలను చేరుకునే వరకు మేము కొనసాగుతాము.