[Powered by Google Translate] [బైనరీ శోధన]
[పాట్రిక్ స్చ్మిడ్ - హార్వర్డ్ యూనివర్శిటీ]
[ఈ CS50 ఉంది. - CS50.TV]
>> నేను అక్షర క్రమంలో మీరు డిస్నీ పాత్ర పేర్లు జాబితా ఇచ్చారు ఉంటే
మరియు, మిక్కీ మౌస్ కనుగొనేందుకు మీరు అడిగారు
మీరు ఈ చేయడం గురించి పాటు?
ఒక స్పష్టమైన మార్గం ప్రారంభం నుండి జాబితా స్కాన్ ఉంటుంది
మరియు అది మిక్కీ అని తెలుసుకోవడానికి ప్రతి పేరును తనిఖీ.
అయితే మీరు ముందుకు అలాద్దీన్, ఆలిస్, ఏరియల్, చదివి వంటి,
మీరు త్వరగా జాబితా ముందు వద్ద ప్రారంభమై మంచి ఆలోచన కాదు అని ఉంటుంది.
సరే, బహుశా మీరు జాబితా ముగింపు నుండి వెనక్కి పని ప్రారంభిస్తుంది.
ఇప్పుడు మీరు టార్జాన్, స్టిచ్, స్నో వైట్, మొదలైనవి చదవండి.
ఇంకా, ఈ దాని గురించి వెళ్ళడానికి ఉత్తమ మార్గం వంటి కనిపించడం లేదు.
>> సరే, మీరు ఇలా గురించి వెళ్ళటానికి మరొక మార్గం తగ్గించండి ప్రయత్నించాలి
మీరు చూసే కలిగి పేర్ల జాబితా.
మీరు అవి అక్షర క్రమంలో అని తెలుసు కాబట్టి,
మీరు జాబితా మధ్యలో పేర్లు వద్ద కనిపించాలి
మిక్కీ మౌస్ ఈ పేరు ముందు లేదా తర్వాత ఉంటే మరియు తనిఖీ.
రెండవ వరుసలో చివరి పేరు వద్ద గురించి
మీరు, మిక్కీ కోసం M జాస్మిన్ కోసం J తర్వాత వస్తుంది తెలుసుకుంటారు భావిస్తున్న
కాబట్టి మీరు కేవలం జాబితా యొక్క మొదటి సగం విస్మరించండి భావిస్తున్న.
అప్పుడు మీరు బహుశా చివరి కాలమ్ ఎగువన చూడండి భావిస్తున్న
మరియు అది Rapunzel తో ఆరంభమయ్యి చూడండి.
మిక్కీ Rapunzel ముందు వస్తుంది; మేము అదే చివరి కాలమ్ విస్మరించవచ్చు కనిపిస్తోంది.
శోధన వ్యూహం కొనసాగిస్తూ, మీరు త్వరగా చూస్తారు మిక్కీ
పేర్లు మిగిలిన జాబితా యొక్క మొదటి సగం లో ఉంది
చివరకు మిక్కీ మెర్లిన్ మరియు మిన్నియే మధ్య దాచి ఇక్కడ చూడండి.
>> మీరు ఏమి ప్రధానంగా బైనరీ శోధన ఉంది.
ఈ పేరు సూచిస్తుంది, ఇది ఒక బైనరీ విషయం లో శోధన వ్యూహం అమలు చేస్తుంది.
దీని అర్థం ఏమిటి?
Well, క్రమబద్ధీకరించబడింది అంశాల జాబితా ఇవ్వబడింది, బైనరీ శోధన అల్గోరిథం ఒక బైనరీ నిర్ణయం చేస్తుంది -
ఎడమ లేదా కుడి, కంటే ఎక్కువ లేదా తక్కువ ముందు లేదా తర్వాత అక్షర, కంటే - ప్రతి పాయింట్ వద్ద.
ఇప్పుడు మేము ఈ శోధన అల్గోరిథం పాటు వెళ్ళే ఒక పేరు కలిగి,
యొక్క మరొక ఉదాహరణ చూద్దాం, కానీ ఈ సమయంలో క్రమబద్ధీకరించబడతాయి సంఖ్యల జాబితాను.
మేము క్రమబద్ధీకరించబడతాయి సంఖ్యల ఈ జాబితాలో సంఖ్య 144 శోధిస్తున్న సే.
ముందు వలె, మేము మధ్య ఉందని సంఖ్య ఉద్యోగాలు -
ఈ కేసులో 13 - మరియు 144 కంటే ఎక్కువ లేదా 13 కంటే తక్కువ ఉంటే చూడండి.
ఇది 13 కంటే ఎక్కువ స్పష్టంగా నుంచి, మేము 13 లేదా తక్కువ అని ప్రతిదీ విస్మరించవచ్చు
మరియు కేవలం మిగిలిన సగం పైన దృష్టి.
మేము ఇప్పుడు ఎడమ అంశాలను యొక్క సరి సంఖ్య కలిగి నుండి
మేము కేవలం మధ్య దగ్గరగా ఉందని అనేక ఎంచుకోండి.
ఈ సందర్భంలో మనం 55 ఎంచుకోండి.
మేము సులభంగా 89 ఎంచుకున్న కాలేదు.
సరే. మరలా, 144 55 కంటే ఎక్కువ, కాబట్టి మేము కుడి వెళ్ళండి.
అదృష్టవశాత్తూ మాకు, తర్వాత మధ్య సంఖ్య, 144 ఉంది
మేము చూస్తున్న ఒక.
ఒక బైనరీ శోధన ఉపయోగించి 144 కనుగొనేందుకు కాబట్టి, మేము మాత్రమే 3 దశల్లో దానిని కనుగొనేందుకు చూడగలరని.
మేము ఇక్కడ సరళ శోధన ఉపయోగించారు అనుకుంటే, అది మాకు 12 చర్యలు చేపట్టాయి చేస్తుంది.
వాస్తవానికి, ఈ నుంచి ఈ శోధన పద్ధతి అంశాల సంఖ్య విభజించటం
ఇది ప్రతి దశ కు ఉంది, అది శోధించే అంశం కనుగొంటారు
జాబితాలో అంశాల సంఖ్య యొక్క లాగ్ గురించి లో.
ఇప్పుడు మేము 2 ఉదాహరణలు చూసిన ఆ, యొక్క పరిశీలించి తెలియజేయండి
బైనరీ శోధన అమలు ఒక పునరావృత ఫంక్షన్ కోసం కొన్ని pseudocode.
ఎగువన మొదలు, మేము మేము 4 వాదనలు పడుతుంది ఒక చర్యను కనుగొనడం కలిగి చూడండి:
కీ, అర్రే, మిన్, మరియు మాక్స్.
కీ మేము మునుపటి ఉదాహరణ అలా 144, శోధిస్తున్న ఆ సంఖ్య.
అర్రే మనం శోధిస్తున్న సంఖ్యల జాబితా ఉంది.
Min మరియు మాక్స్ కనీస, గరిష్ట స్థానాల సూచికలు
మేము ప్రస్తుతం చూస్తున్నారు ఆ.
కాబట్టి మేము ప్రారంభించినప్పుడు, min సున్నా ఉంటుంది మరియు గరిష్టంగా శ్రేణి యొక్క గరిష్ట సూచిక ఉంటుంది.
మేము శోధనను కుదించండి, మేము min మరియు మాక్స్ అప్ డేట్
మేము ఇంకా సైన్ చూస్తున్నాయి మాత్రమే శ్రేణి అని
>> మొదటి ఆసక్తికరమైన భాగంగా జె లెట్.
మేము మొదటి విషయం, midpoint కనుగొనడం
సగం మేము ఇప్పటికీ ఆలోచిస్తున్నాయి ఆ శ్రేణిని min మరియు మాక్స్ మధ్య అని సూచిక.
అప్పుడు మేము ఆ midpoint స్థానంలో శ్రేణి యొక్క విలువ చూడండి
మేము శోధిస్తున్న ఆ సంఖ్యను ఆ కీ కంటే తక్కువ ఉంటే మరియు చూడండి.
ఆ స్థానంలో సంఖ్య తక్కువ ఉంటే,
అప్పుడు కీ ఆ స్థానం యొక్క ఎడమ అన్ని సంఖ్యలు కంటే పెద్దదిగా ఉంటుంది అర్థం.
కాబట్టి మేము, మళ్ళీ బైనరీ శోధన ఫంక్షన్ కాల్ చేయవచ్చు
కానీ ఈ సమయంలో కేవలం సగం చదవడానికి min మరియు మాక్స్ పారామితులు నవీకరించడాన్ని
కంటే ఎక్కువ లేదా మేము చూసాము విలువకు సమానము.
మరోవైపు, కీ శ్రేణి యొక్క ప్రస్తుత midpoint వద్ద సంఖ్య కంటే తక్కువ ఉంటే,
మేము ఎడమ వెళ్ళండి మరియు ఎక్కువ అన్ని సంఖ్యలు విస్మరించండి మీరు.
మళ్లీ, మేము min మరియు మాక్స్ నవీకరించారు పరిధికి బైనరీ శోధన కానీ ఈ సమయంలో కాల్
కేవలం దిగువ సగం చేర్చడానికి.
అర్రే ప్రస్తుత midpoint వద్ద విలువ కాదు ఉంటే
కంటే పెద్ద లేదా కీ కంటే చిన్న, అది కీ సమానంగా ఉండాలి.
ఆ విధంగా, మనం కేవలం ప్రస్తుత midpoint ఇండెక్స్ తిరిగి, మరియు మేము పూర్తి చేసిన.
చివరగా, ఇక్కడ ఈ చెక్ కేసు అని సంఖ్య
మేము శోధిస్తున్నారు సంఖ్యల శ్రేణి నిజానికి కాదు.
మేము శోధిస్తున్న ఉంటాయి గరిష్ట సూచిక
కనీస కంటే ఎప్పుడూ తక్కువ, మేము చాలా దూరం మారారు అంటే.
సంఖ్య ఇన్పుట్ శ్రేణి కాదు కాబట్టి, మేము -1 తిరిగి
ఆ ఏమీ సూచించడానికి కనుగొనబడింది.
>> మీరు ఈ అల్గోరిథం పని కోసం గమనించి ఉండవచ్చు
సంఖ్యల జాబితా వేరు ఉంటుంది.
ఇతర మాటల్లో చెప్పాలంటే, కేవలం బైనరీ శోధన ఉపయోగించి 144 పొందవచ్చు
అన్ని సంఖ్యలు అత్యల్ప నుండి అత్యధిక ఆదేశాలు ఉంటే.
ఈ సందర్భంలో కాకపోయి ఉంటే, మేము ప్రతి దశ సంఖ్యలు సగం మినహాయించాలని ఎంతమాత్రం ఉండదు.
కాబట్టి మేము 2 ఎంపికలు ఉన్నాయి.
మేము, బైనరీ శోధన ఉపయోగించి ముందు ఒక క్రమబద్ధీకరించనిది జాబితా తీసుకుని దానికి క్రమం చేయవచ్చు
లేదా మేము దానికి సంఖ్యలు జోడించడానికి వంటి సంఖ్యల జాబితా క్రమబద్ధీకరించబడింది ఖచ్చితంగా చేయవచ్చు.
అందువలన, బదులుగా మేము శోధించడానికి కలిగి కేవలం ఉన్నప్పుడు విభజన,
ఎందుకు అన్ని సమయాల్లో క్రమబద్ధీకరించబడతాయి జాబితా భద్రపరచలేదు?
>> ఒకేసారి అనుమతించేటప్పుడు సంఖ్యల జాబితా ఉంచడానికి ఒక మార్గం క్రమబద్ధీకరించబడింది
ఈ జాబితా నుండి సంఖ్యలు జోడించడానికి లేదా తరలించడానికి
ఒక బైనరీ శోధన చెట్టు అనే ఉపయోగిస్తారు.
ఒక బైనరీ శోధన చెట్టు 3 లక్షణాలను కలిగి ఉండే ఒక డేటా నిర్మాణం.
మొదటి, ఏ నోడ్ యొక్క ఎడమ subtree కంటే తక్కువ మాత్రమే విలువలను కలిగి
లేదా నోడ్ యొక్క విలువకు సమానంగా.
రెండవది, ఒక కణుపు యొక్క కుడి subtree మాత్రమే కంటే ఎక్కువ విలువలను కలిగి
లేదా నోడ్ యొక్క విలువకు సమానంగా.
అన్ని నోడ్ల మరియు, చివరకు, ఎడమ మరియు కుడి subtrees రెండు
కూడా బైనరీ శోధన చెట్లు ఉన్నాయి.
మేము ఇంతకు ముందు ఉపయోగించిన ఒకే సంఖ్యలో ఒక ఉదాహరణ చూడండి యొక్క లెట్.
ఒక కంప్యూటర్ సైన్స్ చెట్టు ముందు ఎప్పుడూ చేసిన మీరు ఆ కోసం,
నాకు కంప్యూటర్ సైన్స్ చెట్టు క్రిందికి చేర్చుతూ మీరు చెబుతూ ప్రారంభించండి.
అవును, మీరు అభిమానం ఉంటాయి చెట్లు కాకుండా,
ఒక కంప్యూటర్ సైన్స్ చెట్టు యొక్క రూట్, ఎగువన
మరియు ఆకులు దిగువన ఉన్నాయి.
ప్రతి చిన్న పెట్టెలో ఒక నోడ్ అంటారు, మరియు నోడ్స్ అంచులు ద్వారా ప్రతి ఇతర కనెక్ట్ చేసారు.
కాబట్టి ఈ చెట్టు యొక్క రూట్, విలువ 13 తో నోడ్ విలువ
ఇది విలువలు 5 మరియు 34 2 పిల్లలు నోడ్ లను కలిగి ఉంది.
ఒక subtree కేవలం మొత్తం చెట్టు యొక్క ఒక ఉప చూడటం ద్వారా ఏర్పడుతుంది ఆ వృక్షం.
>> ఉదాహరణకు, నోడ్ 3 యొక్క ఎడమ subtree నోడ్స్ 0, 1, 2 మరియు రూపొందించినవారు వృక్షం.
కాబట్టి, మేము ఒక బైనరీ శోధన చెట్టు యొక్క లక్షణాలు తిరిగి వెళ్ళడానికి ఉంటే,
మేము, వృక్షంలో ఉండే ప్రతి కణుపు అవి అన్ని 3 లక్షణాలు, నిర్ధారిస్తుందని చూడండి
ఎడమ subtree మాత్రమే కంటే తక్కువ లేదా నోడ్ యొక్క విలువకు సమానంగా విలువలను కలిగి;
అన్ని నోడ్ల కుడి subtree
మాత్రమే కంటే ఎక్కువ లేదా నోడ్ యొక్క విలువకు సమానంగా విలువలను కలిగి; మరియు
అన్ని నోడ్ల ఎడమ మరియు కుడి రెండు subtrees కూడా బైనరీ శోధన చెట్లు ఉన్నాయి.
ఈ చెట్టు వ్యత్యాసంతో ఉంటుంది అయినప్పటికీ, ఇది సరైన బైనరీ శోధన వృక్షం
సంఖ్యల అదే కోసం.
వాస్తవానికి, మీరు సృష్టించవచ్చు అనేక సాధ్యం మార్గాలు ఉన్నాయి
ఈ సంఖ్యలు నుండి చెల్లుబాటు అయ్యే బైనరీ శోధన చెట్టు.
సరే, మేము సృష్టించిన మొదటి ఒక తిరిగి వదలి వేస్తారు.
కాబట్టి మేము ఈ చెట్లు ఏమి చేయగలను?
Well, మేము చాలా సరళంగా కనీస, గరిష్ట విలువలు కనుగొనవచ్చు.
కనీస విలువలు ఎప్పుడూ ఎడమ వెళ్ళి చూడవచ్చు
సందర్శించడానికి no more నోడ్స్ ఉన్నాయి వరకు.
దీనికి విరుద్ధంగా, గరిష్ట ఒక కనుగొనడానికి కేవలం కేవలం ప్రతి సమయంలో సరైన క్రిందికి వెళుతుంది.
>> ఇతర సంఖ్య ఫైండింగ్ కనిష్ట లేదా గరిష్ట కాదని
కేవలం సులభం.
మేము సంఖ్య 89 చూస్తున్న సే.
మేము కేవలం, ప్రతి నోడ్ యొక్క విలువ తనిఖీ మరియు ఎడమ లేదా కుడి వెళ్ళండి
నోడ్ యొక్క విలువ కంటే తక్కువ లేదా ఎక్కువ దాని పై ఆధారపడి
మేము చూస్తున్న ఒక.
కాబట్టి, 13 యొక్క మూలంలో మొదలు, మేము, 89 గొప్ప అని చూడండి
అందువలన మేము వెళ్ళండి.
అప్పుడు మేము 34 కోసం నోడ్ చూడండి, మరియు తిరిగి మేము వెళ్ళండి.
89 ఇంకా 55 కంటే ఎక్కువ, కాబట్టి మేము వెళ్ళి కొనసాగిస్తారు.
మేము అప్పుడు 144 విలువ ఒక నోడ్ ఆలోచన మరియు ఎడమ వెళ్ళండి.
తక్కువ మరియు ఆగండి, 89 అక్కడే ఉంది.
>> మేము మరొక విషయమేమంటే ఒక inorder ట్రావెర్సల్ చేయడం ద్వారా అన్ని సంఖ్యలు ముద్రించాలా ఉంది.
ఒక inorder ట్రావెర్సల్ ఎడమ subtree ప్రతిదీ ముద్రించాలా అర్థం
నోడ్ కూడా ముద్రణకు తరువాత
మరియు సరైన subtree ప్రతిదీ ముద్రించిన తర్వాత.
ఉదాహరణకు, యొక్క మా అభిమాన బైనరీ శోధన చెట్టు తీసుకుందాం
మరియు క్రమబద్ధీకరించబడతాయి క్రమంలో సంఖ్యలు ముద్రించాలా.
మేము 13 యొక్క root ప్రారంభమవుతాయి కాని ముద్రణ 13 ముందు మేము ముద్రించాలా కలిగి
ఎడమ subtree ప్రతిదీ.
కాబట్టి మేము 5 వెళ్ళండి. మేము ఇంకా, మేము ఎడమ అత్యంత నోడ్ కనుగొనేందుకు వరకు చెట్టు మరింత తగ్గుముఖం పడతాయని కలిగి
ఇది సున్నా.
ముద్రణ సున్నా తరువాత, మేము 1 వరకు తిరిగి వెళ్లి ఆ ప్రింట్.
అప్పుడు మేము 2 ఇది కుడి subtree వెళ్లి, ఆ ప్రింట్.
ఇప్పుడు మనము ఆ subtree పూర్తి చేసిన
మేము 3 తిరిగి పెరుగుతుంది మరియు దీనిని ముద్రించవచ్చు.
అప్ తిరిగి కొనసాగిస్తూ, మేము 8 అప్పుడు 5 ప్రింట్ మరియు.
ఇప్పుడు మేము మొత్తం పూర్తి చేశారు, subtree వదిలి
మేము 13 ముద్రించాలా మరియు కుడి subtree పని ప్రారంభించవచ్చు.
మేము 34 క్రిందికి హాప్, కాని ముద్రణ 34 ముందు మేము దాని ఎడమ subtree ముద్రించాలా ఉన్నాయి.
కాబట్టి మేము 21 ముద్రించాలా; అప్పుడు మేము 34 ముద్రించాలా మరియు దాని కుడి subtree సందర్శించండి ను.
55 ఏ ఎడమ subtree కలిగి ఉంటుంది, మేము దాన్ని ప్రింట్ మరియు దాని కుడి subtree లో కొనసాగుతుంది.
144 ఎడమ subtree, అందువలన మేము, 144 తర్వాత, 89 అవ్ట్ ప్రింట్
233 యొక్క చివరకు కుడి అత్యంత నోడ్.
అక్కడ మీరు కలిగి ఉన్నారు; అన్ని సంఖ్యలు అత్యల్ప నుండి అత్యధిక చేయడానికి లో ముద్రించబడి ఉంటాయి.
>> చెట్టు ఏదో కలుపుతోంది అలాగే చాలా సున్నితంగా ఉంటుంది.
మేము అన్ని మేము 3 బైనరీ శోధన చెట్టు లక్షణాలు అనుసరించండి నిర్ధారించుకోండి ఉంది
ఖాళీ ఉన్న మరియు తరువాత విలువను చేర్చండి.
లెట్ యొక్క మేము 7 యొక్క విలువను చేర్చండి అనుకుందాం.
7 కంటే తక్కువ 13 కనుక, మేము ఎడమ వెళ్ళండి.
కానీ 5 కంటే ఎక్కువ, కనుక మేము కుడి సంచరిస్తారు.
అది 8 మరియు 8 ఒక ఆకు నోడ్ కంటే తక్కువగా ఉంటుంది నుంచి, మేము 8 యొక్క ఎడమ బిడ్డకు 7 జోడించండి.
Voila! మేము మా బైనరీ శోధన చెట్టు అనేక జోడించిన.
>> మేము విషయాలు జోడించవచ్చు, మేము మంచి అదే విషయాలు తొలగించలేరు.
దురదృష్టవశాత్తు మాకు, తొలగించడం కొద్దిగా మరింత సంక్లిష్టమైనది -
చాలా, కానీ కొద్దిగా లేదు.
మేము పరిగణించాలి ఆ 3 వివిధ పరిస్థితులలో ఉన్నాయి
బైనరీ శోధన చెట్లు నుండి కారకాలను తొలగించడం ఉన్నప్పుడు.
మొదటి, సులభమైన సందర్భంలో మూలకం ఒక ఆకు నోడ్ ఉంటుంది.
ఈ సందర్భంలో, మనం కేవలం తొలగించండి మరియు మా వ్యాపార తో వెళ్ళండి.
మేము కేవలం జోడించిన 7 తొలగించాలనుకుంటున్నారా సే.
Well, మేము కేవలం దానిని కనుగొనేందుకు, దాన్ని తొలగించండి, అంతే.
నోడ్ మాత్రమే 1 బాల ఉంటే తదుపరి సందర్భంలో.
ఇక్కడ మేము నోడ్ తొలగించగలరు, కాని మేము మొదటి నిర్ధారించడానికి కలిగి
ఇప్పుడు తల్లిదండ్రులు వదిలేస్తే ఆ subtree కనెక్ట్
నోడ్ యొక్క మాతృ కు మేము తొలగించారు.
మేము మా చెట్టు నుండి 3 తొలగించాలనుకుంటున్నారా సే.
మేము ఆ నోడ్ యొక్క బాల మూలకం తీసుకొని నోడ్ యొక్క మాతృ దానిని జోడించండి.
ఈ సందర్భంలో, మనం ఇప్పుడు 5 1 అటాచ్ చేస్తున్నారు.
మేము తెలిసినందున ఈ, బైనరీ శోధన చెట్టు ఆస్తిని అనుసరించి, ఒక సమస్య లేకుండా పనిచేస్తుంది
3 యొక్క ఎడమ subtree లో ప్రతిదీ కంటే తక్కువ 5 ఉంది.
3 యొక్క subtree యొక్క రక్షణ తీసుకుంటారు ఇప్పుడు, మనం దానిని తొలగించవచ్చు.
మూడవ మరియు ఆఖరి వ్యాజ్యం చాలా సంక్లిష్టంగా ఉంటుంది.
మేము తొలగించాలనుకుంటున్నారా నోడ్ 2 పిల్లలు ఈ సందర్భంలో.
ఈ చేయడానికి, మేము మొదటి, తరువాతి అతిపెద్ద విలువ కలిగి నోడ్ కనుగొనేందుకు కలిగి
రెండు స్వాప్ మరియు తరువాత ప్రశ్న లో నోడ్ తొలగించండి.
తరువాతి అతిపెద్ద విలువ 2 పిల్లలు కూడా ఉండకూడదు కలిగి నోడ్ గమనించండి
దాని ఎడమ చైల్డ్ తరువాతి అతిపెద్ద కోసం ఒక మంచి అభ్యర్థి కనుక.
అందువలన, 2 పిల్లలతో ఒక నోడ్ తొలగించడం, 2 ల ఇచ్చిపుచ్చుకోవడంతో మొత్తాలను
మరియు తర్వాత తొలగించడం 2 పైన పేర్కొన్న నిబంధనలను 1 నిర్వహించబడుతుంది.
ఉదాహరణకు, లెట్స్ మేము రూట్ నోడ్, 13 తొలగించండి అనుకుందాం.
మేము మొదటి విషయం మేము చెట్టు తదుపరి అతిపెద్ద విలువ కనుగొనడం
ఇది ఈ సందర్భంలో, 21.
మేము అప్పుడు 13 ఒక ఆకు మరియు 21 మధ్య సమూహం నోడ్ దీనితో 2 నోడ్స్ స్వాప్.
ఇప్పుడు మేము కేవలం 13 తొలగించవచ్చు.
>> ముందుగా పేర్కొన్నట్లు, చెల్లుబాటు అయ్యే బైనరీ శోధన చెట్టు చేయడానికి అనేక సాధ్యం మార్గాలు ఉన్నాయి.
దురదృష్టవశాత్తు మాకు కొందరు కంటే అధ్వాన్నంగా ఉంటాయి.
మేము ఒక బైనరీ శోధన చెట్టు నిర్మించడానికి ఉదాహరణకు, ఏమి జరుగుతుందనే
సంఖ్యల క్రమబద్ధీకరించబడతాయి జాబితా నుండి?
అన్ని సంఖ్యలు కేవలం ప్రతి దశ కుడి జోడించబడ్డాయి.
మేము అనేక శోది ఉంటుంది,
మేము వేరే ఎంపిక లేదు మాత్రమే ప్రతి దశ కుడి కు.
ఈ అన్ని వద్ద సరళ శోధన కంటే మెరుగైన లేదు.
మేము వాటిని ఇక్కడ కవర్ కాకపోయినప్పటికీ,, క్లిష్టమైన, ఇతర ఉన్నాయి
ఈ జరిగే లేదని చేసే డేటా నిర్మాణాలు.
అయితే, ఈ నివారించడానికి చేయవచ్చు ఒక సులభమైన విషయం
కేవలం యాదృచ్చికంగా షఫుల్ ఇన్పుట్ విలువలకు.
ఇది యాదృచ్ఛిక అవకాశం ద్వారా సంఖ్యల దిగి జాబితా క్రమబద్ధీకరించబడింది ఆ అంతగా లేదు.
ఒకవేళ ఇదే జరిగితే, కాసినోలు కాలం వ్యాపారంలో నిలదొక్కుకోవడానికి కాదు.
>> అక్కడ మీరు కలిగి ఉన్నారు.
మీరు ఇప్పుడు బైనరీ శోధన మరియు బైనరీ శోధన చెట్లు గురించి తెలుసు.
నేను పాట్రిక్ స్చ్మిడ్ ఉన్నాను, మరియు ఈ CS50 ఉంది.
[CS50.TV]
ఒక స్పష్టమైన మార్గం నుండి జాబితా స్కాన్ ఉంటుంది ... [బీప్]
... అంశాల సంఖ్య ... YEP
[నవ్విన]
... 234 ... augh యొక్క నోడ్ పోస్ట్.
>> అవును! అది -