1 00:00:00,000 --> 00:00:13,300 2 00:00:13,300 --> 00:00:15,010 >> ராப் Bowden: Hi, நான் ராப் இருக்கிறேன். 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 இங்கே, நாம் இது எண்ணாக மதிப்பு, பார்க்கின்றோம் பயனர் மதிப்பு இருக்க வேண்டும் 10 00:00:36,120 --> 00:00:37,320 தேடி. 11 00:00:37,320 --> 00:00:40,800 நாம் எண்ணாக மதிப்புகள் வரிசை, பார்க்கிறோம் இது நாம் இதில் வரிசை 12 00:00:40,800 --> 00:00:42,520 மதிப்பு தேடும். 13 00:00:42,520 --> 00:00:45,602 நாம் இது, முழு எண்ணாக 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 கடந்த அளவுரு எங்கள் முழு எண்ணாக நினைவில் 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 நாங்கள், வரிசையாக்க என்று வரிசை, மற்றும் எண்ணாக 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 >> எனவே, நாம் மீண்டும் கூறு போகிறோம் முழு அணி மீது. 98 00:05:40,030 --> 00:05:44,360 சரி, இங்கே நாம் தேடி என்று பார்க்கிறோம் 0 N கழித்தல் 1. 99 00:05:44,360 --> 00:05:45,990 ஏன் அனைத்து வழி, n வரை? 100 00:05:45,990 --> 00:05:49,320 சரி, நாம் ஏற்கனவே வரிசையாக்கம் என்றால் முதல் பின்னர் 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-வது குறியீட்டு மதிப்பு. 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 பின்னர், நாம் மீண்டும் கூறு போகிறோம் சோதனை வரிசை, எஞ்சிய 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 >> எனவே இங்கே, ஜே பிளஸ் ஒன் கலாச்சாரம் - என்று நாம் தற்போது என்ன விட குறைவாக 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 குறியீட்டு ஜே பிளஸ் 1. 121 00:06:44,640 --> 00:06:48,540 எனவே, முழு வரிசையில் முழுவதும் செய்ய, இந்த பிறகு வளைய, குறைந்தபட்ச 122 00:06:48,540 --> 00:06:53,160 குறைந்தபட்ச உறுப்பு இருக்க வேண்டும் வரிசையில் i-வது நிலை. 123 00:06:53,160 --> 00:06:57,350 >> நாம் என்று ஒருமுறை, நாம் மாற்ற முடியும் i-வது நிலைக்கு குறைந்தபட்ச மதிப்பு 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-வது மதிப்பு - 127 00:07:03,940 --> 00:07:08,460 வரிசையில் i-வது மதிப்பு வைத்து அங்கு சொந்தமானது என்று குறைந்தபட்ச மதிப்பு, 128 00:07:08,460 --> 00:07:13,580 பின்னர் அங்கு மீண்டும் சேமிக்க பயன்படுத்தப்படும் தற்போதைய குறைந்தபட்ச மதிப்பு 129 00:07:13,580 --> 00:07:16,460 வரிசையில் i-வது மதிப்பு, அதனால் நாம் அது இழக்கவில்லை என்று. 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