కొంత డేటా కోసం శోధించే సామర్థ్యం కంప్యూటర్ సైన్స్ యొక్క ముఖ్యమైన అంశం. సెర్చ్ అల్గోరిథంలు డేటా సెట్లో ఒక నిర్దిష్ట అంశాన్ని చూసేందుకు ఉపయోగించబడతాయి.
అల్గోరిథంలు బూలియన్ ఫలితాన్ని (నిజం లేదా తప్పు) శోధన ప్రశ్నకు అందిస్తుంది. కనుగొనబడిన విలువ యొక్క సాపేక్ష స్థానాన్ని ఇవ్వడానికి వాటిని కూడా సవరించవచ్చు.
ఈ వ్యాసం కోసం, అల్గోరిథంలు విలువ ఉందో లేదో నిర్ణయించడంపై దృష్టి పెడుతుంది.
సరళ శోధన అల్గోరిథంలు
సరళ శోధనను సీక్వెన్షియల్ సెర్చ్ అని కూడా అంటారు. ఈ రకమైన శోధనలో, కావలసిన విలువ ఉందో లేదో తనిఖీ చేస్తున్నప్పుడు జాబితాలోని ప్రతి విలువ ఒక క్రమపద్ధతిలో ఒక్కొక్కటిగా సందర్శించబడుతుంది.
మీరు వెతుకుతున్న విలువను కనుగొనే వరకు లేదా శోధించడానికి విలువలు ముగిసే వరకు అల్గోరిథం విలువ ద్వారా విలువను తనిఖీ చేస్తుంది. శోధించడానికి విలువలు అయిపోయినప్పుడు, మీ శోధన ప్రశ్న జాబితాలో లేదు.
సీక్వెన్షియల్ సెర్చ్ అల్గోరిథం విలువల జాబితాను మరియు జాబితాలో కావలసిన అంశాన్ని దాని పారామితులుగా తీసుకుంటుంది. రిటర్న్ ఫలితం ఇలా ప్రారంభించబడింది తప్పుడు మరియు కు మారుతుంది నిజమే కావలసిన విలువ కనుగొనబడినప్పుడు.
క్రింద ఉన్న పైథాన్ అమలును ఉదాహరణగా చూడండి:
def linearSearch(mylist, item):
found = False
index = 0
while index if mylist[index] == item:
found = True
else:
index = index+1
return found
అల్గోరిథం విశ్లేషణ
కావలసిన అంశం జాబితాలో మొదటిది అయినప్పుడు ఉత్తమ సందర్భం ఏర్పడుతుంది. కావలసిన అంశం జాబితాలో చివరిది (n వ అంశం) అయినప్పుడు చెత్త పరిస్థితి ఏర్పడుతుంది. అందువల్ల, సరళ శోధన కోసం సమయ సంక్లిష్టత O (n).
పై అల్గోరిథంలో సగటు కేస్ దృష్టాంతం n/2.
సంబంధిత: బిగ్- O సంజ్ఞామానం అంటే ఏమిటి?
సరళ శోధన సవరించబడింది
ఉపయోగించిన అల్గోరిథం దానికి యాదృచ్ఛిక అంశాల జాబితా అందించబడుతుందని తెలుసుకోవడం ముఖ్యం. అంటే, జాబితా అంశాలు నిర్దిష్ట క్రమంలో లేవు.
స్నేహితుడికి మరియు స్నేహితుడికి మధ్య ఫేస్బుక్లో స్నేహాన్ని ఎలా చూడాలి
వస్తువులు నిర్దిష్ట క్రమంలో ఉన్నాయనుకోండి, చిన్నవి నుండి పెద్దవి వరకు చెప్పండి. గణనలో కొంత ప్రయోజనం సాధించడం సాధ్యమవుతుంది.
ఇచ్చిన జాబితాలో 19 కోసం చూస్తున్న ఉదాహరణ తీసుకోండి: [2, 5, 6, 11, 15, 18, 23, 27, 34]. 23 కి చేరుకున్న తర్వాత, వెతుకుతున్న అంశం జాబితాలో లేదని స్పష్టమవుతుంది. అందువల్ల, జాబితాలోని మిగిలిన అంశాలను శోధించడం కొనసాగించడం ఇకపై ముఖ్యం కాదు.
బైనరీ శోధన అల్గోరిథంలు
ఆర్డర్ చేసిన జాబితా అవసరమైన గణనను ఎలా తగ్గిస్తుందో మీరు చూశారు. బైనరీ సెర్చ్ అల్గోరిథం ఆర్డర్ చేసిన జాబితాను కలిగి ఉన్న ఈ సామర్థ్యం యొక్క మరింత ప్రయోజనాన్ని పొందుతుంది.
ఆర్డర్ చేసిన జాబితా యొక్క మధ్య విలువను తీసుకొని, కావలసిన విలువ ఉందో లేదో తనిఖీ చేయడం ద్వారా అల్గోరిథం ప్రారంభమవుతుంది. అది కాకపోతే, విలువ అది కావలసిన విలువ కంటే తక్కువగా ఉందా లేదా ఎక్కువగా ఉందో లేదో తనిఖీ చేయబడుతుంది.
ఇది తక్కువగా ఉంటే, జాబితా దిగువ భాగాన్ని తనిఖీ చేయవలసిన అవసరం లేదు. లేకపోతే, అది ఎక్కువైతే, అది జాబితా ఎగువ భాగంలోకి వెళుతుంది.
సంబంధిత: పునరావృతం అంటే ఏమిటి మరియు మీరు దానిని ఎలా ఉపయోగిస్తున్నారు?
ఏ సబ్లిస్ట్ (ఎడమ లేదా కుడి) ఎంచుకున్నప్పటికీ, మధ్య విలువ మళ్లీ నిర్ణయించబడుతుంది. అవసరమైన విలువ ఉంటే విలువ మళ్లీ తనిఖీ చేయబడుతుంది. అది కాకపోతే, అది అభ్యర్థించిన విలువ కంటే తక్కువ లేదా ఎక్కువ అని తనిఖీ చేయబడుతుంది.
కారులో సంగీతం ఆడటానికి ఉత్తమ మార్గం
విలువ ఉన్నంత వరకు ఈ ప్రక్రియ పునరావృతమవుతుంది.
దిగువ పైథాన్ అమలు బైనరీ శోధన అల్గోరిథం కోసం.
డెఫ్ బైనరీ శోధన (మైలిస్ట్, అంశం):
low = 0
high = len(mylist) - 1
found = False
while low <= high and not found: mid = (low + high) // 2
if mylist[mid] == item:found = True
elif item else:low = mid + 1
return found
అల్గోరిథం విశ్లేషణ
కావలసిన అంశం మధ్య వస్తువుగా కనిపించినప్పుడు ఉత్తమ దృష్టాంతం ఏర్పడుతుంది. చెత్త దృష్టాంతం అంత సూటిగా లేదు. దిగువ విశ్లేషణను అనుసరించండి:
మొదటి పోలిక తర్వాత, n/2 అంశాలు మిగిలిపోతాయి. రెండవ తరువాత, n/4 అంశాలు మిగిలిపోతాయి. మూడవ తరువాత, n/8.
అంశాల సంఖ్య n/2i కి చేరుకునే వరకు సగానికి తగ్గిపోతుందని గమనించండి, ఇక్కడ నేను పోలికల సంఖ్య. అన్ని విభజన తరువాత, మేము కేవలం 1 అంశంతో ముగుస్తాము.
ఇది సూచిస్తుంది:
n/2i = 1 కాబట్టి, బైనరీ శోధన O (లాగ్ n).
క్రమబద్ధీకరణకు వెళ్లడం
బైనరీ శోధనలో, ఇచ్చిన శ్రేణిని ఇప్పటికే ఆదేశించిన సందర్భాన్ని మేము పరిగణించాము. కానీ మీకు క్రమం లేని డేటాసెట్ ఉందని అనుకోండి మరియు మీరు దానిపై బైనరీ శోధన చేయాలనుకుంటున్నారు. మీరు ఏమి చేస్తారు?
సమాధానం సులభం: క్రమబద్ధీకరించండి. కంప్యూటర్ సైన్స్లో అనేక పరిశోధన పద్ధతులు ఉన్నాయి, అవి బాగా పరిశోధించబడ్డాయి. మీరు అధ్యయనం ప్రారంభించే ఈ టెక్నిక్లలో ఒకటి ఎంపిక క్రమబద్ధీకరణ అల్గోరిథం, అయితే ఇతర ప్రాంతాలకు సంబంధించిన గైడ్లు కూడా మాకు పుష్కలంగా ఉన్నాయి.
షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ సెలెక్షన్ సార్ట్ని ఎలా ఉపయోగించాలిప్రారంభకులకు అర్థం చేసుకోవడానికి ఎంపిక క్రమం కొద్దిగా గమ్మత్తైనది, కానీ మీరు విషయాల ఊపును పొందిన తర్వాత ఇది చాలా సవాలుగా ఉండదు.
తదుపరి చదవండి సంబంధిత అంశాలు- ప్రోగ్రామింగ్
- సాంకేతికత వివరించబడింది
- ప్రోగ్రామింగ్
- అల్గోరిథంలు
- డేటా విశ్లేషణ
జెరోమ్ MakeUseOf లో స్టాఫ్ రైటర్. అతను ప్రోగ్రామింగ్ మరియు లైనక్స్ గురించి కథనాలను కవర్ చేస్తాడు. అతను క్రిప్టో iత్సాహికుడు మరియు క్రిప్టో పరిశ్రమపై ఎల్లప్పుడూ ట్యాబ్లను ఉంచుతాడు.
జెరోమ్ డేవిడ్సన్ నుండి మరిన్నిమా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి
టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!
సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి