1 00:00:00,000 --> 00:00:09,560 2 00:00:09,560 --> 00:00:13,120 >> ZAMYLA சான்: நீங்கள் போகலாம் முதல் விஷயம் கண்டறிய பற்றி அறிவிப்பு என்று நாம் ஏற்கனவே 3 00:00:13,120 --> 00:00:14,520 குறியீடு எங்களுக்கு எழுதியுள்ளனர். 4 00:00:14,520 --> 00:00:16,219 இந்த விநியோக குறியீடு என்று அழைக்கப்படுகிறது. 5 00:00:16,219 --> 00:00:19,060 எனவே நாம் நமது சொந்த எழுத போவதில்லை இனி புதிதாக குறியீடு. 6 00:00:19,060 --> 00:00:23,870 மாறாக, நாம் காலிக் பூர்த்தி சில ஏற்கனவே குறியீடு. 7 00:00:23,870 --> 00:00:28,860 >> find.c திட்டம் எண்கள் கேட்கிறது வைக்கோல் நிரப்ப, தேடுகிறது 8 00:00:28,860 --> 00:00:33,260 பயனர் சமர்ப்பித்த ஊசியை வைக்கோல், அது மாதிரி அழைப்பு மற்றும் இந்த செய்கிறது 9 00:00:33,260 --> 00:00:36,660 தேடல், செயல்பாடுகளை வரையறுக்கப்பட்ட helpers.c உள்ள. 10 00:00:36,660 --> 00:00:38,740 எனவே find.c ஏற்கனவே எழுதப்பட்டுள்ளது. 11 00:00:38,740 --> 00:00:41,840 உங்கள் வேலை உதவியாளர்கள் எழுத இருக்கிறது. 12 00:00:41,840 --> 00:00:42,940 >> எனவே நாம் என்ன செய்து கொண்டிருக்கிறாய்? 13 00:00:42,940 --> 00:00:45,270 நாம் இரண்டு செயல்பாடுகளை செயல்படுத்தி வருகிறோம். 14 00:00:45,270 --> 00:00:50,110 உண்மை கொடுக்கிறது இது தேடல், என்றால் ஒரு மதிப்பு திரும்பி, வைக்கோல் காணப்படுகிறது 15 00:00:50,110 --> 00:00:52,430 தவறான மதிப்பு இருந்தால் இல்லை வைக்கோல். 16 00:00:52,430 --> 00:00:59,060 பின்னர் நாங்கள் வகையான செயல்படுத்தி வருகிறோம், இது வேல்யூஸ் வரிசை வகையான. 17 00:00:59,060 --> 00:01:01,120 எனவே தேடல் சமாளிக்க வேண்டும். 18 00:01:01,120 --> 00:01:04,550 >> தேடல் தற்போது செயல்படுத்தப்பட்டு வருகிறது ஒரு நேர்கோட்டு தேடல். 19 00:01:04,550 --> 00:01:06,620 ஆனால் நீங்கள் அதை விட சிறப்பாக செய்ய முடியும். 20 00:01:06,620 --> 00:01:11,610 நேரியல் தேடல் n, ஓ செயல்படுத்தப்படுகிறது மிகவும் மெதுவாக இது நேரம், அது என்றாலும் 21 00:01:11,610 --> 00:01:14,920 அது கொடுக்கப்பட்ட எந்த பட்டியலில் தேடலாம். 22 00:01:14,920 --> 00:01:21,190 உங்கள் வேலை பைனரி தேடல் செயல்படுத்த உள்ளது பதிவு n, O ரன் இது. 23 00:01:21,190 --> 00:01:22,200 அந்த அழகான வேகமாக தான். 24 00:01:22,200 --> 00:01:24,240 >> ஆனால் ஒரு நிபந்தனை இருக்கிறது. 25 00:01:24,240 --> 00:01:28,910 இரும தேடல் மட்டும் தேடலாம் முன் வரிசையில் பட்டியல்கள் மூலம். 26 00:01:28,910 --> 00:01:31,450 அது ஏன்? 27 00:01:31,450 --> 00:01:33,690 சரி, ஒரு உதாரணத்தை பார்போம். 28 00:01:33,690 --> 00:01:37,350 மதிப்புகள் ஒரு வரிசை கொடுத்து, வைக்கோல், நாம் தேடும் போகிறாய் 29 00:01:37,350 --> 00:01:41,510 ஒரு ஊசி, மற்றும் இந்த எடுத்துக்காட்டாக, முழு 3. 30 00:01:41,510 --> 00:01:45,220 >> பைனரி தேடல் வேலை என்று வழி இருக்கிறது என்று நாங்கள் மத்தியில் மதிப்பு ஒப்பிட்டு 31 00:01:45,220 --> 00:01:49,430 மிகவும் போன்ற ஊசி வரிசை, எப்படி நாங்கள் நடுத்தர ஒரு தொலைபேசி புத்தகத்தை திறந்து 32 00:01:49,430 --> 00:01:51,720 வீக் 0 பக்கம். 33 00:01:51,720 --> 00:01:55,710 எனவே மத்திய மதிப்பு ஒப்பிட்டு ஊசி, நீங்கள் நிராகரிக்க முடியும் 34 00:01:55,710 --> 00:01:59,620 இடது அல்லது வரிசை சரி பாதி உங்கள் எல்லைக்கு இறுக்குவது மூலம். 35 00:01:59,620 --> 00:02:04,450 இந்த வழக்கில், 3 முதல், எங்கள் ஊசி, ஆகிறது குறைவாக 10, நடுத்தர மதிப்பு, 36 00:02:04,450 --> 00:02:07,060 வலது பிணைப்பு குறைக்க முடியும். 37 00:02:07,060 --> 00:02:09,470 >> ஆனால் உங்கள் எல்லைக்கு செய்ய முயற்சி முடிந்தவரை இறுக்கமான. 38 00:02:09,470 --> 00:02:12,690 நடுத்தர மதிப்பு ஊசி இல்லை என்றால், நீங்கள் தேவையில்லை என்று 39 00:02:12,690 --> 00:02:14,070 உங்கள் தேடல் அதை சேர்க்க. 40 00:02:14,070 --> 00:02:18,390 எனவே கட்டப்படுகிறது உங்கள் வலது இறுக்க முடியாது ஒரு சிறிய பிட் மேலும் தேடல் எல்லைக்கு, 41 00:02:18,390 --> 00:02:22,840 அதனால் மற்றும் முன்னும் பின்னுமாக, வரை உங்கள் ஊசி கண்டுபிடிக்க. 42 00:02:22,840 --> 00:02:24,580 >> எனவே போலி என்ன குறியீடு போன்ற? 43 00:02:24,580 --> 00:02:28,980 சரி, நாம் இன்னும் வழியாக தேடும் போது பட்டியல் மற்றும் இன்னும் வேண்டும் 44 00:02:28,980 --> 00:02:33,540 பார்க்க உறுப்புகள், நாங்கள் நடுத்தர எடுக்கிறோம் பட்டியலில் என்று ஒப்பிட்டு 45 00:02:33,540 --> 00:02:36,020 எங்கள் ஊசி நடுத்தர மதிப்பு. 46 00:02:36,020 --> 00:02:38,380 அவர்கள் சம என்றால் நாம் தான் ஆகிறது ஊசி, மற்றும் நாம் 47 00:02:38,380 --> 00:02:40,160 உண்மை திரும்ப. 48 00:02:40,160 --> 00:02:43,940 >> இல்லையெனில், ஊசி குறைவாக இருந்தால் நடுத்தர மதிப்பு, பிறகு நாம் பொருள் 49 00:02:43,940 --> 00:02:48,350 சரியாக அரை நிராகரிக்க முடியும் வரிசை இடது பக்கத்தில் தேடல். 50 00:02:48,350 --> 00:02:51,860 இல்லையெனில், நாங்கள் தேட வேண்டும் வரிசை வலது பக்க. 51 00:02:51,860 --> 00:02:55,470 இறுதியில், நீங்கள் எந்த இல்லை மேலும் தேட இடது கூறுகள் ஆனால் நீங்கள் 52 00:02:55,470 --> 00:02:58,030 இன்னும் உங்கள் ஊசி இல்லை, நீங்கள் தவறான திரும்ப. 53 00:02:58,030 --> 00:03:02,960 ஊசி நிச்சயமாக வைக்கோல் அல்ல. 54 00:03:02,960 --> 00:03:06,200 >> இப்போது, இந்த போலி ஒரு சுத்தமாகவும் விஷயம் இரும தேடல் குறியீடு ஆகிறது அது முடியும் என்று 55 00:03:06,200 --> 00:03:11,000 பங்கேற்பு ஒன்று என விளக்கம் அல்லது சுழல்நிலை செயல்படுத்த. 56 00:03:11,000 --> 00:03:14,900 நீங்கள் என்று நீங்கள் அதை சுழல்நிலை இருக்கும் தேடல் உள்ள தேடல் செயல்பாடு 57 00:03:14,900 --> 00:03:18,400 வரிசை அல்லது அரை செயற்படுகின்றன. 58 00:03:18,400 --> 00:03:20,750 நாம் மறுநிகழ்வு ஒரு பிட் மூடலாம் பின்னர் போக்கில். 59 00:03:20,750 --> 00:03:23,210 ஆனால் அது ஒரு விருப்பத்தை உள்ளது என்று தெரிகிறது நீங்கள் முயற்சி விரும்புகிறேன் என்றால். 60 00:03:23,210 --> 00:03:24,460