1 00:00:00,000 --> 00:00:13,300 2 00:00:13,300 --> 00:00:15,010 >> రాబ్ బౌడెన్: హాయ్, నేను రాబ్ ఉన్నాను. 3 00:00:15,010 --> 00:00:16,790 ఎలా మేము ఒక బైనరీ శోధన పనిచేస్తున్నారా? 4 00:00:16,790 --> 00:00:18,770 యొక్క అవ్ట్ కనుగొనండి. 5 00:00:18,770 --> 00:00:23,400 కాబట్టి, ఈ సెర్చ్ మేము చూడాలని గమనించండి పునరావృతంగా అమలు. 6 00:00:23,400 --> 00:00:27,470 మీరు కూడా బైనరీ శోధన అమలు కాలేదు మరల, కాబట్టి మీరు ఆ చేస్తే, 7 00:00:27,470 --> 00:00:29,280 ఆ సంపూర్ణ మంచిది. 8 00:00:29,280 --> 00:00:32,820 >> ఇప్పుడు మొదటి, గుర్తుంచుకో ఏమి శోధన పారామితులు అని అర్థం. 9 00:00:32,820 --> 00:00:36,120 ఇక్కడ, మేము ఇది Int విలువ, చూడండి యూజర్ విలువ భావించబడేది 10 00:00:36,120 --> 00:00:37,320 శోధించడం. 11 00:00:37,320 --> 00:00:40,800 మేము Int విలువలు శ్రేణి, చూడండి ఇది మేము దీనిలో శ్రేణి 12 00:00:40,800 --> 00:00:42,520 విలువ శోధించడం. 13 00:00:42,520 --> 00:00:45,602 మరియు మేము ఇది, Int n చూడండి మా శ్రేణి పొడవు. 14 00:00:45,602 --> 00:00:47,410 >> ఇప్పుడు, మొదటి విషయం మొదటి. 15 00:00:47,410 --> 00:00:51,350 మేము n, 0 సమానం చూడండి మేము తప్పుడు తిరిగి సందర్భంలో. 16 00:00:51,350 --> 00:00:54,770 మేము ఒక ఖాళీ ఉంటే ఆ కేవలం మాట్లాడుతూ శ్రేణి, విలువ ఒక లో స్పష్టంగా లేదు 17 00:00:54,770 --> 00:00:57,860 ఖాళీ శ్రేణిని, మేము తప్పుడు తిరిగి రావచ్చు. 18 00:00:57,860 --> 00:01:01,250 >> ఇప్పుడు, మేము నిజంగా బైనరీ చేయాలనుకుంటున్నారా బైనరీ శోధన శోధన భాగంగా. 19 00:01:01,250 --> 00:01:04,780 కాబట్టి, మేము మధ్య కావలసిన ఈ శ్రేణి యొక్క మూలకం. 20 00:01:04,780 --> 00:01:09,130 ఇక్కడ, మేము మధ్య విభజించబడింది n సమానం 2 ద్వారా, మధ్య మూలకం నుండి 21 00:01:09,130 --> 00:01:12,240 పొడవు మాత్రం మా శ్రేణి 2 ద్వారా విభజించబడింది. 22 00:01:12,240 --> 00:01:15,040 ఇప్పుడు మేము చూడటానికి తనిఖీ చూడాలని ఉంటే మధ్య మూలకం మేము విలువ సమానం 23 00:01:15,040 --> 00:01:16,160 శోధించడం. 24 00:01:16,160 --> 00:01:21,030 విలువలు మధ్య విలువ సమానం ఉంటే, మేము జపానీస్ నుండి నిజమైన తిరిగి 25 00:01:21,030 --> 00:01:22,810 మా వ్యూహంలో విలువ. 26 00:01:22,810 --> 00:01:26,380 >> కానీ నిజమైన కాదు ఉంటే, ఇప్పుడు మేము పునరావృత చెయ్యాల్సిన 27 00:01:26,380 --> 00:01:27,840 బైనరీ శోధన దశ. 28 00:01:27,840 --> 00:01:30,450 మేము గాని శోధన అవసరం అర్రే లేదా ఎడమ 29 00:01:30,450 --> 00:01:32,320 శ్రేణి మధ్యలో. 30 00:01:32,320 --> 00:01:39,280 మధ్య వద్ద విలువలు ఉంటే ఇక్కడ, మేము చెప్పటానికి విలువ కంటే తక్కువ, ఆ విలువ 31 00:01:39,280 --> 00:01:41,350 మధ్య కంటే ఎక్కువ ఉంది అర్రే. 32 00:01:41,350 --> 00:01:45,790 కాబట్టి విలువ కుడి ఉండాలి మేము చూసాము మూలకం. 33 00:01:45,790 --> 00:01:48,090 >> ఇక్కడ, మేము చూడాలని పునరావృతంగా శోధన. 34 00:01:48,090 --> 00:01:50,320 మరియు మేము ప్రయాణిస్తున్న ఏమి చూడండి రెండవ లో ఈ. 35 00:01:50,320 --> 00:01:53,440 కానీ మేము అన్వేషణ చూడాలని మధ్య మూలకం కుడి. 36 00:01:53,440 --> 00:01:57,710 మరియు ఇతర సందర్భంలో, అని విలువ మధ్యలో కంటే తక్కువ 37 00:01:57,710 --> 00:02:00,660 శ్రేణి, అందువలన మేము చూడాలని ఎడమ శోధించడానికి. 38 00:02:00,660 --> 00:02:03,520 ఇప్పుడు, ఎడమ అన్నారు ఒక బిట్ సులభంగా చూడండి. 39 00:02:03,520 --> 00:02:07,770 కాబట్టి, మేము పునరావృతంగా అని ఇక్కడ చూడండి మొదటి శోధన కాల్ 40 00:02:07,770 --> 00:02:10,120 వాదన, మళ్ళీ, విలువ మేము చూస్తున్న. 41 00:02:10,120 --> 00:02:14,970 రెండవ వాదన అని అన్నారు మేము సెర్చింగ్ ఆ శ్రేణి. 42 00:02:14,970 --> 00:02:17,090 మరియు గత మూలకం ఇప్పుడు మధ్య ఉంది. 43 00:02:17,090 --> 00:02:21,650 గత పారామితి మా Int గుర్తుంచుకో n, మా శ్రేణి పొడవు ఉంది కాబట్టి. 44 00:02:21,650 --> 00:02:25,310 >> శోధన పునరావృత కాల్, మేము ఉన్నాము ఇప్పుడు చెబుతున్న ఆ పొడుగు 45 00:02:25,310 --> 00:02:27,230 శ్రేణి మధ్య. 46 00:02:27,230 --> 00:02:32,900 కాబట్టి, మా అర్రే పరిమాణం 20 మరియు మేము యొక్క ఉంటే మధ్య నుండి, ఇండెక్స్ 10 వద్ద శోధించిన 47 00:02:32,900 --> 00:02:36,930 20 2 ద్వారా విభజించబడింది, మేము ఉన్నాము అర్థం కొత్త గా 10 ప్రయాణిస్తున్న 48 00:02:36,930 --> 00:02:38,300 మా శ్రేణి పొడవు. 49 00:02:38,300 --> 00:02:41,910 గుర్తుంచుకో మీరు వ్యూహం ఉన్నప్పుడు పొడవు 10 యొక్క, ఆ చెల్లుబాటు అర్థం 50 00:02:41,910 --> 00:02:45,450 అంశాలను 0 ద్వారా 9 ఇండెక్సులు. 51 00:02:45,450 --> 00:02:50,120 ఈ మేము ఖచ్చితంగా ఏమిటి ఎడమ - మా నవీకరించబడింది శ్రేణి పేర్కొనండి 52 00:02:50,120 --> 00:02:53,010 మధ్య మూలకం నుండి శ్రేణి. 53 00:02:53,010 --> 00:02:55,710 >> కాబట్టి, కుడి చూస్తూ ఉంది కొంచం కష్టం. 54 00:02:55,710 --> 00:03:00,170 ఇప్పుడు మొదటి, యొక్క పొడవు పరిశీలిద్దాం కుడి అర్రే 55 00:03:00,170 --> 00:03:01,240 మధ్య మూలకం. 56 00:03:01,240 --> 00:03:08,390 కాబట్టి, మా అర్రే పరిమాణం n యొక్క ఉంది, అప్పుడు కొత్త శ్రేణి పరిమాణం n మైనస్ యొక్క ఉంటుంది 57 00:03:08,390 --> 00:03:10,140 మధ్య మైనస్ 1. 58 00:03:10,140 --> 00:03:12,530 కాబట్టి, యొక్క n మైనస్ మధ్య అనుకుంటున్నాను తెలియజేయండి. 59 00:03:12,530 --> 00:03:18,710 >> మళ్ళీ, అర్రే పరిమాణం 20 అయితే మరియు మేము మధ్య పొందడానికి 2 ద్వారా విభజించి, 60 00:03:18,710 --> 00:03:23,540 మధ్య అప్పుడు 10, n మైనస్ మధ్య ఉంది మాకు 10, కాబట్టి 10 ఇవ్వాలని అన్నారు 61 00:03:23,540 --> 00:03:25,330 మధ్య కుడి అంశాలు. 62 00:03:25,330 --> 00:03:27,780 కానీ మేము ఈ మైనస్ కలిగి 1, మేము అనుకుంటున్న నుండి 63 00:03:27,780 --> 00:03:29,700 మధ్య కూడా ఉన్నాయి. 64 00:03:29,700 --> 00:03:34,190 కాబట్టి n మైనస్ మధ్య మైనస్ 1 ఇస్తుంది కుడి అంశాల సంఖ్య 65 00:03:34,190 --> 00:03:36,800 శ్రేణి లో మధ్య ఇండెక్స్ యొక్క. 66 00:03:36,800 --> 00:03:41,870 >> ఇప్పుడు ఇక్కడ, గుర్తు ఆ మధ్య పారామీటర్ విలువల శ్రేణి. 67 00:03:41,870 --> 00:03:46,180 ఇక్కడ, మేము ఒక ప్రయాణిస్తున్న చేస్తున్నారు నవీకరించబడింది విలువలు శ్రేణి. 68 00:03:46,180 --> 00:03:50,930 ఈ విలువలు ప్లస్ మధ్య ప్లస్ 1 ఉంది నిజానికి పునరావృతంగా కాల్ మాట్లాడుతూ 69 00:03:50,930 --> 00:03:56,460 శోధన, ఒక కొత్త శ్రేణి లో మీదుగా పేరు కొత్త శ్రేణి మధ్యలో మొదలవుతుంది 70 00:03:56,460 --> 00:03:59,370 ప్లస్ మా అసలు విలువలు శ్రేణి ఒకటి. 71 00:03:59,370 --> 00:04:05,400 >> ఆ కోసం ఒక ప్రత్యామ్నాయ వాక్యనిర్మాణం, ఇప్పుడు మీరు, గమనికలు చూడండి ప్రారంభించారు చేసిన 72 00:04:05,400 --> 00:04:10,170 ఏంపర్సెండ్ విలువలు మధ్య ప్లస్ 1. 73 00:04:10,170 --> 00:04:17,149 కాబట్టి, మధ్య చిరునామా పట్టుకోడానికి విలువలు ఒకటి మూలకం. 74 00:04:17,149 --> 00:04:23,690 >> ఇప్పుడు, మీరు సౌకర్యవంతమైన ఒకవేళ , ఆ వంటి వ్యూహం సవరించుట 75 00:04:23,690 --> 00:04:28,900 కూడా ఉపయోగించి ఈ అమలు చేశారు ఒక పునరావృత సహాయక ఫంక్షన్, పేరు 76 00:04:28,900 --> 00:04:31,680 ఆ సహాయక ఫంక్షన్ పడుతుంది మరింత వాదనలు. 77 00:04:31,680 --> 00:04:36,610 బదులుగా కేవలం విలువ తీసుకునే, శ్రేణి మరియు శ్రేణి యొక్క పరిమాణం, 78 00:04:36,610 --> 00:04:42,315 సహాయక పనితీరు మరింత పడుతుంది తక్కువ ఇండెక్స్ సహా వాదనలు, 79 00:04:42,315 --> 00:04:45,280 మీరు శ్రేణి శ్రద్ధ అని మరియు మీరు శ్రద్ధ అని ఎగువ ఇండెక్స్ 80 00:04:45,280 --> 00:04:46,300 శ్రేణి గురించి. 81 00:04:46,300 --> 00:04:49,770 >> కాబట్టి రెండు తక్కువ పర్యవేక్షించడం ఇండెక్స్ మరియు ఎగువ ఇండెక్స్, మీరు లేదు 82 00:04:49,770 --> 00:04:52,780 ఎప్పుడూ సవరించాలి అసలు విలువలు శ్రేణి. 83 00:04:52,780 --> 00:04:56,390 మీరు కొనసాగించవచ్చు విలువలు వరుసను ఉపయోగిస్తాయి. 84 00:04:56,390 --> 00:04:59,540 కానీ ఇక్కడ, మేము ఒక సహాయక అవసరం లేదు గమనించవచ్చు కాలం మేము వంటి పని 85 00:04:59,540 --> 00:05:01,760 అసలు సవరించడానికి సిద్ధంగా విలువలు శ్రేణి. 86 00:05:01,760 --> 00:05:05,020 మేము పాస్ సిద్ధపడిన నవీకరించిన విలువలు. 87 00:05:05,020 --> 00:05:09,140 >> ఇప్పుడు, మేము బైనరీ శోధన కాదు క్రమబద్ధీకరించనిది అని వ్యూహం. 88 00:05:09,140 --> 00:05:12,220 కాబట్టి, యొక్క ఈ మటుకు ఉండకుండా. 89 00:05:12,220 --> 00:05:17,650 ఇప్పుడు, ఆ విధమైన గత ఉంది గమనించి రెండు పారామితులు ఇది, విలువలు, Int 90 00:05:17,650 --> 00:05:21,110 మేము క్రమబద్ధీకరించేందుకు చేస్తున్న శ్రేణి, మరియు Int n, శ్రేణి పొడవు ఇది ఆ 91 00:05:21,110 --> 00:05:22,250 మేము క్రమబద్ధీకరించేందుకు చేస్తున్నారు. 92 00:05:22,250 --> 00:05:24,840 కాబట్టి, ఇక్కడ అమలు చేయడానికి వేరు అల్గోరిథం 93 00:05:24,840 --> 00:05:26,690 ఆ n ఓ స్క్వేర్డ్ ఉంది. 94 00:05:26,690 --> 00:05:30,560 మీరు బబుల్ సార్ట్, ఎంపిక ఎంచుకోవచ్చు విధమైన, లేదా చొప్పించడం విధమైన, లేదా 95 00:05:30,560 --> 00:05:32,670 మేము కొన్ని ఇతర విధమైన తరగతి చూసిన. 96 00:05:32,670 --> 00:05:36,380 కానీ ఇక్కడ, మేము చూడాలని ఎంపిక విధమైన ఉపయోగించండి. 97 00:05:36,380 --> 00:05:40,030 >> కాబట్టి, మేము iterate చూడాలని మొత్త పైగా. 98 00:05:40,030 --> 00:05:44,360 బాగా, ఇక్కడ మేము iterating చేస్తున్న చూడండి 0 నుండి n మైనస్ 1. 99 00:05:44,360 --> 00:05:45,990 ఎందుకు అన్ని మార్గం n వరకు? 100 00:05:45,990 --> 00:05:49,320 Well, మేము ఇప్పటికే క్రమబద్ధీకరించబడతాయి చేసిన మొదటి అప్పుడు n మైనస్ 1 అంశాలు, 101 00:05:49,320 --> 00:05:54,420 ఇప్పటికే ఉండాలి ఏమి ఆఖరి మూలకం సరైన స్థానంలో, కాబట్టి పైగా సార్టింగ్ 102 00:05:54,420 --> 00:05:56,520 మొత్త. 103 00:05:56,520 --> 00:05:58,770 >> ఇప్పుడు, గుర్తు ఎంపిక విధమైన పనిచేస్తుంది. 104 00:05:58,770 --> 00:06:01,950 మేము మొత్త వెళ్ళి చూడాలని కనీస విలువ కోసం చూస్తున్న 105 00:06:01,950 --> 00:06:04,480 శ్రేణి మరియు స్టిక్ ఆ ప్రారంభంలో. 106 00:06:04,480 --> 00:06:07,610 అప్పుడు మేము మొత్తం వెళ్ళి చూడాలని శ్రేణి మళ్ళీ రెండవ వెతుకుతున్న 107 00:06:07,610 --> 00:06:10,410 చిన్న మూలకం, మరియు స్టిక్ ఆ రెండవ స్థానంలో 108 00:06:10,410 --> 00:06:12,100 శ్రేణి, అందువలన న. 109 00:06:12,100 --> 00:06:14,330 కాబట్టి, ఈ చేస్తున్నది ఉంది. 110 00:06:14,330 --> 00:06:17,290 >> ఇక్కడ, మేము అని చూస్తున్నారని ప్రస్తుత కనీసం సెట్ 111 00:06:17,290 --> 00:06:20,030 i-th ఇండెక్స్ విలువ. 112 00:06:20,030 --> 00:06:23,160 కాబట్టి మొదటి మళ్ళా, మేము చేయబోతున్నామని కనీస విలువ అని పరిగణలోకి 113 00:06:23,160 --> 00:06:25,030 మా శ్రేణి ప్రారంభంలో. 114 00:06:25,030 --> 00:06:28,500 అప్పుడు, మేము iterate చూడాలని తనిఖీ శ్రేణి, యొక్క మిగిలిన 115 00:06:28,500 --> 00:06:31,870 కంటే ఏ అంశాలు చిన్న చూడండి మేము ప్రస్తుతం అని ఒక 116 00:06:31,870 --> 00:06:33,900 కనీస పరిగణలోకి. 117 00:06:33,900 --> 00:06:38,840 >> ఇక్కడ, j ఒకటి విలువలు - ఆ మేము ప్రస్తుతం అన్నాడీఎంకే 118 00:06:38,840 --> 00:06:40,380 కనీస పరిగణలోకి. 119 00:06:40,380 --> 00:06:42,940 అప్పుడు మేము అప్డేట్ వెళుతున్న మేము కనీసం భావిస్తున్నాను 120 00:06:42,940 --> 00:06:44,640 ఇండెక్స్ j ప్లస్ 1. 121 00:06:44,640 --> 00:06:48,540 కాబట్టి, మొత్త అంతటా అలా, మరియు ఈ తరువాత లూప్, కనీసం 122 00:06:48,540 --> 00:06:53,160 నుండి కనీస మూలకం ఉండాలి శ్రేణి లో i-th స్థానం. 123 00:06:53,160 --> 00:06:57,350 >> మేము కలిగి, మేము మార్పిడి చేయవచ్చు i-th స్థానం కనీస విలువ 124 00:06:57,350 --> 00:06:58,230 శ్రేణి లో. 125 00:06:58,230 --> 00:07:00,130 ఈ కేవలం ఒక ప్రామాణిక స్వాప్ ఉంది. 126 00:07:00,130 --> 00:07:03,940 మేము ఒక తాత్కాలిక విలువ లో నిల్వ - శ్రేణి లో i-th విలువ - 127 00:07:03,940 --> 00:07:08,460 శ్రేణి లో i-th విలువ ఉంచి చెందినది అని కనీస విలువ, 128 00:07:08,460 --> 00:07:13,580 ఆపై పేరు తిరిగి నిల్వ ఉపయోగిస్తున్నప్పుడు ప్రస్తుత కనీస విలువ 129 00:07:13,580 --> 00:07:16,460 శ్రేణి లో i-th విలువ, కాబట్టి మేము అది ఓడిపోలేదు. 130 00:07:16,460 --> 00:07:20,510 >> కాబట్టి, ఆ పై కొనసాగుతుంది తరువాత మళ్ళా. 131 00:07:20,510 --> 00:07:23,480 మేము రెండవ వెతుకుతున్న ప్రారంభిస్తాము కనీస విలువ మరియు ఆ ఇన్సర్ట్ 132 00:07:23,480 --> 00:07:24,590 రెండవ స్థానం. 133 00:07:24,590 --> 00:07:27,440 మూడవ మళ్ళా, మేము కోసం పరిశీలిస్తాము మూడవ కనీస విలువ మరియు చొప్పించు 134 00:07:27,440 --> 00:07:31,550 మూడవ స్థానం, మరియు మేము ఒక క్రమబద్ధీకరించబడతాయి శ్రేణి కలిగి వరకు. 135 00:07:31,550 --> 00:07:33,820 నా పేరు రాబ్ ఉంది, మరియు ఈ ఎంపిక విధమైన. 136 00:07:33,820 --> 00:07:39,456