1 00:00:00,000 --> 00:00:02,570 [Powered by Google Translate] [பகுதி 3 - மேலும் வசதியான] 2 00:00:02,570 --> 00:00:05,070 [ராப் Bowden - ஹார்வர்ட் பல்கலைக்கழகம்] 3 00:00:05,070 --> 00:00:07,310 >> [இந்த CS50 உள்ளது. - CS50.TV] 4 00:00:07,310 --> 00:00:12,700 >> எனவே முதல் கேள்வி வித்தியாசமாக சொற்களில் எழுதப்பட்ட. 5 00:00:12,700 --> 00:00:17,480 GDB நீங்கள் இன்னும் குறிப்பாக, ஒரு திட்டம் "debug", ஆனால் உதவுகிறது, நீங்கள் என்ன செய்யலாம்? 6 00:00:17,480 --> 00:00:22,590 நான் ஒரு பதில் சொல்கிறேன், நான், சரியாக எதிர்பார்க்கப்படுகிறது என்ன தெரியாது 7 00:00:22,590 --> 00:00:27,910 அதனால் நான் அதை வழிகளில் இது ஏதோ யோசிக்காமல் நான் உன்னை படிப்படியாக உதவுகிறது 8 00:00:27,910 --> 00:00:31,540 அதனுடன், திட்டத்தின் மூலம் நடக்க, மாற்றம் மாறிகள், இதையெல்லாம் செய்ய - 9 00:00:31,540 --> 00:00:34,270 அடிப்படையில் முற்றிலும் ஒரு திட்டத்தை நிறைவேற்றுவது கட்டுப்படுத்த 10 00:00:34,270 --> 00:00:38,410 மற்றும் திட்டம் செயல்படுத்துவதில் எந்த பகுதியை கண்காணிக்கின்றன. 11 00:00:38,410 --> 00:00:43,030 அதனால் அந்த அம்சங்கள் நீங்கள் விஷயங்களை debug நாம். 12 00:00:43,030 --> 00:00:44,830 சரி. 13 00:00:44,830 --> 00:00:50,520 ஏன் இரும தேடல் வரிசை வரிசைப்படுத்தப்பட்ட வேண்டும் என்று அவசியம் இல்லை? 14 00:00:50,520 --> 00:00:53,360 யார் என்று பதிலளிக்க வேண்டும்? 15 00:00:56,120 --> 00:01:00,070 [மாணவர்] அது சரியாகவில்லை செய்திருந்தால் அது வேலை செய்யாது, ஏனென்றால். >> சரி. [சிரிப்பு] 16 00:01:00,070 --> 00:01:04,910 அது சரியாகவில்லை என்றால், அது அரை அதை பிரிக்க முடியாது 17 00:01:04,910 --> 00:01:07,850 மற்றும் இடது என்று எல்லாமே தெரியும் குறைந்த மற்றும் வலது எல்லாம் 18 00:01:07,850 --> 00:01:10,490 நடுத்தர மதிப்பை விட அதிகமாக உள்ளது. 19 00:01:10,490 --> 00:01:12,790 அதை வகைப்படுத்த வேண்டும். 20 00:01:12,790 --> 00:01:14,170 சரி. 21 00:01:14,170 --> 00:01:17,570 ஏன் ஸ்கொயர் n, ஓ உள்ள குமிழி வரிசையாக்கம் என்பது? 22 00:01:17,570 --> 00:01:23,230 யார் முதல் குமிழி வரிசையாக்கம் என்ன ஒரு மிக விரைவான உயர் மட்ட கண்ணோட்டத்தை கொடுக்க வேண்டும்? 23 00:01:25,950 --> 00:01:33,020 [மாணவர்] நீங்கள் அடிப்படையில் ஒவ்வொரு உறுப்பு வழியாக சென்று முதலில் சில கூறுகளை சோதிக்க. 24 00:01:33,020 --> 00:01:37,150 நீங்கள் அவர்களை இடமாற்றம் அங்கு வெளியே என்றால் நீங்கள் அடுத்த சில கூறுகள் மற்றும் பார்க்கிறேன். 25 00:01:37,150 --> 00:01:40,770 நீங்கள் அடையும் போது, நீங்கள் பெரிய உறுப்பு இறுதியில் வைக்கப்படுகிறது என்று, 26 00:01:40,770 --> 00:01:42,750 எனவே, ஒரு நீங்கள் செல்லும் இரு என்று ஒதுக்கிவிட 27 00:01:42,750 --> 00:01:48,490 ஒவ்வொரு முறை நீங்கள் எந்த மாற்றங்களை வரை ஒரு குறைந்த உறுப்பு சரிபார்க்க வேண்டும். >> சரி. 28 00:01:48,490 --> 00:01:58,470 நீங்கள் அதன் பக்கத்தில் வரிசை கவிழ்த்து என்றால் அதை தான் ஏனெனில் இது, குமிழி வரிசையாக்கம் செங்குத்து என 29 00:01:58,470 --> 00:02:03,100 பின்னர் பெரிய மதிப்புகள் கீழே மூழ்கடித்துவிடும் மற்றும் சிறிய மதிப்புகள் மேல் குமிழி வரை நான். 30 00:02:03,100 --> 00:02:05,210 அது அதன் பெயர் வந்தது எப்படி. 31 00:02:05,210 --> 00:02:08,220 மேலும் ஆமாம், நீங்கள் செல்ல. 32 00:02:08,220 --> 00:02:11,190 நீ பெரிய மதிப்பை மாற்ற, வரிசை நடக்கிறது 33 00:02:11,190 --> 00:02:14,040 கீழே பெரிய மதிப்புகள் பெற. 34 00:02:14,040 --> 00:02:17,500 >> ஏன் அதை ஸ்கொயர் n, ஓ இல்லை? 35 00:02:18,690 --> 00:02:24,620 முதல், யாராவது அதை n, ஓ ஸ்கொயர் ஏன் சொல்ல வேண்டும்? 36 00:02:24,620 --> 00:02:28,760 [மாணவர்] ஒவ்வொரு ரன் அதை n முறை சென்று ஏனெனில். 37 00:02:28,760 --> 00:02:32,100 நீங்கள் மட்டுமே, நீங்கள் கீழே மிகப்பெரிய உறுப்பு வழி எடுத்திருப்பார் என்று உறுதி செய்து கொள்ளுங்கள் 38 00:02:32,100 --> 00:02:35,230 நீங்கள் பல கூறுகள் என அந்த மீண்டும் வேண்டும். >> சரி. 39 00:02:35,230 --> 00:02:41,800 இவ்வளவு பெரிய ஓ என்றால் என்ன பெரிய ஒமேகா என்றால் என்ன மனதில் வைத்து. 40 00:02:41,800 --> 00:02:50,560 பெரிய ஓ அது உண்மையில் ரன் எப்படி மெதுவாக மீது தாக இருக்கிறது. 41 00:02:50,560 --> 00:02:58,990 எனவே ஸ்கொயர் n, அது ஓ கூறி, அதை n, ஓ அல்லது வேறு அதனை இயக்க முடியும் 42 00:02:58,990 --> 00:03:02,640 நேரியல் நேரம், ஆனால் அதை n cubed ஓ இல்லை 43 00:03:02,640 --> 00:03:06,390 அதை n cubed ஓ சூழப்பட்டிருக்கிறது ஏனெனில். 44 00:03:06,390 --> 00:03:12,300 அது சரி n, ஓ சூழப்பட்டிருக்கிறது என்றால், பின் அதை n cubed மூலம் மேலும் வரம்புற்றது. 45 00:03:12,300 --> 00:03:20,280 எனவே, ஸ்கொயர் n, மற்றும் மிகவும் மோசமான நிலையில் அதை சரி n விட முடியாது 46 00:03:20,280 --> 00:03:22,830 அது சரி n ஓ அதனால் தான். 47 00:03:22,830 --> 00:03:31,200 எனவே, அதை n ஸ்கொயர் இருக்க வேண்டும், எப்படி வெளியே வருகிறாள் ஓரளவு கணித பார்க்க 48 00:03:31,200 --> 00:03:40,530 எங்கள் பட்டியலில் ஐந்து விஷயங்கள் இருந்தால், முதல் முறையாக எத்தனை பரிமாற்றங்கள் நாம் சாத்தியமான வேண்டும் 49 00:03:40,530 --> 00:03:47,170 இந்த பெறுவதற்காக? அது உண்மையில் விடு - 50 00:03:47,170 --> 00:03:52,040 எத்தனை பரிமாற்றங்கள் நாம் வரிசை மூலம் குமிழி வரிசையாக்கம் முதல் ஓட்ட வேண்டும் போகிறீர்கள்? 51 00:03:52,040 --> 00:03:53,540 [மாணவர்] n - 1. >> சரி. 52 00:03:53,540 --> 00:03:58,340 >> 1 - 5 கூறுகள் உள்ளன என்றால், நாம் n செய்ய வேண்டும் போகிறோம். 53 00:03:58,340 --> 00:04:01,100 பின்னர் இரண்டாவது ஒரு எத்தனை பரிமாற்றங்கள் நாம் செய்ய வேண்டும் போகிறீர்கள்? 54 00:04:01,100 --> 00:04:03,440 [மாணவர்] n - 2. >> சரி. 55 00:04:03,440 --> 00:04:11,640 மற்றும் மூன்றாவது n போகிறது - 3, பின்னர் வசதிக்காக நான் கடந்த இரண்டு எழுத முடியும் 56 00:04:11,640 --> 00:04:15,270 பின்னர் நாம் 2 பரிமாற்றங்கள் மற்றும் 1 இடமாற்று வேண்டும் போகிறோம். 57 00:04:15,270 --> 00:04:19,899 நான் கடந்த ஒன்று அல்லது உண்மையில் நடக்க வேண்டும் இருக்கலாம் என நினைக்கிறேன். 58 00:04:19,899 --> 00:04:22,820 இது ஒரு மாற்று உள்ளது? எனக்கு தெரியாது. 59 00:04:22,820 --> 00:04:26,490 எனவே இந்த மொத்த பரிமாற்றத்தின் அளவு அல்லது நீங்கள் செய்ய வேண்டும் குறைந்தது ஒப்பீடுகள் உள்ளன. 60 00:04:26,490 --> 00:04:29,910 மாற்றிய இல்லையென்றாலும், நீங்கள் இன்னும் மதிப்புகள் ஒப்பிட்டு பார்க்க வேண்டும். 61 00:04:29,910 --> 00:04:33,910 எனவே n உள்ளன - வரிசை மூலம் முதல் ஓட்ட 1 ஒப்பீடுகள். 62 00:04:33,910 --> 00:04:42,050 இந்த விஷயங்களை மறுசீரமைக்க என்றால், விஷயங்களை நன்றாக வரை குவியலாக எனவே உண்மையில் அது ஆறு விஷயங்களை செய்யலாம் 63 00:04:42,050 --> 00:04:44,790 பின்னர் நான், 2, 1 3 செய்வேன். 64 00:04:44,790 --> 00:04:49,910 அதனால் தான் இந்த பணத்தை மீண்டும் வரிசைப்படுத்தும், நாம் எப்படி பல ஒப்பீடுகள் பார்க்க வேண்டும் 65 00:04:49,910 --> 00:04:52,700 முழு வழிமுறைகளில். 66 00:04:52,700 --> 00:04:56,550 நாம் கீழே இங்கே இந்த தோழர்களே கொண்டு இருந்தால், 67 00:04:56,550 --> 00:05:07,470 நாம் இன்னும் தான் இருந்தன எனினும் பல ஒப்பீடுகள் கூட்டலாம். 68 00:05:07,470 --> 00:05:13,280 ஆனால் நாம் தொகையிடும் நாம் தொகையிடும் நாம் தொகையிடும் என்றால், 69 00:05:13,280 --> 00:05:18,130 அது இன்னும் அதே பிரச்சனை தான். நாங்கள் அந்த குறிப்பிட்ட குழுக்கள் தொகை. 70 00:05:18,130 --> 00:05:22,400 >> எனவே இப்போது நாம் 3 n இன் கூட்டலாம். அது 3 n இன் இல்லை. 71 00:05:22,400 --> 00:05:27,650 அது எப்போதும் n / 2 n தான் இருக்க போகிறது. 72 00:05:27,650 --> 00:05:29,430 இங்கு நாம் 6 வேண்டும் நடக்கும். 73 00:05:29,430 --> 00:05:34,830 நாங்கள் 10 விஷயங்கள் இருந்தால், நாம் விஷயங்கள் 5 வெவ்வேறு ஜோடிகள் இந்த குழுப்படுத்துதல் செய்ய 74 00:05:34,830 --> 00:05:37,180 மற்றும் n + n + n + n + n முடிவடையும். 75 00:05:37,180 --> 00:05:45,840 எனவே நீங்கள் எப்போதும் n / 2 n தான் போகிறோம், அதனால் இந்த நாங்கள் n ஸ்கொயர் / 2 அதை எழுதி கொள்கிறேன். 76 00:05:45,840 --> 00:05:48,890 அதனால் அது வந்து நடக்கும் இது அரை காரணி, இருந்தாலும் 77 00:05:48,890 --> 00:05:54,190 வரிசை ஒவ்வொரு மறு செய்கை மூலம் நாம் 1 குறைவான ஒப்பிட்டு உண்மை தான் 78 00:05:54,190 --> 00:05:58,040 அதனால் நாங்கள் 2 முடிந்துவிடும் எப்படி, ஆனால் அது இன்னும் ஸ்கொயர் n உள்ளது. 79 00:05:58,040 --> 00:06:01,650 நாம் ஒரு அரை தொடர்ந்து காரணி பற்றி கவலைப்படவில்லை. 80 00:06:01,650 --> 00:06:07,760 இந்த மாதிரி பெரிய ஓ பொருள் நிறைய கணித இந்த வகையான செய்து வெறும் வகையான நம்பியுள்ளது எனவே, 81 00:06:07,760 --> 00:06:12,260 கணித தொகைகள் மற்றும் பெருக்கு தொடர் விசயங்களை செய்து, 82 00:06:12,260 --> 00:06:17,750 ஆனால் இந்த போக்கை அவர்கள் மிக அழகாக நேரடியான உள்ளன. 83 00:06:17,750 --> 00:06:19,290 சரி. 84 00:06:19,290 --> 00:06:24,430 ஏன் செருகும் வரிசையாக்கம் n, ஒமேகா இருக்கிறது? ஒமேகா என்ன அர்த்தம்? 85 00:06:24,430 --> 00:06:27,730 [ஒரே நேரத்தில் பேசும் இரு மாணவர்கள் - புரிந்து] >> சரி. 86 00:06:27,730 --> 00:06:30,630 Omega நீங்கள் தாழ்வு என நினைக்க முடியாது. 87 00:06:30,630 --> 00:06:36,550 >> எனவே உங்கள் செருகும் வரிசையாக்கம் வழிமுறை எவ்வளவு திறமையான இல்லை, 88 00:06:36,550 --> 00:06:41,810 பொருட்படுத்தாமல் உள்ள நிறைவேற்றியது என்று பட்டியல், அதை எப்போதும் குறைந்தது n பொருட்களை ஒப்பிட்டு உள்ளது 89 00:06:41,810 --> 00:06:44,620 அல்லது அதை n விஷயங்களை பற்றி கூறு உள்ளது. 90 00:06:44,620 --> 00:06:47,280 அது ஏன்? 91 00:06:47,280 --> 00:06:51,190 [மாணவர்] ஏனென்றால் பட்டியல் ஏற்கனவே வரிசையாக்கம் என்றால், பிறகு மூலம் முதல் மறு செய்கை 92 00:06:51,190 --> 00:06:54,080 நீங்கள் மட்டும், முதல் உறுப்பு குறைந்தது என்று உத்தரவாதம் தர முடியும் 93 00:06:54,080 --> 00:06:56,490 இரண்டாவது மறு செய்கை நீங்கள் தான் முதல் இரண்டு உத்தரவாதம் தர முடியும் 94 00:06:56,490 --> 00:07:00,010 நீங்கள் பட்டியல் மற்ற வரிசைப்படுத்தப்பட்ட என்று தெரியாது என்பதால். >> சரி. 95 00:07:00,010 --> 00:07:08,910 நீங்கள் மிகவும் குறைந்தது, முற்றிலும் வரிசைப்படுத்தப்பட்ட பட்டியலில் கடந்து நீங்கள் அனைத்து கூறுகள் மேல் போக வேண்டும் 96 00:07:08,910 --> 00:07:12,180 எதுவும் சுற்றி நகர்ந்து வேண்டும் பார்க்க. 97 00:07:12,180 --> 00:07:14,720 எனவே பட்டியலில் மேல் தேர்ச்சி மற்றும் ஓ, இந்த ஏற்கனவே, வரிசைப்படுத்தப்பட்டுள்ளது என்று 98 00:07:14,720 --> 00:07:18,240 நீங்கள் அதை வரிசையாக்கம் தான் தெரியும் உங்களுக்கு ஒவ்வொரு உறுப்பு சரிபார்த்து வரை அது சாத்தியமில்லை 99 00:07:18,240 --> 00:07:20,660 அவர்கள் வரிசையில் பொருட்டு என்று பார்க்க. 100 00:07:20,660 --> 00:07:25,290 எனவே செருகும் வரிசையாக்கம் மீது எல்லை n, ஒமேகா உள்ளது. 101 00:07:25,290 --> 00:07:28,210 மோசமான, ஒன்றிணைப்பு வகையான நேரம் என்ன இயங்கும் 102 00:07:28,210 --> 00:07:31,390 மோசமான மீண்டும் பெரிய ஓ இருப்பது? 103 00:07:31,390 --> 00:07:37,660 எனவே மோசமான சூழ்நிலையில், ஒன்றிணைப்பு வகையான எப்படி இயங்குகிறது? 104 00:07:42,170 --> 00:07:43,690 [மாணவர்] n log n. >> சரி. 105 00:07:43,690 --> 00:07:49,990 வேகமாக பொது வரிசையாக்க படிமுறைகள் n log n ஆகும். நீங்கள் நன்றாக செய்ய முடியாது. 106 00:07:51,930 --> 00:07:55,130 >> அங்கு சிறப்பு வழக்குகள், மற்றும் நாம் இன்று நேரம் இருந்தால் - ஆனால் நாம் ஒருவேளை won't - 107 00:07:55,130 --> 00:07:59,330 நாம் n log n விட என்று ஒரு பார்க்க முடிந்தது. 108 00:07:59,330 --> 00:08:04,050 ஆனால் பொது வழக்கில், நீங்கள் n log n விட முடியாது. 109 00:08:04,050 --> 00:08:09,680 மற்றும் ஒன்றாக்க வகையான நீ n log n என்று இந்த பாடத்திட்டத்தில் தெரிந்து வேண்டும் ஒன்றாக நடக்கும். 110 00:08:09,680 --> 00:08:13,260 எனவே நாம் உண்மையில் இன்று செயல்படுத்த வேண்டும். 111 00:08:13,260 --> 00:08:18,070 இறுதியாக, மூன்று முறைக்கு மேல் தண்டனை எப்படி தேர்வு வகையான வேலை செய்கிறது? 112 00:08:18,070 --> 00:08:20,370 யாராவது பதில் சொல்ல விரும்பவில்லை, நான் உங்கள் தண்டனை எண்ண வேண்டும் 113 00:08:20,370 --> 00:08:22,390 ஏனெனில் நீங்கள் over 3 சென்றால் - 114 00:08:25,530 --> 00:08:28,330 யாரையும் தேர்வு வகையான நினைவில் இல்லை? 115 00:08:31,280 --> 00:08:37,809 தேர்ந்தெடுக்கும் வரிசையாக்கம் வெறும் பெயர் நினைவில் பொதுவாக மிகவும் எளிது. 116 00:08:37,809 --> 00:08:45,350 நீங்கள் வரிசை பற்றி கூறு, என்ன பெரிய மதிப்பு அல்லது சிறிய கண்டறிய - 117 00:08:45,350 --> 00:08:47,290 நீங்கள் வரிசைப்படுத்த என்ன ஆணை 118 00:08:47,290 --> 00:08:50,750 எனவே நாம் சிறிய இருந்து மிக பெரிய ஒரு வரிசையாக்க நீங்கள் கூறலாம். 119 00:08:50,750 --> 00:08:55,250 நீங்கள், குறைந்தபட்ச உறுப்பு என்ன செய்ய, அணி மீது மீண்டும் கூறு 120 00:08:55,250 --> 00:08:59,750 அதை தேர்ந்தெடுத்து, அதன் பின்னர் முதல் இடத்தில் உள்ளது அதை இடமாற்றம். 121 00:08:59,750 --> 00:09:04,090 பின்னர் அணி மீது இரண்டாவது பாஸ் மீது, மீண்டும் குறைந்தபட்ச உறுப்பு பார்க்க 122 00:09:04,090 --> 00:09:07,490 அதை தேர்ந்தெடுத்து, பின்னர் இரண்டாவது நிலையில் என்ன அது பரிமாறிக்கொள்ளலாம். 123 00:09:07,490 --> 00:09:10,650 நாம் மட்டும் எடுக்கவில்லை மற்றும் குறைந்த மதிப்புகள் தேர்வு 124 00:09:10,650 --> 00:09:16,050 மற்றும் வரிசை முன் அவற்றை சேர்க்கைக்கு அது வரிசைப்படுத்தப்பட்ட வரை. 125 00:09:19,210 --> 00:09:21,560 என்று கேள்விகள்? 126 00:09:21,560 --> 00:09:25,710 >> இந்த தவிர்க்க முடியாத நீங்கள் pset சமர்ப்பிக்கும் போது நிரப்ப வேண்டும் வடிவங்களில் தோன்றும். 127 00:09:29,010 --> 00:09:32,360 அந்த அடிப்படையில் அந்த பதில்கள் உள்ளன. 128 00:09:32,360 --> 00:09:34,230 சரி, இப்ப பிரச்சினைகள் குறியீட்டு. 129 00:09:34,230 --> 00:09:40,140 நான் ஏற்கனவே மின்னஞ்சல் மூலம் அனுப்பிய - யார் அந்த மின்னஞ்சல் கிடைத்ததா இல்லையா? சரி. 130 00:09:40,140 --> 00:09:46,630 நான் ஏற்கனவே, மின்னஞ்சல் வழியாக நாம் பயன்படுத்தி கொள்ள போகிறோம் என்று விண்வெளி அனுப்பிய 131 00:09:46,630 --> 00:09:52,120 நீங்கள் என் பெயரை கிளிக் செய்தால் மற்றும் - அதனால் நான் கீழே போகிறேன் என்று 132 00:09:52,120 --> 00:09:57,170 ஏனெனில் பின்னோக்கி r இன் - என் பெயரை கிளிக் செய்தால் ஆனால் நீங்கள் 2 திருத்தங்கள் பார்க்கிறேன். 133 00:09:57,170 --> 00:10:02,650 திருத்த 1 நான் ஏற்கனவே நகல் மற்றும் இடங்களில் குறியீடு ஒட்டப்படும் போகிறது 134 00:10:02,650 --> 00:10:06,900 தேடல் காரியத்தை நீங்கள் செயல்படுத்த வேண்டும். 135 00:10:06,900 --> 00:10:10,540 மற்றும் திருத்த 2 நாம் பிறகு செயல்படுத்த அது மாதிரி தான் இருக்கும். 136 00:10:10,540 --> 00:10:15,770 நீ என் திருத்த 1 கிளிக் மற்றும் அங்கு இருந்து வேலை செய்ய முடியும். 137 00:10:17,350 --> 00:10:22,060 இப்போது நாம் பைனரி தேடல் செயல்படுத்த வேண்டும். 138 00:10:22,060 --> 00:10:26,470 >> யாராவது ஒரு சூடோகுறியீடு உயர்மட்ட விளக்கம் கொடுக்க வேண்டும் 139 00:10:26,470 --> 00:10:31,440 என்ன நாம் தேடல் செய்ய போகிறது? Yeah. 140 00:10:31,440 --> 00:10:36,170 [மாணவர்] நீங்கள் வரிசைக்கு நடுத்தர எடுத்து நீங்கள் என்ன தேடுகிறீர்கள் என்பதை பார்க்க 141 00:10:36,170 --> 00:10:38,650 அந்த குறைவான அல்லது அதிகமாக உள்ளது. 142 00:10:38,650 --> 00:10:41,080 அது குறைவாக இருந்தால், நீங்கள், குறைந்த என்று அரை சென்று 143 00:10:41,080 --> 00:10:44,750 அது இருந்தால், நீங்கள் இன்னும் அந்த அரை சென்று நீங்கள் மீண்டும் அந்த நீ ஒன்று கிடைக்கும் வரை. 144 00:10:44,750 --> 00:10:46,570 [Bowden] சரி. 145 00:10:46,570 --> 00:10:51,320 எங்கள் எண்கள் வரிசையில் ஏற்கனவே வரிசையாக்கம் என்று பாருங்கள், 146 00:10:51,320 --> 00:10:57,190 மற்றும் அதனால், நாம் அந்த பயன்படுத்தி கொள்ள முடியும் மற்றும் நாம் முதலில் பார்க்க முடியும் என்று அர்த்தம் 147 00:10:57,190 --> 00:11:00,390 சரி, நான் பல 50 தேடிக்கொண்டிருக்கிறேன். 148 00:11:00,390 --> 00:11:03,720 நான் நடுத்தர போக முடியாது. 149 00:11:03,720 --> 00:11:07,380 நடுத்தர, அதை விஷயங்கள் கூட பல போது வரையறுக்க கடினமான 150 00:11:07,380 --> 00:11:10,820 ஆனால் நாங்கள் எப்போதும் நடுத்தர செய்ய துண்டி வேண்டும் என்று நாம். 151 00:11:10,820 --> 00:11:14,420 இங்கு நாம் 8 விஷயங்கள் இருக்கிறது, அதனால், நடுத்தர 16 இருக்கும். 152 00:11:14,420 --> 00:11:17,330 நான் 50 தேடிக்கொண்டிருக்கிறேன், அதனால் 50 16 விட அதிகமாக உள்ளது. 153 00:11:17,330 --> 00:11:21,310 எனவே இப்போது நான் அடிப்படையில் இந்த உறுப்புகள் என் வரிசை சிகிச்சையளிக்க முடியும். 154 00:11:21,310 --> 00:11:23,450 நான் 16 க்கும் மேற்பட்ட எல்லாம் எறியுங்கள் முடியும். 155 00:11:23,450 --> 00:11:27,440 இப்போது என் வரிசை தான் இந்த 4 கூறுகள் இல்லை, நான் மீண்டும். 156 00:11:27,440 --> 00:11:31,910 எனவே நான் மீண்டும் நடுத்தர கண்டறிய வேண்டும், இது 42 ஆக போகிறது. 157 00:11:31,910 --> 00:11:34,730 42 50 குறைவாக உள்ளது, அதனால் நான் இந்த இரண்டு கூறுகள் எறியுங்கள் முடியும். 158 00:11:34,730 --> 00:11:36,890 இந்த என் மீதமுள்ள வரிசை ஆகும். 159 00:11:36,890 --> 00:11:38,430 நான் மீண்டும் நடுத்தர காண போகிறேன். 160 00:11:38,430 --> 00:11:42,100 நான் எப்போதும் இடது விஷயங்களை விட்டு எறிந்து ஏனெனில் நான், 50 ஒரு கெட்ட முன் உதாரணம் என்று நினைக்கிறேன் 161 00:11:42,100 --> 00:11:48,280 ஆனால் அதே நடவடிக்கை மூலம், நான் ஏதோ தேடிக்கொண்டிருக்கிறேன் 162 00:11:48,280 --> 00:11:52,100 அது, நான் தற்போது பார்த்துக்கொண்டிருக்கிறேன் உறுப்பு க்கும் குறைவான 163 00:11:52,100 --> 00:11:55,080 பிறகு நான் எல்லாவற்றையும் எறியுங்கள் போகிறேன். 164 00:11:55,080 --> 00:11:58,150 எனவே இப்போது நாம் செயல்படுத்த வேண்டும். 165 00:11:58,150 --> 00:12:02,310 நாம் அளவு கடந்து செல்ல வேண்டும் என்பதை கவனியுங்கள். 166 00:12:02,310 --> 00:12:06,730 நாங்கள் கடுமையாக குறியீடு அளவு வேண்டும் முடியாது. 167 00:12:06,730 --> 00:12:11,640 நாங்கள் வெளியே இருந்தால் # வரையறுக்க - 168 00:12:19,630 --> 00:12:21,430 சரி. 169 00:12:21,430 --> 00:12:27,180 எப்படி நான் நன்றாக எண்கள் வரிசை அளவு தற்போது என்ன கண்டுபிடிக்க முடியும்? 170 00:12:27,180 --> 00:12:30,950 >> எண்கள் வரிசையில் எப்படி பல உறுப்புகள்? 171 00:12:30,950 --> 00:12:33,630 [மாணவர்] எண்கள், அடைப்புக்குறிக்குள். நீளம்? 172 00:12:33,630 --> 00:12:36,600 [Bowden] சி தான் இல்லை 173 00:12:36,600 --> 00:12:38,580 வேண்டும். நீளம். 174 00:12:38,580 --> 00:12:42,010 வரிசைகள் பண்புகள் இல்லை, வரிசைகள் எந்த நீளம் சொத்து உள்ளது எனவே 175 00:12:42,010 --> 00:12:45,650 என்று தான் அது நடக்கும் நீ இருப்பினும் நீண்ட கொடுக்கும். 176 00:12:48,180 --> 00:12:51,620 [மாணவர்] அது எவ்வளவு நினைவகம் பாருங்கள் எவ்வளவு பிரித்து - >> சரி. 177 00:12:51,620 --> 00:12:55,810 எனவே நாம் எவ்வளவு நினைவகம் பார்க்க முடியும்? >> [மாணவர்] Sizeof. >> சரி, sizeof. 178 00:12:55,810 --> 00:13:01,680 Sizeof எண்கள் வரிசை அளவு திரும்ப நடக்கிறது என்று ஆபரேட்டர் உள்ளது. 179 00:13:01,680 --> 00:13:10,060 மற்றும் இருப்பினும் பல முழு இருக்க போகிறது என்று முறை ஒரு முழு அளவு உள்ளன 180 00:13:10,060 --> 00:13:14,050 அது உண்மையில் செல்கிறாள் எவ்வளவு நினைவகம் என்பதால். 181 00:13:14,050 --> 00:13:17,630 நான் வரிசையில் விஷயங்களை எண்ணிக்கை வேண்டும் என்றால், 182 00:13:17,630 --> 00:13:20,560 நான் ஒரு முழு அளவு மூலம் பிரித்து வேண்டும் போகிறேன். 183 00:13:22,820 --> 00:13:26,010 சரி. அதனால் என்னை இங்கே அளவு கடந்து உதவுகிறது. 184 00:13:26,010 --> 00:13:29,430 ஏன் எனக்கு அளவு கடந்து செல்ல வேண்டும்? 185 00:13:29,430 --> 00:13:38,570 ஏன் நான் எண்ணாக அளவு இங்கு செய்ய முடியாது = sizeof (haystack) / sizeof (int)? 186 00:13:38,570 --> 00:13:41,490 ஏன் இந்த வேலை இல்லை? 187 00:13:41,490 --> 00:13:44,470 [மாணவர்] இது ஒரு உலகளாவிய மாறி இல்லை. 188 00:13:44,470 --> 00:13:51,540 , [Bowden] Haystack உள்ளது மற்றும் நாம் haystack போன்ற எண்கள் கடந்து செல்லும் என்று 189 00:13:51,540 --> 00:13:54,700 இந்த ஒரு வர என்ன என்ற foreshadowing வகையாக. Yeah. 190 00:13:54,700 --> 00:14:00,170 [மாணவர்] Haystack அதை பற்றிய குறிப்பு உள்ளது, அது அந்த குறிப்பு எவ்வளவு பெரிய திரும்ப வேண்டும். 191 00:14:00,170 --> 00:14:02,150 Yeah. 192 00:14:02,150 --> 00:14:09,000 நான் உண்மையில், சரியான இன்னும் ஸ்டேக் பார்த்துள்ளேன் என்று விரிவுரையில் சந்தேகம்? 193 00:14:09,000 --> 00:14:11,270 நாம் அதை பற்றி பேசியிருக்கிறேன். 194 00:14:11,270 --> 00:14:16,090 உங்கள் மாறிகள் அனைத்து சேமித்து எங்கு எனவே ஸ்டாக் இல்லை. 195 00:14:16,090 --> 00:14:19,960 >> உள்ளூர் மாறிகள் ஒதுக்கீடு என்று எந்த நினைவகம், ஸ்டாக் போகிறாள் 196 00:14:19,960 --> 00:14:24,790 ஒவ்வொரு செயல்பாடு ஸ்டேக் அதன் சொந்த இடம் பெறுகிறார், அதன் சொந்த ஸ்டாக் சட்டகமானது இது என்று என்ன இருக்கிறது. 197 00:14:24,790 --> 00:14:31,590 எனவே பிரதான அதன் ஸ்டாக் சட்டகமானது உள்ளது, மற்றும் உள்ளே அது, இந்த எண்கள் வரிசையில் உள்ளன போகிறது 198 00:14:31,590 --> 00:14:34,270 அதை அளவு sizeof (எண்கள்) இருக்கும் நடக்கிறது. 199 00:14:34,270 --> 00:14:38,180 இது, தனிமங்களின் அளவு பிரிக்கப்பட்ட எண்கள் அளவு வேண்டும் நடக்கிறது 200 00:14:38,180 --> 00:14:42,010 ஆனால் முக்கிய ஸ்டாக் சட்டகமானது அனைத்து உயிர்களை என்று. 201 00:14:42,010 --> 00:14:45,190 நாம் தேடல் அழைக்க போது, தேடல், அதன் சொந்த ஸ்டாக் சட்டகமானது பெறுகிறார் 202 00:14:45,190 --> 00:14:48,840 அதன் சொந்த இடத்தில் அதன் உள்ளூர் மாறிகள் அனைத்து சேமிக்க. 203 00:14:48,840 --> 00:14:56,420 ஆனால் இந்த வாதங்கள் - அதனால் haystack இந்த முழு வரிசையில் நகலை அல்ல. 204 00:14:56,420 --> 00:15:00,990 நாம் தேடல் ஒரு நகல் முழு வரிசையில் கடக்க வேண்டாம். 205 00:15:00,990 --> 00:15:04,030 இது அந்த அணி ஒரு குறிப்பு செல்கிறது. 206 00:15:04,030 --> 00:15:11,470 எனவே தேடல் இந்த குறிப்பு மூலம் இந்த எண்களை அணுகலாம். 207 00:15:11,470 --> 00:15:17,100 இன்னும், முக்கிய ஸ்டாக் சட்டகமானது உள்ளே வாழும் விஷயங்களை அணுகும் 208 00:15:17,100 --> 00:15:22,990 ஆனால் அடிப்படையில், நாம் சுட்டிகள் கிடைக்கும் போது, அது, விரைவில் வேண்டும் 209 00:15:22,990 --> 00:15:24,980 இந்த குறிப்புகள் உள்ளன என்ன. 210 00:15:24,980 --> 00:15:29,400 சுட்டிகள் மட்டும் விஷயங்கள் பற்றிய குறிப்புகள் உள்ளன, நீங்கள் விஷயங்களை அணுக சுட்டிகள் பயன்படுத்தலாம் 211 00:15:29,400 --> 00:15:32,030 மற்ற விஷயங்கள் 'ஸ்டாக் பிரேம்கள் உள்ளன. 212 00:15:32,030 --> 00:15:37,660 எண்கள் முக்கிய உள்ளூர் என்பது கூட அதனால், நாம் இன்னும் இந்த சுட்டிக்காட்டி மூலம் அணுக முடியும். 213 00:15:37,660 --> 00:15:41,770 ஆனால் அது ஒரு சுட்டிக்காட்டி மற்றும் அது ஒரு குறிப்பு என்பதால், 214 00:15:41,770 --> 00:15:45,040 sizeof (haystack) ஒரு குறிப்பு தன்னை அளவு கொடுக்கிறது. 215 00:15:45,040 --> 00:15:47,950 அது சுட்டி காட்டும் விஷயம் அளவு தராது. 216 00:15:47,950 --> 00:15:51,110 அது எண்கள் உண்மையான அளவு தராது. 217 00:15:51,110 --> 00:15:55,660 நாம் அது வேண்டும், மேலும் இந்த வேலை செய்ய போவதில்லை. 218 00:15:55,660 --> 00:15:57,320 >> என்று கேள்விகள்? 219 00:15:57,320 --> 00:16:03,250 சுட்டிகள் வரும் வாரங்களில் குறிப்பிடத்தக்க அளவு இன்னும் கோரமான விவரம் சென்று. 220 00:16:06,750 --> 00:16:13,740 ஏன் என்று விஷயங்கள், பெரும்பாலான தேடல் விஷயங்கள் அல்லது வகையான நிறைய விஷயங்கள், மற்றும் இந்த 221 00:16:13,740 --> 00:16:16,990 அவர்கள் கிட்டத்தட்ட அனைத்து, வரிசை உண்மையான அளவு எடுக்க வேண்டும் போகிறாய் 222 00:16:16,990 --> 00:16:20,440 சி ஏனெனில், நாம் வரிசை அளவு என்ன தெரியாது. 223 00:16:20,440 --> 00:16:22,720 நீங்கள் கைமுறையாக உள்ளே அனுப்ப வேண்டும் 224 00:16:22,720 --> 00:16:27,190 நீங்கள் மேற்கோள் கடந்து செல்லும் நீங்கள், ஏனெனில் நீங்கள் கைமுறையாக முழு வரிசையில் கடக்க முடியாது 225 00:16:27,190 --> 00:16:30,390 அதை மேற்கோள் இருந்து அளவு முடியாது. 226 00:16:30,390 --> 00:16:32,300 சரி. 227 00:16:32,300 --> 00:16:38,160 எனவே இப்போது நாம் முன் விளக்கினார் என்ன செயல்படுத்த வேண்டும். 228 00:16:38,160 --> 00:16:41,530 நீங்கள், ஒரு நிமிடம் வேலை செய்யலாம் 229 00:16:41,530 --> 00:16:45,250 நீங்கள் எல்லாம் செய்தபின் 100% வேலை கவலைப்பட தேவையில்லை. 230 00:16:45,250 --> 00:16:51,410 உங்களுக்கு வேலை வேண்டும் என்று எப்படி அரை சூடோகுறியீடு வரை எழுத. 231 00:16:52,000 --> 00:16:53,630 சரி. 232 00:16:53,630 --> 00:16:56,350 முழுமையாக இன்னும் இந்த செய்திருக்க வேண்டும். 233 00:16:56,350 --> 00:17:02,380 ஆனால் யார், அவர்கள் இதுவரை என்ன என்று கருதினால் 234 00:17:02,380 --> 00:17:05,599 ஒன்று போல் நாம் ஒன்றாக வேலை செய்யலாம்? 235 00:17:05,599 --> 00:17:09,690 யாராவது தானாகவே முன்வந்து வேண்டும்? அல்லது நான் தோராயமாக எடுத்துக்கொள்வேன். 236 00:17:12,680 --> 00:17:18,599 அது சரி, எந்த நடவடிக்கை ஆனால் நாம் ஒரு வேலை நிலைக்கு மாற்ற முடியும் வேறு ஏதேனும் இருக்க வேண்டும் இல்லை. 237 00:17:18,599 --> 00:17:20,720 [மாணவர்] நிச்சயமாக. சரி >>. 238 00:17:20,720 --> 00:17:27,220 எனவே நீங்கள் கொஞ்சம் சேமி ஐகானை கிளிக் செய்வதன் மூலம் திருத்தம் சேமிக்க முடியும். 239 00:17:27,220 --> 00:17:29,950 நீங்கள் சொல்வது சரி, ரம்யா நீங்கள்? >> [மாணவர்] சரி. >> [Bowden] சரி. 240 00:17:29,950 --> 00:17:35,140 எனவே இப்போது நான் உங்கள் திருத்தம் பார்க்கலாம் மற்றும் அனைவருக்கும் திருத்தம் கவனித்து கொள்ளலாம். 241 00:17:35,140 --> 00:17:38,600 இங்கு நாம் - சரி. 242 00:17:38,600 --> 00:17:43,160 எனவே ரம்யா நிச்சயமாக சரியான தீர்வு என்பது சுழல்நிலை தீர்வு உடன் சென்றார். 243 00:17:43,160 --> 00:17:44,970 இந்த பிரச்சனை செய்ய இரண்டு வழிகள் உள்ளன. 244 00:17:44,970 --> 00:17:48,060 நீங்கள் பல் செயலாற்றலாலோ அல்லது மீண்டும் மீண்டும் அதை செய்ய முடியும். 245 00:17:48,060 --> 00:17:53,860 நீங்கள் மீண்டும் மீண்டும் செய்ய முடியும் என்று எதிர்கொள்ளும் மிக பிரச்சினைகளை மேலும் செயலாற்றலாலோ செய்ய முடியும். 246 00:17:53,860 --> 00:17:58,510 இங்கு நாம் மீண்டும் மீண்டும் செய்துவிட்டேன். 247 00:17:58,510 --> 00:18:03,730 >> யாரோ ஒரு செயல்பாடு சுழல்நிலை செய்ய என்றால் என்ன வரையறுக்க வேண்டும்? 248 00:18:07,210 --> 00:18:08,920 [மாணவர்] நீங்கள் ஒரு செயல்பாடு இருக்கும் போது தன்னை அழைக்க 249 00:18:08,920 --> 00:18:13,470 இது உண்மை உண்மை வெளியே வரும் வரை, பின்னர் தன்னை அழைக்க. >> சரி. 250 00:18:13,470 --> 00:18:17,680 ஒரு சுழல்நிலை செயல்பாடு தான் தன்னை அழைக்கும் ஒரு செயல்பாடு ஆகும். 251 00:18:17,680 --> 00:18:24,140 ஒரு சுழல்நிலை செயல்பாடு இருக்க வேண்டும் என்று மூன்று பெரிய விஷயங்கள் உள்ளன. 252 00:18:24,140 --> 00:18:27,310 முதல் வெளிப்படையாக, அது தன்னை அழைப்பு விடுத்துள்ளது. 253 00:18:27,310 --> 00:18:29,650 இரண்டாவது அடிப்படை விஷயம். 254 00:18:29,650 --> 00:18:33,390 அதனால் சில புள்ளியில் சார்பின், தன்னை அழைத்து நிறுத்த வேண்டும் 255 00:18:33,390 --> 00:18:35,610 அந்த அடிப்படை வழக்கு என்ன ஆகும். 256 00:18:35,610 --> 00:18:43,860 இங்கு நாம் நிறுத்த வேண்டும் என்று, நாம் தேடி கொடுக்க வேண்டும் 257 00:18:43,860 --> 00:18:48,150 தொடக்க இறுதியில் சமமாக போது - நாம் அர்த்தம் என்ன போகலாம். 258 00:18:48,150 --> 00:18:52,130 ஆனால் இறுதியாக, சூத்திர செயல்பாடுகளுக்கு முக்கியம் என்று கடந்த விஷயம்: 259 00:18:52,130 --> 00:18:59,250 செயல்பாடுகளை எப்படியோ அடிப்படை வழக்கு அணுக வேண்டும். 260 00:18:59,250 --> 00:19:04,140 நீங்கள் இரண்டாவது சுழல்நிலை அழைப்பை போது நீங்கள் உண்மையில் எதையும் மேம்படுத்தும் இல்லை என்றால் போல், 261 00:19:04,140 --> 00:19:07,880 நீங்கள் உண்மையில் வெறும் அதே வாதங்களை மீண்டும் செயல்பாடு நினைத்தீர்கள் என்றால் 262 00:19:07,880 --> 00:19:10,130 எந்த உலக மாறிகள், மாற்றம் அல்லது ஏதாவது 263 00:19:10,130 --> 00:19:14,430 நீங்கள், அடிப்படை வழக்கு அடைய முடியாது இதில் அந்த மோசம் இல்லை. 264 00:19:14,430 --> 00:19:17,950 இது ஒரு முடிவிலா மறுநிகழ்வு மற்றும் ஒரு அடுக்கு வழிதல் இருக்கும். 265 00:19:17,950 --> 00:19:24,330 ஆனால் இங்கே நாம், நாம் தொடங்க + இறுதியில் / 2 மேம்படுத்தும் என்பதால் மேம்படுத்தல் நடக்கிறது என்று பார்க்க 266 00:19:24,330 --> 00:19:28,180 நாம் இங்கே தொடக்க வாதம் மேம்படுத்தும் நீங்கள், இங்கே இறுதி வாதம் மேம்படுத்தும். 267 00:19:28,180 --> 00:19:32,860 எனவே அனைத்து சுழல்நிலை அழைப்புகளை நாம் ஏதாவது மேம்படுத்தும். சரி. 268 00:19:32,860 --> 00:19:38,110 உங்கள் தீர்வு மூலம் நாம் நடக்க வேண்டும்? >> என்று. 269 00:19:38,110 --> 00:19:44,270 நான் ஒவ்வொரு முறையும் நான் இந்த விழாவில் அழைப்பை என்று SearchHelp பயன்படுத்தி 270 00:19:44,270 --> 00:19:47,910 நான் வரிசையில் தேடிக்கொண்டிருக்கிறேன் எங்கு தொடக்க மற்றும் முடிவு இல்லை 271 00:19:47,910 --> 00:19:49,380 அங்கு நான் வரிசை பார்த்துக்கொண்டிருக்கிறேன். 272 00:19:49,380 --> 00:19:55,330 >> அது தொடக்கத்தில் இது நடுத்தர உறுப்பு + இறுதியில் / 2 என்றான் எங்கே ஒவ்வொரு அடியிலும், 273 00:19:55,330 --> 00:19:58,850 என்று நாம் தேடும் என்ன சமமாக இருக்கும்? 274 00:19:58,850 --> 00:20:04,650 அது இருந்தால் மற்றும், நாம் அதை கண்டு, நான் மறுநிகழ்வு அளவுகள் வரை ஆகிவிடும் என்று நினைக்கிறேன். 275 00:20:04,650 --> 00:20:12,540 அது உண்மை இல்லை என்றால், நாம், வரிசைக்கு என்று நடுத்தர மதிப்பு மிக பெரிய என்பதை சரிபார்த்து 276 00:20:12,540 --> 00:20:19,320 வழக்கு இதில் நாம் தொடக்கத்தில் இருந்து நடுத்தர குறியீட்டு சென்று அணியின் இடது பாதி பாருங்கள். 277 00:20:19,320 --> 00:20:22,710 மற்றபடி நாம் இறுதியில் அரை செய்ய. 278 00:20:22,710 --> 00:20:24,740 [Bowden] சரி. 279 00:20:24,740 --> 00:20:27,730 அது நன்றாக இருக்கிறதே. 280 00:20:27,730 --> 00:20:36,640 சரி, ஒரு ஜோடி விஷயங்களை மிக, மற்றும் உண்மையில், இந்த ஒரு மிக உயர் மட்ட விஷயம் 281 00:20:36,640 --> 00:20:41,270 என்று நீங்கள் இந்த பாடத்திட்டத்தில் தெரிந்து கொள்ள வேண்டும், ஆனால், அது உண்மை தான். 282 00:20:41,270 --> 00:20:46,080 சுழல்நிலை செயல்பாடுகள், நீங்கள் எப்போதும் அவர்கள் ஒரு கெட்ட ஒப்பந்தம் என்று கேட்க 283 00:20:46,080 --> 00:20:51,160 நீங்கள் மீண்டும் மீண்டும் உங்களை பல முறை அழைப்பு என்றால், நீங்கள் ஸ்டேக் வழிதல் பெறுகின்றனர் 284 00:20:51,160 --> 00:20:54,990 நான் முன்பு கூறியது போல் இருந்து, ஒவ்வொரு செயல்பாடு அதன் சொந்த ஸ்டாக் சட்டகமானது பெறுகிறார். 285 00:20:54,990 --> 00:20:59,500 எனவே சுழல்நிலை செயல்பாடு ஒவ்வொரு அழைப்பு அதன் சொந்த ஸ்டாக் சட்டகமானது பெறுகிறார். 286 00:20:59,500 --> 00:21:04,140 நீங்கள் 1,000 சுழல்நிலை அழைப்புகளை அதனால், நீங்கள், 1,000 அடுக்கு பிரேம்கள் கிடைக்கும் 287 00:21:04,140 --> 00:21:08,390 விரைவில் நீங்கள் பல அடுக்கு பிரேம்கள் மற்றும் பொருட்களை மட்டும் உடைத்து கொண்டு வழிவகுக்கும். 288 00:21:08,390 --> 00:21:13,480 சுழல்நிலை செயல்பாடுகளை பொதுவாக மோசமாக உள்ளது அதனால் தான். 289 00:21:13,480 --> 00:21:19,370 ஆனால் சுழல்நிலை செயல்பாடுகளை நல்ல துணைக்குழு, வால்-சுழல்நிலை செயல்பாடுகளை அங்கு அழைக்கப்படுகிறது 290 00:21:19,370 --> 00:21:26,120 இந்த தொகுப்பி இந்த கவனிக்கிறார் என்றால் அங்கு ஒரு உதாரணம் இருக்க நடக்கிறது 291 00:21:26,120 --> 00:21:29,920 அது வேண்டும், நான் நினைக்கிறேன் - கணகண வென்ற சப்தம் நீங்கள் அதை O2 கொடி அனுப்ப வேண்டும் 292 00:21:29,920 --> 00:21:33,250 அது இந்த வால் மீண்டும் மீண்டும் இடம்பெறுவது கவனிக்கும் மற்றும் பொருட்களை நல்ல செய்ய. 293 00:21:33,250 --> 00:21:40,050 >> ஒவ்வொரு சுழல்நிலை அழைப்பு மீண்டும் மேல் மற்றும் அதே ஸ்டாக் சட்டகமானது மீண்டும். 294 00:21:40,050 --> 00:21:47,010 அதே ஸ்டாக் சட்டகமானது பயன்படுத்தும் முதல் மற்றும், நீங்கள் கவலைப்பட தேவையில்லை 295 00:21:47,010 --> 00:21:51,690 நீங்கள் முன்பு சொன்னது போல் எப்போதும், நிரம்பி வழிகிறது குவியலாக, மற்றும் அதே நேரத்தில், 296 00:21:51,690 --> 00:21:56,380 நீங்கள் உண்மை திரும்பி அங்கு ஒரு முறை, அது இந்த ஸ்டேக் சட்டங்கள் அனைத்தையும் திரும்ப வேண்டும் 297 00:21:56,380 --> 00:22:01,740 மற்றும் SearchHelp 9 திரும்ப வேண்டும் என்று 10 வது அழைப்பு, 8 திரும்ப உள்ளது. 298 00:22:01,740 --> 00:22:05,360 அதனால் செயல்பாடுகளை வால் சுழல்நிலை போது நடக்கும் தேவையில்லை. 299 00:22:05,360 --> 00:22:13,740 அதனால் என்ன, இந்த செயல்பாடு வால் சுழல்நிலை செய்கிறது அறிவிப்பு என்று searchHelp எந்த கொடுக்கப்பட்ட அழைப்பிற்கு 300 00:22:13,740 --> 00:22:18,470 அதை அந்த சுழல்நிலை அழைப்பு அது திரும்பி என்ன ஆகும். 301 00:22:18,470 --> 00:22:25,290 எனவே SearchHelp முதல் அழைப்பு, நாம் ஒன்று உடனடியாக, தவறான திரும்ப 302 00:22:25,290 --> 00:22:29,590 உடனடியாக உண்மை திரும்பி, அல்லது நாம் SearchHelp ஒரு சுழல்நிலை அழைப்பை 303 00:22:29,590 --> 00:22:33,810 என்ன நாம் திருப்பி கொடுக்கிறோம் என்று அழைப்பு திரும்பி என்ன எங்கே. 304 00:22:33,810 --> 00:22:51,560 நாம் int x = SearchHelp, மீண்டும் x * 2 போன்ற ஏதாவது செய்தால் நாங்கள், இதை செய்ய முடியவில்லை 305 00:22:51,560 --> 00:22:55,440 சில சீரற்ற மாற்றம். 306 00:22:55,440 --> 00:23:01,470 >> எனவே இப்போது இந்த சுழல்நிலை அழைப்பு, இந்த int x = SearchHelp சுழல்நிலை அழைப்பு, 307 00:23:01,470 --> 00:23:05,740 அது உண்மையில் திரும்ப வேண்டும் ஏனெனில் வால் இனி மீண்டும் மீண்டும் இடம்பெறுவது 308 00:23:05,740 --> 00:23:10,400 மீண்டும் ஒரு முந்தைய அடுக்கு சட்ட அதனால் செயல்பாடு என்று முந்தைய அழைப்பு 309 00:23:10,400 --> 00:23:13,040 பின்னர் மீண்டும் மதிப்பு ஏதாவது செய்ய முடியும். 310 00:23:13,040 --> 00:23:22,190 இந்த வால் சுழல்நிலை அல்ல, ஆனால் நன்றாக வால் சுழல்நிலை முன் நாம் என்ன. Yeah. 311 00:23:22,190 --> 00:23:27,000 [மாணவர்] இரண்டாவது தளம் வழக்கில் முதல் சோதிக்க 312 00:23:27,000 --> 00:23:30,640 நீங்கள் வாதம் கடந்து அங்கு ஒரு சூழ்நிலை இருக்க முடியாது, ஏனெனில் 313 00:23:30,640 --> 00:23:35,770 நீங்கள் = இறுதியில் துவங்க வேண்டும், ஆனால் அவர்கள் ஊசி மதிப்பு இருக்கும். 314 00:23:35,770 --> 00:23:47,310 இறுதியில் ஊசி மதிப்பு எங்கே கேள்வி நாம் வழக்கில் இயக்க முடியாது 315 00:23:47,310 --> 00:23:52,000 அல்லது = இறுதியில் துவங்க, சரியான, = இறுதியில் தொடங்கும் 316 00:23:52,000 --> 00:23:59,480 நீங்கள் உண்மையில், இன்னும் குறிப்பிட்ட மதிப்பு சரி இல்லை 317 00:23:59,480 --> 00:24:03,910 பின்னர் + இறுதியில் / 2 துவக்க தான் மதிப்பு இருக்க போகிறது. 318 00:24:03,910 --> 00:24:07,890 ஆனால் நாங்கள் ஏற்கனவே தவறான மீண்டும் நாங்கள் உண்மையில் மதிப்பு சரி இல்லை. 319 00:24:07,890 --> 00:24:14,240 அளவு 0 இருந்தால் மிகவும் குறைந்தது, முதல் அழைப்பில், நாம் தவறான திரும்ப வேண்டும். 320 00:24:14,240 --> 00:24:17,710 அளவு 1 இருந்தால் ஆனால், பின்னர் தொடக்கத்தில், சம இறுதியில் போவதில்லை 321 00:24:17,710 --> 00:24:19,820 நாம் குறைந்தபட்சம் ஒரு உறுப்பு பார்க்கிறேன். 322 00:24:19,820 --> 00:24:26,750 ஆனால் நான், நீங்கள் + இறுதியில் / 2 துவக்க எங்கே நாம் ஒரு வழக்கு முடிவுக்கு முடியாது என்று தான் நினைக்கிறேன் 323 00:24:26,750 --> 00:24:31,190 தொடக்கத்தில், இந்த தொடக்க + இறுதியில் / 2 அதே இருப்பது முடிவடைகிறது 324 00:24:31,190 --> 00:24:35,350 ஆனால் நாம் உண்மையில் அந்த உறுப்பு சோதிக்கப்பட்டது. 325 00:24:35,350 --> 00:24:44,740 >> எனவே நாம் முதலில் பார்க்க வேண்டும் நடுத்தர உறுப்பு, நாம் தேடும் மதிப்பு 326 00:24:44,740 --> 00:24:47,110 நாம் உடனடியாக உண்மை திரும்ப முடியும். 327 00:24:47,110 --> 00:24:50,740 அவர்கள் சம நீங்கள் வேறு என்றால், பின் தொடர்ந்து எந்த பிரயோஜனமும் இல்லை 328 00:24:50,740 --> 00:24:58,440 நாம் இப்போது நாங்கள் ஒரு ஒற்றை உறுப்பு வரிசை இருக்கும் ஒரு வழக்கு மேம்படுத்த போகிறோம் இருந்து. 329 00:24:58,440 --> 00:25:01,110 , என்று ஒற்றை உறுப்பு நாம் தேடும் ஒரு இருந்தால் 330 00:25:01,110 --> 00:25:03,530 பிறகு எல்லாம் தவறு. Yeah. 331 00:25:03,530 --> 00:25:08,900 [மாணவர்] ஒன்று, அளவு முதல் வரிசையில் உறுப்புகள் எண்ணிக்கையை விட உண்மையில் பெரிய உள்ளது 332 00:25:08,900 --> 00:25:13,070 ஒரு OFFSET ஏற்கனவே உள்ளது - >> எனவே அளவு நான் - 333 00:25:13,070 --> 00:25:19,380 [மாணவர்] வரிசை அளவு 0 இருந்தால் சொல்லுங்கள், பிறகு SearchHelp உண்மையில் 0 haystack பார்க்கும் 334 00:25:19,380 --> 00:25:21,490 முதல் அழைப்பை. 335 00:25:21,490 --> 00:25:25,300 >> சரி - வரிசை அளவு 0 உண்டு, 0 ஆக. 336 00:25:25,300 --> 00:25:30,750 மற்றொரு விஷயம் - அது நன்றாக இருக்கும். நாம் யோசிக்கலாம். 337 00:25:30,750 --> 00:25:40,120 வரிசை 10 கூறுகளை கொண்டு நாம் பார்க்க போகிறோம் நடுத்தர ஒரு குறியீட்டு 5, அதனால் நீங்கள் 338 00:25:40,120 --> 00:25:45,700 எனவே 5 பரிசீலித்துக்கொண்டிருக்கிறோம், மற்றும் மதிப்பு குறைவு என்று நாம். 339 00:25:45,700 --> 00:25:50,720 எனவே 5 முதல் அனைத்தையும் எறிந்து. 340 00:25:50,720 --> 00:25:54,030 எனவே இறுதியில் / 2 எங்கள் புதிய இறுதியில் போகிறது + தொடங்க, 341 00:25:54,030 --> 00:25:57,450 ஆமாம், அதனால், அது எப்போதும் அணி இறுதியில் அப்பால் இருக்க நடக்கிறது. 342 00:25:57,450 --> 00:26:03,570 அது கூட அல்லது ஒற்றைப்படை இருந்தால் அதை ஒரு வழக்கு இருந்தால், நாம், என்ன, 4 சரிபார்க்க வேண்டும் 343 00:26:03,570 --> 00:26:05,770 ஆனால் நாம் இன்னும் தள்ளுகிறாய் - 344 00:26:05,770 --> 00:26:13,500 ஆமாம், அதனால், இறுதியில் எப்போதும் அணியின் உண்மையான இறுதியில் அப்பால் இருக்கும். 345 00:26:13,500 --> 00:26:18,350 நாம் கவனம் செலுத்துவதற்கு இன்னும் கூறுகள் மிக, இறுதியில் எப்போதும் பின் ஒன்றாக இருக்க போகிறது. 346 00:26:18,350 --> 00:26:24,270 தொடக்க எப்போதும் சமமாக இறுதியில் செய்தால் அதனால், நாம் அளவு 0 அணிவரிசை உள்ளன. 347 00:26:24,270 --> 00:26:35,600 >> நான் நினைத்தேன் வேறு விஷயம் நாம் தொடங்க வேண்டும் தொடக்கத்தில் மேம்படுத்தி கொண்டிருக்கிறோம் + இறுதியில் / 2, இல்லை 348 00:26:35,600 --> 00:26:44,020 இந்த + இறுதியில் / 2 தொடங்க அங்கு நான் சிக்கல் இருக்கிறது என்று வழக்கு உள்ளது 349 00:26:44,020 --> 00:26:46,820 நாம் பரிசீலித்துக்கொண்டிருக்கிறோம் உறுப்பு ஆகும். 350 00:26:46,820 --> 00:26:58,150 நாம் இந்த 10 உறுப்பு வரிசை இருந்தது என்று. என்ன. 351 00:26:58,150 --> 00:27:03,250 எனவே இறுதியில் / 2 இதை போல் ஏதோ போகிறது + தொடங்க, 352 00:27:03,250 --> 00:27:07,060 அந்த மதிப்பு இல்லை என்றால், நாம் மேம்படுத்த வேண்டும் என்று. 353 00:27:07,060 --> 00:27:10,060 மதிப்பு அதிகமாக உள்ளது, எனவே நாம் வரிசைக்கு இந்த அரை பார்க்கவேண்டும். 354 00:27:10,060 --> 00:27:15,910 எனவே தொடக்கத்தில் மேம்படுத்தும் நீங்கள் எப்படி, நாங்கள் இப்போது இந்த உறுப்பு வேண்டும் தொடக்கத்தில் மேம்படுத்தும். 355 00:27:15,910 --> 00:27:23,790 ஆனால் இந்த இன்னமும் வேலை செய்யலாம், அல்லது குறைந்த பட்சம், நீங்கள் தொடக்க செய்ய முடியும் + இறுதியில் / 2 + 1. 356 00:27:23,790 --> 00:27:27,850 [மாணவர்] நீங்கள் + இறுதியில் தொடங்க வேண்டும் தேவையில்லை [செவிக்கு புலப்படாமல்] >> சரி. 357 00:27:27,850 --> 00:27:33,240 நாம் ஏற்கனவே இந்த உறுப்பு பரிசோதனை மற்றும் அதை நாம் தேடும் ஒரு அல்ல என்று. 358 00:27:33,240 --> 00:27:36,800 எனவே நாம் இந்த உறுப்பு வேண்டும் தொடக்கத்தில் புதுப்பிக்க தேவையில்லை. 359 00:27:36,800 --> 00:27:39,560 நாம் அதை தவிர்த்துவிட்டு, இந்த உறுப்பு இருக்கும் தொடங்க மேம்படுத்த முடியும். 360 00:27:39,560 --> 00:27:46,060 ஒரு வழக்கில் இதுவரை இல்லை, இந்த முடிவு என்று சொல்ல நாம், 361 00:27:46,060 --> 00:27:53,140 இந்த என்று மிகவும் பின் தொடங்கும் + இறுதியில் தொடங்கும் / 2 இந்த வேண்டும், 362 00:27:53,140 --> 00:28:00,580 + இறுதியில் தொடங்கும் - ஆமாம், நான் எல்லையற்ற மறுநிகழ்வு முடிவடைய வேண்டும் என்று நான் நினைக்கிறேன். 363 00:28:00,580 --> 00:28:12,690 அது அளவு 2 அல்லது அளவு 1 ஒரு வரிசைக்கு வரிசை தான் நாம் சொல்ல. நான் இந்த வேலை என்று நினைக்கிறேன். 364 00:28:12,690 --> 00:28:19,490 எனவே தற்போது, தொடக்க உறுப்பு மற்றும் இறுதியில் அதை தாண்டி 1 உள்ளது. 365 00:28:19,490 --> 00:28:24,110 எனவே நாம் பார்க்க போகிறோம் என்று உறுப்பு, இந்த ஒரு 366 00:28:24,110 --> 00:28:29,400 மற்றும் நாம் தொடக்கத்தில் புதுப்பிக்க போது, நாம் 0 + 1/2, என தொடங்கும் மேம்படுத்தும் 367 00:28:29,400 --> 00:28:33,160 இதில் தொடக்கத்தில் இந்த உறுப்பு இருப்பது எங்களுக்கு மீண்டும் முடிவுக்கு வருகிறது. 368 00:28:33,160 --> 00:28:36,210 >> நாம் மீண்டும் மீண்டும் ஒரே உறுப்பு பரிசீலித்துக்கொண்டிருக்கிறோம். 369 00:28:36,210 --> 00:28:43,310 இந்த ஒவ்வொரு சுழல்நிலை அழைப்பு உண்மையில் ஏதோ மேம்படுத்த வேண்டும் நிகழ்வாக உள்ளது. 370 00:28:43,310 --> 00:28:48,370 எனவே நாம் ஒரு வழக்கு உள்ளது தொடக்க + இறுதியில் / + 1, அல்லது வேறு 2 செய்ய வேண்டும் 371 00:28:48,370 --> 00:28:50,710 அங்கு நாம் உண்மையில் தொடக்கத்தில் மேம்படுத்தும். 372 00:28:50,710 --> 00:28:53,820 ஒவ்வொருவரும் பார்க்க? 373 00:28:53,820 --> 00:28:56,310 சரி. 374 00:28:56,310 --> 00:29:03,860 யார் இந்த தீர்வு அல்லது எந்த கருத்துரைகள் கேள்விகள்? 375 00:29:05,220 --> 00:29:10,280 சரி. யாராவது ஒரு நாம் பார்க்க முடியும் என்று தீர்வு பங்கேற்பு? 376 00:29:17,400 --> 00:29:20,940 நாம் மீண்டும் மீண்டும் இதை செய்தீர்கள்? 377 00:29:20,940 --> 00:29:25,950 அல்லது நான் நீங்கள் வாயை திறக்கு என்றால், நீங்கள் உங்கள் முந்தைய ஒரு மேலாணை வேண்டும் நினைக்கிறேன். 378 00:29:25,950 --> 00:29:28,810 அது தானாக சேமிக்க? நான் நேர்மறை இல்லை. 379 00:29:35,090 --> 00:29:39,130 யார் பங்கேற்பு? 380 00:29:39,130 --> 00:29:42,430 நாம் ஒன்றாக அது வழியாக நடந்து என்றால் முடியாது. 381 00:29:46,080 --> 00:29:48,100 யோசனை அதே போகிறது. 382 00:30:00,260 --> 00:30:02,830 தீர்வு பங்கேற்பு. 383 00:30:02,830 --> 00:30:07,140 நாம் அடிப்படையில் அதே யோசனை செய்ய வேண்டும் போகிறாய் 384 00:30:07,140 --> 00:30:16,530 நாம் அணியின் புதிய இறுதியில் கண்காணிக்கும் மற்றும் அணியின் புதிய தொடக்கத்தை வைத்திருக்க விரும்பும் இடத்தில் 385 00:30:16,530 --> 00:30:18,510 அந்த மேல் மேல் செய்ய. 386 00:30:18,510 --> 00:30:22,430 நாம் தொடக்க மற்றும் முடிவு எப்போதும் சந்திக்கின்றன என கண்காணிப்பதற்கு என்ன என்றால், 387 00:30:22,430 --> 00:30:29,020 நாம் அது காணவில்லை நாம் தவறான திரும்ப முடியும். 388 00:30:29,020 --> 00:30:37,540 அதனால் நான் எப்படி செய்ய வேண்டும்? யாரையும் கவனித்து கொள்ள எனக்கு பரிந்துரைகள் அல்லது குறியீடு வேண்டும்? 389 00:30:42,190 --> 00:30:47,450 [மாணவர்] ஒரு வட்டத்திற்கு செய்யுங்கள். >> சரி. 390 00:30:47,450 --> 00:30:49,450 நீங்கள் ஒரு சுழற்சி செய்ய வேண்டும் போகிறீர்கள். 391 00:30:49,450 --> 00:30:51,830 >> நான் மேலே முடியும் குறியீடு வேண்டும், அல்லது என்ன பரிந்துரை செய்ய போகிறோம்? 392 00:30:51,830 --> 00:30:56,340 [மாணவர்] நான் அப்படி நினைக்கவில்லை. >> சரி. இந்த விஷயங்கள் எளிதாக. உங்கள் பெயர் என்ன? 393 00:30:56,340 --> 00:30:57,890 [மாணவர்] லூகாஸ். 394 00:31:00,140 --> 00:31:04,190 திருத்த 1. சரி. 395 00:31:04,190 --> 00:31:13,200 குறைந்த நாம் தொடங்கலாம் என்று தான். 396 00:31:13,200 --> 00:31:17,080 மேலே நாம் முன்னர் இறுதியில் என்று மிக என்ன அல்ல. 397 00:31:17,080 --> 00:31:22,750 உண்மையில், இறுதியில் வரிசை க்குள் இப்போது. அதை நாங்கள் பரிசீலிக்க வேண்டும் ஒரு உறுப்பு தான். 398 00:31:22,750 --> 00:31:26,890 எனவே குறைந்த 0, வரை வரிசைக்கு அளவு - 1, 399 00:31:26,890 --> 00:31:34,780 இப்போது நாம் தேடுகிறது, மற்றும் நாம் சரிபார்க்கிறோம் - 400 00:31:34,780 --> 00:31:37,340 நான் அதை வழியாக நடக்க முடியும் என நினைக்கிறேன். 401 00:31:37,340 --> 00:31:41,420 இந்த வழியாக உங்கள் சிந்தனை என்ன? உங்கள் குறியீடு மூலம் நமக்கு நடக்க. 402 00:31:41,420 --> 00:31:49,940 [மாணவர்] நிச்சயமாக. மத்தியில் haystack மதிப்பு பார்த்து ஊசி அதை ஒப்பிட்டு. 403 00:31:49,940 --> 00:31:58,520 ஓ, உண்மையில், அந்த பின்னோக்கி இருக்க வேண்டும் - அது உங்கள் ஊசி அதிகமாக இருந்தால் அதனால், நீங்கள் விரும்பினால். 404 00:31:58,520 --> 00:32:05,180 நீங்கள் சரியான அரை எறியுங்கள் வேண்டும் போகிறோம், அதனால் ஆமாம், அந்த வழி இருக்க வேண்டும். 405 00:32:05,180 --> 00:32:08,830 [Bowden] இந்த குறைவாக இருக்க வேண்டும்? நீங்கள் என்று என்ன? >> [மாணவர்] சரி. 406 00:32:08,830 --> 00:32:10,390 [Bowden] சரி. குறைவான. 407 00:32:10,390 --> 00:32:15,700 நாம் பார்த்து கொண்டிருக்கிறோம் நாம் என்ன தேவை விட சிறியதாக இருந்தால், 408 00:32:15,700 --> 00:32:19,410 பின்னர் ஆமாம், நாம், இடது பாதி எறியுங்கள் வேண்டும் 409 00:32:19,410 --> 00:32:22,210 இதில் நாம் கருத்தில் நீங்கள் எல்லாம் மேம்படுத்தும் அர்த்தம் 410 00:32:22,210 --> 00:32:26,610 வரிசை வலது குறைந்த நகர்த்துவதன் மூலம். 411 00:32:26,610 --> 00:32:30,130 இந்த நல்ல தெரிகிறது. 412 00:32:30,130 --> 00:32:34,550 நான், அதை நாம் முந்தைய ஒரு என்று அதே பிரச்சினை உள்ளது என்று 413 00:32:34,550 --> 00:32:49,760 அங்கு குறைந்த 0 மற்றும் 1 குறைந்த பிறகு, தான் + வரை / 2 மீண்டும் அதையே இருக்கும் அமைக்க போகிறது என்று. 414 00:32:49,760 --> 00:32:53,860 >> அந்த வழக்கில் இல்லை என்றாலும், அது மிகவும் குறைந்த பட்சம் இன்னும் அதிக செயல்திறன் கொண்டது 415 00:32:53,860 --> 00:32:57,630 ஒரு உறுப்பு கைவிட நாங்கள் தான் நாம் தவறு என்று எந்த பார்த்தேன். 416 00:32:57,630 --> 00:33:03,240 எனவே குறைந்த + வரை / 2 + 1 - >> [மாணவர்] அந்த வேறு வழி இருக்க வேண்டும். 417 00:33:03,240 --> 00:33:05,900 [Bowden] அல்லது இந்த இருக்க வேண்டும் - 1 மற்றும் பிற ஒரு + 1 வேண்டும். 418 00:33:05,900 --> 00:33:09,580 [மாணவர்] மற்றும் ஒரு இரட்டை இருக்கவேண்டும் அடையாளம் சமம். >> [Bowden] சரி. 419 00:33:09,580 --> 00:33:11,340 [மாணவர்] சரி. 420 00:33:14,540 --> 00:33:15,910 சரி. 421 00:33:15,910 --> 00:33:21,280 இறுதியாக, இப்போது நாம் இந்த + 1 என்று - 1 ஒன்று, 422 00:33:21,280 --> 00:33:31,520 அது - இது இருக்கலாம் - அது குறைந்த எழுந்து விட ஒரு மதிப்பு முடிவடையும் எப்போதும் சாத்தியமாகும்? 423 00:33:35,710 --> 00:33:40,320 அது என்ன - நான் என்ன செய்ய முடியும் என்று ஒரே வழி என்று? >> [மாணவர்] எனக்கு தெரியாது. 424 00:33:40,320 --> 00:33:45,220 ஆனால் அது மட்டுப்படுத்தப்பட்டுள்ளது பெறுகிறார் பின்னர் கழித்து வந்தால் அந்த பின்னர் 1 மற்றும் - >> சரி. 425 00:33:45,220 --> 00:33:47,480 [மாணவர்] இது சாத்தியமான ஒரே குழப்பம். 426 00:33:49,700 --> 00:33:53,940 நான் தான் நல்ல இருக்கும் என்று நான் நினைக்கிறேன் 427 00:33:53,940 --> 00:33:58,800 இது குறைந்த முடிவடையும் வரை அவர்கள் சமமாக இருக்க வேண்டும் என்று நான் நினைக்கிறேன். 428 00:33:58,800 --> 00:34:03,070 அவர்கள் சம இருந்தால் ஆனால், நாம் ஆரம்பிக்க போது வளைய செய்திருக்க மாட்டேன் 429 00:34:03,070 --> 00:34:06,670 நாம் தான் மதிப்பு திரும்பினார். அதனால் நான் இப்போது நல்ல நினைக்கிறேன். 430 00:34:06,670 --> 00:34:11,530 அறிவிப்பு இந்த பிரச்சினை இனி மீண்டும் மீண்டும் இடம்பெறுவது, கூட 431 00:34:11,530 --> 00:34:17,400 இந்த எளிதில் தன்னை வழங்கியிருக்கிறது எப்படி பார்க்க முடியும் கருத்துக்களை அதே வகையான பொருந்தும் 432 00:34:17,400 --> 00:34:23,659 நாங்கள் தான் மீண்டும் மேல் குறியீடுகள் மேம்படுத்தும் என்று உண்மையில் ஒரு சுழல்நிலை தீர்வு, 433 00:34:23,659 --> 00:34:29,960 நாம் சிக்கல் சிறிய மற்றும் சிறிய செய்கிறாய், நாம் வரிசைக்கு ஒரு துணைக்குழு கவனம் செலுத்துகிறது. 434 00:34:29,960 --> 00:34:40,860 [மாணவர்] குறைந்த 0 மற்றும் 1 இருந்தால், அவர்கள் இருவரும், 0 + 1/2, 0 போவேன் இது என்று 435 00:34:40,860 --> 00:34:44,429 பின்னர் ஒரு + 1 என்று, ஒரு என்று - 1. 436 00:34:47,000 --> 00:34:50,870 [மாணவர்] எங்கே நாம் சமத்துவம் சோதனை? 437 00:34:50,870 --> 00:34:55,100 நடுத்தர ஒரு உண்மையில் ஊசி என்றால் விரும்புகிறீர்களா? 438 00:34:55,100 --> 00:34:58,590 நாம் தற்போது அந்த செய்யவில்லை? ஓ! 439 00:35:00,610 --> 00:35:02,460 It's என்றால் - 440 00:35:05,340 --> 00:35:13,740 ஆம். நாம் முதல் நடுத்தர என்று நாம் இங்கு சோதனை செய்ய முடியாது - 441 00:35:13,740 --> 00:35:16,430 [மாணவர்] இது உண்மையில் பிணைப்பு எறியுங்கள் இல்லை போல. 442 00:35:16,430 --> 00:35:20,220 நீங்கள் பிணைப்பு எறியுங்கள் என்றால், நீங்கள் முதல் அல்லது அதை சரிபார்க்க வேண்டும். 443 00:35:20,220 --> 00:35:23,350 ஆ. Yeah. >> [மாணவர்] சரி. 444 00:35:23,350 --> 00:35:29,650 எனவே இப்போது நாம், நாங்கள் தற்போது பார்த்து ஒரு தூர எறிந்து விட்டேன் 445 00:35:29,650 --> 00:35:33,260 இதில் நாம் இப்போது கூட வேண்டும் என்றால் 446 00:35:33,260 --> 00:35:44,810 (haystack [(குறைந்த + வரை) / 2] == ஊசி), நாம் உண்மையான திரும்ப முடியும் என்றால். 447 00:35:44,810 --> 00:35:52,070 நான் வேறு அல்லது நீங்கள் வைத்து என்பதை, அது உண்மையில் அதே பொருள் 448 00:35:52,070 --> 00:35:57,110 இந்த உண்மை திரும்பி ஏனெனில். 449 00:35:57,110 --> 00:36:01,450 அதனால் நான் வேறு என்றால் வைக்கிறேன், ஆனால் அது விஷயமில்லை. 450 00:36:01,450 --> 00:36:10,440 >> எனவே வேறு இந்த, வேறு இந்த, இந்த நான் ஒரு பொதுவான விஷயம் என்றால் 451 00:36:10,440 --> 00:36:14,340 அங்கு அதை எல்லாம் இங்கே நல்ல எங்கே வழக்கு கூட, 452 00:36:14,340 --> 00:36:22,780 குறைந்த வரை விட முடியாது போல், அது உண்மை என்பதை பற்றி மதிப்புள்ள காரணம் அல்ல. 453 00:36:22,780 --> 00:36:28,010 குறைந்த குறைவாக அல்லது சமமாக இருக்கும் போது நீங்கள் அதே சொல் 454 00:36:28,010 --> 00:36:30,720 அல்லது குறைந்த விட குறைவாக உள்ளது 455 00:36:30,720 --> 00:36:35,300 அவர்கள் எப்போதும் சமமாக அல்லது குறைவாக இருக்கும் என்றால், மேலே கடக்க நடக்கிறது 456 00:36:35,300 --> 00:36:40,130 நாம் இந்த வளைய வெளியே உடைக்க முடியாது. 457 00:36:41,410 --> 00:36:44,630 கேள்விகள், கவலைகள், கருத்துரைகள்? 458 00:36:47,080 --> 00:36:49,270 சரி. இந்த நல்ல தெரிகிறது. 459 00:36:49,270 --> 00:36:52,230 இப்போது நாம் என்ன செய்ய வேண்டும். 460 00:36:52,230 --> 00:37:04,030 என் இரண்டாவது திருத்தம் செய்ய சென்றால், நாம், அதே எண்ணிக்கையில் பார்க்க 461 00:37:04,030 --> 00:37:07,550 ஆனால் இப்போது அவர்கள் வரிசையில் வரிசையில் இல்லை. 462 00:37:07,550 --> 00:37:12,840 நாம் n log n ஓ எந்த வழிமுறையை பயன்படுத்தி வகையான செயல்படுத்த வேண்டும். 463 00:37:12,840 --> 00:37:17,240 நீங்கள் இங்கு செயல்படுத்த வேண்டும் வழிமுறை நினைக்கிறாயா? >> [மாணவர்] பிணைப்பு வரிசை. 464 00:37:17,240 --> 00:37:23,810 [Bowden] சரி. ஒன்றாக்க வகையான அதனால் நாம் செய்ய போகிறோம் என்ன, ஓ (n log n) ஆகும். 465 00:37:23,810 --> 00:37:26,680 மற்றும் பிரச்சனை, அழகான போன்ற போகிறாள் 466 00:37:26,680 --> 00:37:31,920 அங்கு அதை எளிதாக ஒரு சுழல்நிலை தீர்வு தன்னை வைக்கிறது. 467 00:37:31,920 --> 00:37:35,580 நாம் விரும்பினால் நாங்கள், ஒரு பங்கேற்பு வழி செய்யலாம் 468 00:37:35,580 --> 00:37:42,540 ஆனால் மறுநிகழ்வு இங்கே எளிதாக இருக்கும் மற்றும் நாம் மறுநிகழ்வு செய்ய வேண்டும். 469 00:37:45,120 --> 00:37:49,530 நான், நாம் முதலில் ஒன்றிணைப்பு வகையான வழியாக நடக்க வேண்டும் நினைக்கிறேன் 470 00:37:49,530 --> 00:37:54,280 ஒன்றிணைப்பு வகையான ஒரு அழகான வீடியோ ஏற்கனவே அங்கு உள்ளது. [சிரிப்பு] 471 00:37:54,280 --> 00:37:59,780 அதனால் அங்கு ஒருவித ஒன்றிணைக்க - நான் இந்த காகித மிகவும் வீணாக்குறேன். 472 00:37:59,780 --> 00:38:02,080 ஓ, ஒரே ஒரு இடது உள்ளது. 473 00:38:02,080 --> 00:38:03,630 எனவே ஒன்றாக்க. 474 00:38:08,190 --> 00:38:12,470 ஓ, 1, 3, 5. 475 00:38:26,090 --> 00:38:27,440 சரி. 476 00:38:29,910 --> 00:38:33,460 ஒன்றிணைப்பு இரண்டு தனித்தனி வரிசைகள் எடுக்கும். 477 00:38:33,460 --> 00:38:36,780 தனித்தனியாக அந்த இரண்டு அணிகளை வரிசைப்படுத்தப்பட்ட இரு. 478 00:38:36,780 --> 00:38:40,970 இந்த வரிசையில், 1, 3, 5, வரிசைப்படுத்தப்பட்டுள்ளது. இந்த வரிசையில், 0, 2, 4, வரிசைப்படுத்தப்பட்டுள்ளது. 479 00:38:40,970 --> 00:38:46,710 இப்போது என்ன ஒன்றிணைப்பு செய்ய வேண்டும் தன்னை வரிசைப்படுத்தப்பட்ட என்று ஒரு ஒற்றை வரிசை அவற்றை இணைக்க வேண்டும். 480 00:38:46,710 --> 00:38:57,130 நாம் அது உள்ளே இந்த உறுப்புகள் வேண்டும் என்று அளவு 6 அணிவரிசை வேண்டும் 481 00:38:57,130 --> 00:38:59,390 வரிசைப்படுத்தப்பட்ட பொருட்டு. 482 00:38:59,390 --> 00:39:03,390 >> எனவே நாம் இந்த இரண்டு அணிகளை வரிசைப்படுத்தப்பட்டுள்ளது என்பதை பயன்படுத்தி கொள்ள முடியும் 483 00:39:03,390 --> 00:39:06,800 நேரியல் நேரம் இதை செய்ய, 484 00:39:06,800 --> 00:39:13,510 நேரியல் நேரம் அர்த்தம் இந்த வரிசை அளவு x இந்த அளவு y இருந்தால், 485 00:39:13,510 --> 00:39:20,970 பிறகு மொத்த படிமுறை O (x + y) இருக்க வேண்டும். சரி. 486 00:39:20,970 --> 00:39:23,150 பரிந்துரைகள் எனவே. 487 00:39:23,150 --> 00:39:26,030 [மாணவர்] நாம் இடது இருந்து தொடங்க முடியுமா? 488 00:39:26,030 --> 00:39:30,150 எனவே நீங்கள் கீழே முதல் மற்றும் பிறகு 1 0 வைக்கிறேன் பின்னர் இங்கே நீங்கள் 2 இருக்கிறாய். 489 00:39:30,150 --> 00:39:33,320 அது நீங்கள் சரியான நகரும் என்று ஒரு தாவல் வேண்டும் மாதிரி தான். >> [Bowden] சரி. 490 00:39:33,320 --> 00:39:41,070 நாம் தான் இடப்புறம் உள்ள ஒன்றே உறுப்பு கவனம் செலுத்த இந்த அணிகளை இருவரும். 491 00:39:41,070 --> 00:39:43,530 இரு அணிகள் வரிசையில் ஏனெனில், நாம் என்று இந்த 2 கூறுகள் 492 00:39:43,530 --> 00:39:46,920 அல்லது வரிசையில் சிறிய உறுப்புகள். 493 00:39:46,920 --> 00:39:53,500 அதனால் அந்த 2 உறுப்புகள் 1 நமது இணைக்கப்பட்ட வரிசையில் சிறிய உறுப்பு இருக்க வேண்டும் என்று அர்த்தம். 494 00:39:53,500 --> 00:39:58,190 அது மிக சிறிய சரியான இந்த நேரத்தில் ஒரு என்று நடக்கும். 495 00:39:58,190 --> 00:40:02,580 0 குறைவாக 1 ஏனெனில் நாம், 0 எடுத்து இடது இது செருக 496 00:40:02,580 --> 00:40:08,210 எனவே, 0 எடுத்து எங்கள் முதல் நிலை செருகி, பின்னர் இந்த புதுப்பிக்க 497 00:40:08,210 --> 00:40:12,070 இப்போது முதல் உறுப்பு கவனம் செலுத்த வேண்டும். 498 00:40:12,070 --> 00:40:14,570 இப்போது நாம் மீண்டும். 499 00:40:14,570 --> 00:40:20,670 எனவே இப்போது நாம் 2 ஒப்பிட்டு மற்றும் 1. 1 சிறிய, எனவே நாம் 1 நுழைக்க வேண்டும். 500 00:40:20,670 --> 00:40:25,300 நாம் இந்த பையன் சுட்டி இந்த சுட்டிக்காட்டி புதுப்பிக்க. 501 00:40:25,300 --> 00:40:33,160 இப்போது நாம் மீண்டும் செய்ய, 2 இவ்வளவு. இந்த மேம்படுத்தி, இந்த 2, 3 ஒப்பிட்டு. 502 00:40:33,160 --> 00:40:37,770 இந்த மேம்படுத்தல், 4 மற்றும் 5. 503 00:40:37,770 --> 00:40:42,110 அந்த பிணைப்பு உள்ளது. 504 00:40:42,110 --> 00:40:49,010 >> அதை நாம் ஒரு முறை ஒவ்வொரு உறுப்பு முழுவதும் சென்று பின்னர் அது நேரியல் நேரம் என்று அழகாக தெளிவாக இருக்க வேண்டும். 505 00:40:49,010 --> 00:40:55,980 அந்த பிணைப்பு மாதிரியான செய்து நடைமுறைப்படுத்துவதற்கு மிகப்பெரிய நடவடிக்கை ஆகும். 506 00:40:55,980 --> 00:40:59,330 மற்றும் அது கடினமாக இல்லை. 507 00:40:59,330 --> 00:41:15,020 பற்றி கவலைப்பட ஒரு ஜோடி விஷயங்களை நாம் 1, 2, 3, 4, 5, 6 இணைத்தல் என்று சொல்ல வேண்டும். 508 00:41:15,020 --> 00:41:30,930 இந்த வழக்கில் நாம், இந்த ஒரு சிறிய போகிறேன் அமைந்துள்ள சூழ்நிலையில் முடிவுக்கு 509 00:41:30,930 --> 00:41:36,160 நாம் இந்த சுட்டிக்காட்டி மேம்படுத்த, இந்த ஒரு சிறிய போகிறது, இந்த புதுப்பிக்க, 510 00:41:36,160 --> 00:41:41,280 இந்த ஒரு சிறிய விஷயம், இப்போது நீங்கள் அங்கீகரிக்க வேண்டும் 511 00:41:41,280 --> 00:41:44,220 நீங்கள் உண்மையில் ஒப்பிடும் உறுப்புகள் ரன் அவுட் செய்த போது. 512 00:41:44,220 --> 00:41:49,400 நாம் ஏற்கனவே இந்த முழு வரிசையில் பயன்படுத்தப்படும் என்பதால், 513 00:41:49,400 --> 00:41:55,190 இந்த வரிசையில் எல்லாம் இப்போது இங்கே நுழைக்கப்படுகிறது. 514 00:41:55,190 --> 00:42:02,040 நாம் எப்போதும் நமது அணிகளை ஒன்று முற்றிலும் ஏற்கனவே இணைக்கப்பட்டது அமைந்துள்ள இடத்தில், ஒரு ரன் நீங்கள் 515 00:42:02,040 --> 00:42:06,510 நாம் தான் மற்ற அணி அனைத்து கூறுகளையும் எடுத்து அணியை இறுதியில் செருக. 516 00:42:06,510 --> 00:42:13,630 எனவே தான், 5, 6 4 சேர்த்துவிடும். சரி. 517 00:42:13,630 --> 00:42:18,070 என்று வெளியே பார்க்க ஒரு விஷயம். 518 00:42:22,080 --> 00:42:26,120 அந்த படி 1 வேண்டும் செயல்படுத்தும். 519 00:42:26,120 --> 00:42:32,600 ஒன்றாக்க அந்த அடிப்படையில் பின்னர் வரிசைப்படுத்த, அது 2 படிகள், 2 முட்டாள்தனமான நடவடிக்கை ஆகும். 520 00:42:38,800 --> 00:42:42,090 நாம் இந்த வரிசை கொடுக்க. 521 00:42:57,920 --> 00:43:05,680 எனவே வகையான ஒன்றாக்க, படி 1 மறுசுழலில் பகுதிகளாக வரிசை உடைக்க வேண்டும். 522 00:43:05,680 --> 00:43:09,350 எனவே பகுதிகளாக இந்த வரிசை பிரிந்தது. 523 00:43:09,350 --> 00:43:22,920 நாம் இப்போது 4, 15, 16, 50 மற்றும் 8, 23, 42, 108 வேண்டும். 524 00:43:22,920 --> 00:43:25,800 இப்போது நாம் மீண்டும் அதை செய்ய நாம் பகுதிகளாக இந்த பிரிந்தது. 525 00:43:25,800 --> 00:43:27,530 நான் இந்த பக்கத்தில் அதை தான் நான். 526 00:43:27,530 --> 00:43:34,790 50, 4, 15 மற்றும் 16 ஆக. 527 00:43:34,790 --> 00:43:37,440 நாம் இங்கு அதையே செய்ய வேண்டும். 528 00:43:37,440 --> 00:43:40,340 இப்போது நாம் மீண்டும் பகுதிகளாக அதை பிரித்து. 529 00:43:40,340 --> 00:43:51,080 நாம் 4, 15, 16, 50 தான். 530 00:43:51,080 --> 00:43:53,170 அதனால் எங்கள் அடிப்படை விஷயம். 531 00:43:53,170 --> 00:44:00,540 வரிசைகள் அளவு 1 உள்ளன முறை, நாம் பகுதிகளாக பிரித்து கொண்டு நிறுத்த. 532 00:44:00,540 --> 00:44:03,190 >> இப்போது நாம் இந்த என்ன செய்ய? 533 00:44:03,190 --> 00:44:15,730 நாம் இந்த 8, 23, 42, மற்றும் 108 என்ற உடைந்து விடும் முடிவுக்கு. 534 00:44:15,730 --> 00:44:24,000 எனவே இப்போது நாம் இந்த கட்டத்தில் இருக்கிறோம் என்று, இப்போது ஒன்றிணைப்பு மாதிரி இரண்டு மட்டும் பட்டியல்களை ஜோடிகள் சேர்ப்பின் உள்ளது படி. 535 00:44:24,000 --> 00:44:27,610 எனவே நாம் இந்த ஒன்றிணைக்க வேண்டும். நாம் தான் ஒன்றிணைக்க வேண்டும். 536 00:44:27,610 --> 00:44:31,410 நாம் ஒன்றிணைப்பு வரிசைப்படுத்தப்பட்ட பொருட்டு இந்த வந்துடுவாங்க தெரியும். 537 00:44:31,410 --> 00:44:33,920 4, 15. 538 00:44:33,920 --> 00:44:41,440 இப்போது நாம் இந்த ஒன்றிணைக்க வேண்டும், என்று, வரிசைப்படுத்தப்பட்ட பொருட்டு அந்த ஒரு பட்டியல் வந்துடுவாங்க 539 00:44:41,440 --> 00:44:44,160 16, 50. 540 00:44:44,160 --> 00:44:57,380 நாம் அந்த ஒன்றிணைக்க - நான் எழுத முடியாது - 8, 23 மற்றும் 42, 108. 541 00:44:57,380 --> 00:45:02,890 எனவே நாம் மீண்டும் இணைக்கப்பட்ட ஜோடிகள் வேண்டும். 542 00:45:02,890 --> 00:45:05,140 இப்போது நாம் இப்போது மீண்டும் இணைக்க. 543 00:45:05,140 --> 00:45:10,130 தன்னை இந்த பட்டியலை ஒவ்வொரு வரிசைப்படுத்தப்பட்ட என்று பாருங்கள், 544 00:45:10,130 --> 00:45:15,220 மற்றும் நாம் இப்போது வரிசைப்படுத்தப்பட்டுள்ளது எந்த அளவு 4 பட்டியலை பெற இந்த பட்டியலில் சேர்க்க முடியாது 545 00:45:15,220 --> 00:45:19,990 மற்றும் வரிசைப்படுத்தப்பட்ட என்று அளவு 4 பட்டியலை பெற இந்த இரண்டு பட்டியல்கள் சேர்க்க. 546 00:45:19,990 --> 00:45:25,710 இறுதியாக, நாம் வரிசைப்படுத்தப்பட்ட என்று அளவு 8 ஒரு பட்டியலை பெற அளவு 4 அந்த இரண்டு பட்டியல்களை ஒன்றாக்க முடியும். 547 00:45:25,710 --> 00:45:34,030 இந்த ஒட்டுமொத்த n log n என்று பார்க்க, நாம் ஏற்கனவே ஒன்றிணைப்பு லீனியர் என்று பார்த்தேன், 548 00:45:34,030 --> 00:45:40,390 அதனால் நாம் மிகவும் ஒன்றிணைப்பு ஒட்டுமொத்த செலவு போன்ற, இந்த சேர்ப்பின் கையாள்வதில் 549 00:45:40,390 --> 00:45:43,410 இந்த இரண்டு பட்டியல்கள் வெறும் 2 காரணம் - 550 00:45:43,410 --> 00:45:49,610 அல்லது நன்றாக, அதை n, ஓ, ஆனால் இங்கே n தான் இந்த 2 கூறுகள் இல்லை, அது 2 தான். 551 00:45:49,610 --> 00:45:52,850 மேலும், இந்த 2 2 இருக்கும் இந்த 2 2 இருக்கும் இந்த 2 2 இருக்கும் 552 00:45:52,850 --> 00:45:58,820 எனவே நாம் செய்ய வேண்டும் என்று பிணைப்பை அனைத்து முழுவதும், நாம் n செய்து முடிவடையும். 553 00:45:58,820 --> 00:46:03,210 2 போன்ற + 2 + 2 + 2 n இது 8,, என்பது 554 00:46:03,210 --> 00:46:08,060 இந்த தொகுப்பில் இணைத்தல் செலவு n. 555 00:46:08,060 --> 00:46:10,810 பின்னர் இங்கே தான். 556 00:46:10,810 --> 00:46:16,980 நாம் இந்த 2, இந்த 2 ஒன்றிணைக்க வேண்டும், மற்றும் தனித்தனியாக இந்த பிணைப்பு, நான்கு நடவடிக்கைகளை எடுக்க வேண்டும் 557 00:46:16,980 --> 00:46:23,610 இந்த ஒன்றிணைப்பு, இந்த அனைத்து இடையே, மீண்டும் நான்கு நடவடிக்கைகளை எடுத்து, ஆனால் 558 00:46:23,610 --> 00:46:29,030 நாம் சேர்ப்பின் n மொத்த விஷயங்கள் முடியும், எனவே இந்த நடவடிக்கை n எடுக்கிறது. 559 00:46:29,030 --> 00:46:33,670 அதனால் ஒவ்வொரு நிலை இணைக்கப்பட்டு வருகின்றன n உறுப்புகள் ஆகும். 560 00:46:33,670 --> 00:46:36,110 >> மற்றும் எத்தனை நிலைகள் உள்ளன? 561 00:46:36,110 --> 00:46:40,160 ஒவ்வொரு மட்டத்திலும், எங்கள் அணி அளவு 2 வளரும். 562 00:46:40,160 --> 00:46:44,590 இங்கே நம் வரிசைகள் அளவு 1 உள்ளன, இங்கே அவர்கள் அளவு 2 நீ, இங்கே அவர்கள், அளவு 4 நீ 563 00:46:44,590 --> 00:46:46,470 இறுதியாக, அவர்கள் அளவு 8 தான். 564 00:46:46,470 --> 00:46:56,450 அதை இரட்டிப்பாக்க எனவே இருந்து, பதிவு, n இந்த அளவு மொத்த இருக்க போகிறோம். 565 00:46:56,450 --> 00:47:02,090 எனவே பதிவு n அளவு, ஒவ்வொரு தனிப்பட்ட அளவில் எடுத்து n மொத்த நடவடிக்கைகளை, 566 00:47:02,090 --> 00:47:05,720 நாம் ஒரு n log n வழிமுறை கிடைக்கும். 567 00:47:05,720 --> 00:47:07,790 கேள்விகள்? 568 00:47:08,940 --> 00:47:13,320 ஏற்கனவே இந்த செயல்படுத்த எப்படி முன்னேற்றம்? 569 00:47:13,320 --> 00:47:18,260 நான் அவர்களுடைய குறியீடு மேலே முடியும் ஏற்கனவே ஒரு மாநிலத்தில் யார் என்று? 570 00:47:20,320 --> 00:47:22,260 நான் ஒரு நிமிடம் கொடுக்க முடியும். 571 00:47:24,770 --> 00:47:27,470 இந்த ஒரு நீண்ட போகிறது. 572 00:47:27,470 --> 00:47:28,730 நான் மிகவும் பெறாமல் பரிந்துரை - 573 00:47:28,730 --> 00:47:30,510 நீங்கள் ஒன்றிணைப்பு ஒரு மறுநிகழ்வு செய்ய வேண்டாம் 574 00:47:30,510 --> 00:47:33,750 ஒன்றிணைப்பு ஒரு மறுநிகழ்வு செய்ய ஏனெனில், நீங்கள் வெவ்வேறு அளவுகளில் ஒரு கூட்டத்தை கடந்து செல்ல போகிறது. 575 00:47:33,750 --> 00:47:37,150 நீங்கள், ஆனால் அது எரிச்சலூட்டும் தான். 576 00:47:37,150 --> 00:47:43,720 ஆனால் அப்படி தானே மறுநிகழ்வு அழகான எளிது. 577 00:47:43,720 --> 00:47:49,190 நீங்கள் உண்மையில் சரியான அரை மீது ஒருவித, இடது பாதி மீது ஒருவித அழைப்பு. சரி. 578 00:47:51,770 --> 00:47:54,860 யாரையும் நான் இன்னும் மேலே முடியாது எதுவும்? 579 00:47:54,860 --> 00:47:57,540 அல்லது வேறு ஒரு நிமிடம் கொடுப்பேன். 580 00:47:58,210 --> 00:47:59,900 சரி. 581 00:47:59,900 --> 00:48:02,970 யாரையும் நாங்கள் வேலை செய்ய ஏதாவது? 582 00:48:05,450 --> 00:48:09,680 அல்லது வேறு நாம் இந்த வேலை பின்னர் அங்கு இருந்து விரிவுபடுத்த வேண்டும். 583 00:48:09,680 --> 00:48:14,050 >> யாரையும் நான் இழுக்க முடியும் என்று இதை விட வேண்டும்? 584 00:48:14,050 --> 00:48:17,770 [மாணவர்] சரி. நீங்கள் என்னுடைய கவனித்து கொள்ளலாம். >> சரி. 585 00:48:17,770 --> 00:48:19,730 ஆம்! 586 00:48:22,170 --> 00:48:25,280 [மாணவர்] நிலைமைகள் நிறைய இருந்தன. >> ஓ, படம். நீங்கள் - 587 00:48:25,280 --> 00:48:28,110 [மாணவர்] நான் அதை காப்பாற்ற வேண்டும். >> சரி. 588 00:48:32,420 --> 00:48:35,730 நாம் தனித்தனியாக ஒன்றிணைப்பு செய்தேன். 589 00:48:35,730 --> 00:48:38,570 ஓ, ஆனால் அது மோசமான இல்லை. 590 00:48:39,790 --> 00:48:41,650 சரி. 591 00:48:41,650 --> 00:48:47,080 எனவே வகையான வெறும் mergeSortHelp அழைப்பு ஆகும். 592 00:48:47,080 --> 00:48:49,530 MergeSortHelp என்ன எங்களுக்கு விளக்க. 593 00:48:49,530 --> 00:48:55,700 [மாணவர்] MergeSortHelp அழகான மிகவும் இரண்டு முக்கிய வழிமுறைகளை இல்லை, 594 00:48:55,700 --> 00:49:01,270 இது அணியின் ஒவ்வொரு அரை வரிசைப்படுத்த பின்னர் அவர்கள் இருவரையும் ஒன்றிணைக்க வேண்டும். 595 00:49:04,960 --> 00:49:08,050 [Bowden] சரி, என்னை இரண்டாவது கொடுக்க. 596 00:49:10,850 --> 00:49:13,210 நான் இந்த நினைக்கிறேன் - >> [மாணவர்] நான் வேண்டும் - 597 00:49:17,100 --> 00:49:19,400 Yeah. நான் ஏதாவது இழக்கிறேன். 598 00:49:19,400 --> 00:49:23,100 ஒன்றிணைப்பு, நான் ஒரு புதிய அணியை உருவாக்க வேண்டும் என்று 599 00:49:23,100 --> 00:49:26,530 நான் இடத்தில் அதை செய்ய முடியவில்லை, ஏனெனில். >> ஆமாம். உங்களால் முடியாது. சரி. 600 00:49:26,530 --> 00:49:28,170 [மாணவர்] நான் ஒரு புதிய அணியை உருவாக்க. 601 00:49:28,170 --> 00:49:31,510 நான் மீண்டும் மாற்ற ஒன்றாக்க இறுதியில் மறந்துவிட்டேன். 602 00:49:31,510 --> 00:49:34,490 சரி. நாம் ஒரு புதிய அணி வேண்டும். 603 00:49:34,490 --> 00:49:41,000 ஒன்றிணைப்பு வகையான, இந்த எப்போதும் உண்மையாக இருக்கும். 604 00:49:41,000 --> 00:49:44,340 ஒரு சிறந்த வழிமுறை நேரம் வாரியான செலவு பகுதியாக 605 00:49:44,340 --> 00:49:47,310 எப்போதும் ஒரு பிட் மேலும் நினைவக பயன்படுத்த தேவைப்படும். 606 00:49:47,310 --> 00:49:51,570 இங்கு, நீங்கள் எப்படி இல்லை வகையான ஒன்றாக்க, 607 00:49:51,570 --> 00:49:54,780 நீங்கள் தவிர்க்க முடியாமல் சில கூடுதல் நினைவகத்தை பயன்படுத்த வேண்டும். 608 00:49:54,780 --> 00:49:58,240 அவர் ஒரு புதிய அணியை உருவாக்க. 609 00:49:58,240 --> 00:50:03,400 பின்னர் நீங்கள் இறுதியில் நாங்கள் தான் உண்மையான வரிசை புதிய வரிசை நகலெடுக்க வேண்டும் என்று. 610 00:50:03,400 --> 00:50:04,830 [மாணவர்] நான் ஆமாம், அப்படி நினைக்கவில்லை. 611 00:50:04,830 --> 00:50:08,210 அந்த குறிப்பு அல்லது என்ன மூலம் எண்ணும் வகையில் வேலை செய்தால் எனக்கு தெரியாது - 612 00:50:08,210 --> 00:50:11,650 சரி, அது வேலை செய்யும். >> [மாணவர்] சரி. 613 00:50:20,620 --> 00:50:24,480 இந்த இயங்கும் முயற்சி செய்தீர்களா? >> [மாணவர்] இல்லை, இன்னும். சரி >>. 614 00:50:24,480 --> 00:50:28,880 அது இயங்கும் முயற்சி, மற்றும் நான் ஒரு இரண்டாவது அதை பற்றி பேசலாம். 615 00:50:28,880 --> 00:50:35,200 [மாணவர்] நான், எனினும், அனைத்து சார்பு முன்மாதிரிகள் எல்லாம் வேண்டும்? 616 00:50:37,640 --> 00:50:40,840 விழாவில் முன்மாதிரிகள். ஆம் - ஓ, நீ என்ன சொல்கிறாய். 617 00:50:40,840 --> 00:50:43,040 வரிசை mergeSortHelp அழைக்கிறார்கள். 618 00:50:43,040 --> 00:50:47,390 >> எனவே வகையான mergeSortHelp அழைக்க பொருட்டு, mergeSortHelp அல்லது வரையறுக்கப்பட்ட 619 00:50:47,390 --> 00:50:56,370 அப்படி முன் அல்லது நாம் முன்மாதிரி தான் தேவை. நகலெடுத்துவிட்டு என்று ஒட்டவும். 620 00:50:56,370 --> 00:50:59,490 அதே போல், mergeSortHelp, ஒன்றாக்க அழைப்பு 621 00:50:59,490 --> 00:51:03,830 ஆனால் ஒன்றிணைப்பு இன்னும் வரையறுக்கப்படவில்லை இல்லை, எனவே நாம் தான் mergeSortHelp தெரியப்படுத்த முடியும் 622 00:51:03,830 --> 00:51:08,700 அது ஒன்றிணைக்க என்ன இருக்க போகிறது, மற்றும் அந்த என்று. 623 00:51:09,950 --> 00:51:15,730 MergeSortHelp எனவே. 624 00:51:22,770 --> 00:51:32,660 நாம் எந்த அடிப்படை வழக்கில் எங்கே நாம் இங்கு ஒரு பிரச்சினை இல்லை. 625 00:51:32,660 --> 00:51:38,110 MergeSortHelp சுழல்நிலை, எனவே எந்த சுழல்நிலை செயல்பாடு 626 00:51:38,110 --> 00:51:42,610 மீண்டும் மீண்டும் தன்னை அழைத்து நிறுத்த தெரிய அடிப்படை வழக்கு ஒருவித வேண்டும் போகிறது. 627 00:51:42,610 --> 00:51:45,590 நமது அடிப்படை வழக்கில் இங்கே என்ன நடக்க போகிறது? Yeah. 628 00:51:45,590 --> 00:51:49,110 [மாணவர்] அளவு 1 இருந்தால்? >> [Bowden] ஆமாம். 629 00:51:49,110 --> 00:51:56,220 நாங்கள் பார்த்த போல, நாம் பிரித்து அணிகளை நிறுத்தி 630 00:51:56,220 --> 00:52:01,850 ஒருமுறை நாம் தவிர்க்க முடியாமல் தங்களை வரிசையாக்கம் எந்த அளவு 1, வரிசைகள் தொடங்கியது. 631 00:52:01,850 --> 00:52:09,530 அளவு 1 சமம் என்றால், நாம், அணி ஏற்கனவே வரிசையாக்கம் தெரியும் 632 00:52:09,530 --> 00:52:12,970 எனவே தான் திரும்ப முடியும். 633 00:52:12,970 --> 00:52:16,880 >> வெற்றிடத்தை என்று பாருங்கள், நாங்கள் குறிப்பிட்ட எதையும் திரும்பி வருவதில்லை, நாம் தான் திரும்பி. 634 00:52:16,880 --> 00:52:19,580 சரி. அதனால் எங்கள் அடிப்படை வழக்கு. 635 00:52:19,580 --> 00:52:27,440 நான், அளவு 0 அணிவரிசை இணைத்தல் வேண்டும் நேர்ந்தால் நம் அடிப்படை வழக்கில் கூட இருக்க முடியும் என நினைக்கிறேன் 636 00:52:27,440 --> 00:52:30,030 நாம் அநேகமாக, சில இடத்தில் நிறுத்த வேண்டும் 637 00:52:30,030 --> 00:52:33,610 நாம் மட்டும் குறைவாக 2 அல்லது குறைவான அல்லது 1 சமமாக அளவு சொல்ல முடியாது 638 00:52:33,610 --> 00:52:37,150 இந்த இப்போது எந்த வரிசை வேலை அப்படி. 639 00:52:37,150 --> 00:52:38,870 சரி. 640 00:52:38,870 --> 00:52:42,740 அதனால் எங்கள் அடிப்படை வழக்கு. 641 00:52:42,740 --> 00:52:45,950 இப்போது நீங்கள் ஒன்றிணைப்பு மூலம் நாம் நடக்க வேண்டும்? 642 00:52:45,950 --> 00:52:49,140 இந்த வழக்குகள் என்ன? 643 00:52:49,140 --> 00:52:54,480 இங்கு, நாம் தான், அதே கருத்தை செய்கிறாய் - 644 00:52:56,970 --> 00:53:02,470 [மாணவர்] நான் mergeSortHelp அழைப்புகளை கொண்ட அளவு கடந்து வேண்டும். 645 00:53:02,470 --> 00:53:10,080 நான் ஒரு கூடுதல் முதன்மை அளவை சேர்க்க மற்றும் அளவு / 2 போல, அங்கு இல்லை. 646 00:53:10,080 --> 00:53:16,210 [Bowden] ஓ, அளவு / 2, அளவு / 2. >> [மாணவர்] சரி, மேலும் அதே மேலே செயல்பாடு. 647 00:53:16,210 --> 00:53:21,320 [Bowden] இங்கு? >> [மாணவர்] ஒரு அளவு. >> [Bowden] ஓ. அளவு, அளவு? >> [மாணவர்] சரி. 648 00:53:21,320 --> 00:53:23,010 [Bowden] சரி. 649 00:53:23,010 --> 00:53:26,580 எனக்கு ஒரு இரண்டாவது யோசிப்போம். 650 00:53:26,580 --> 00:53:28,780 நாம் ஒரு பிரச்சினையை கொண்டு இயங்கும்? 651 00:53:28,780 --> 00:53:33,690 நாம் எப்போதும் 0 இடது சிகிச்சை. >> [மாணவர்] இல்லை 652 00:53:33,690 --> 00:53:36,340 அதுவும் தவறு. மன்னிக்கவும். அது தொடக்கத்தில் இருக்க வேண்டும். Yeah. 653 00:53:36,340 --> 00:53:39,230 [Bowden] சரி. நான் நன்றாக இருக்கிறேன். 654 00:53:39,230 --> 00:53:43,880 மற்றும் இறுதியில். சரி. 655 00:53:43,880 --> 00:53:47,200 எனவே இப்போது நீங்கள் ஒன்றிணைப்பு மூலம் நாம் நடக்க வேண்டும்? >> [மாணவர்] சரி. 656 00:53:47,200 --> 00:53:52,150 நான் உருவாக்கிய இந்த புதிய வரிசை மூலம் நடைபயிற்சி. 657 00:53:52,150 --> 00:53:57,420 அதன் அளவை நாம் வரிசைப்படுத்தப்பட்ட வேண்டும் என்று வரிசைக்கு பகுதியை அளவு 658 00:53:57,420 --> 00:54:03,460 நான் புதிய வரிசை படி வைக்க வேண்டும் என்று உறுப்பு கண்டுபிடிக்க முயற்சி. 659 00:54:03,460 --> 00:54:10,140 அணியின் இடது பாதி எந்த கூறுகள் தொடர்ந்து இருந்தால், அந்த செய்ய, முதல் நான் சரி பார்க்கிறேன், 660 00:54:10,140 --> 00:54:14,260 அது இல்லை என்றால், பிறகு நீங்கள் சொல்வது அது வேறு நிலையில், கீழே போய் 661 00:54:14,260 --> 00:54:20,180 சரி, அது சரியான வரிசையில் இருக்க வேண்டும், மற்றும் நாம் newArray தற்போதைய குறியீட்டில் என்று வைக்கிறேன். 662 00:54:20,180 --> 00:54:27,620 >> வரிசைக்கு வலது பக்க மேலும் முடித்த பின் இல்லையென்றால், நான், சோதனை 663 00:54:27,620 --> 00:54:30,630 இதில் நான் இடது வைக்க. 664 00:54:30,630 --> 00:54:34,180 என்று உண்மையில் தேவையான இருக்கலாம். நிச்சயமாக இல்லை. 665 00:54:34,180 --> 00:54:40,970 ஆனால் எப்படியோ, இரண்டு மற்ற இரண்டு காசோலை இடது அல்லது வலது சிறியதாக இருக்கும். 666 00:54:40,970 --> 00:54:49,770 மேலும் ஒவ்வொரு வழக்கில், நான் அதிகப்படுத்த எந்த ஒதுக்கிட உயர்த்துவதன். 667 00:54:49,770 --> 00:54:52,040 [Bowden] சரி. 668 00:54:52,040 --> 00:54:53,840 அந்த நல்ல தெரிகிறது. 669 00:54:53,840 --> 00:54:58,800 யாராவது கருத்துக்கள் அல்லது கவலை அல்லது கேள்விகள்? 670 00:55:00,660 --> 00:55:07,720 அல்லது ஐந்து தெரிகிறது - - நாம் தான் இருப்பது பற்றிய விஷயங்களை கொண்டு வர வேண்டும் என்று நான்கு நிலைகளில் மிகவும் 671 00:55:07,720 --> 00:55:13,100 ஆனால் நாம், இடது வரிசை நாம் ஒன்றிணைக்க வேண்டும் விஷயங்கள் ரன் அவுட் என்பதை கருத்தில் கொள்ள வேண்டும் 672 00:55:13,100 --> 00:55:16,390 சரியான வரிசை நாம் ஒன்றிணைக்க வேண்டும் விஷயங்கள் ரன் அவுட் என்பதை - 673 00:55:16,390 --> 00:55:18,400 நான் எதுவும் சுட்டி. 674 00:55:18,400 --> 00:55:21,730 எனவே இடது வரிசை விஷயங்கள் ரன் அவுட் அல்லது சரியான வரிசை விஷயங்கள் ரன் அவுட் என்பதை. 675 00:55:21,730 --> 00:55:24,320 அந்த இரண்டு வழக்குகள் உள்ளன. 676 00:55:24,320 --> 00:55:30,920 நாங்கள் இடது சரியாக தான் குறைவாக உள்ளது என்பதை சாதாரணமான வழக்கு வேண்டும். 677 00:55:30,920 --> 00:55:33,910 நாம் இடது தான் தேர்வு செய்ய வேண்டும். 678 00:55:33,910 --> 00:55:37,630 அந்த சந்தர்ப்பங்களில் தான். 679 00:55:37,630 --> 00:55:40,990 எனவே இது சரியான, என்று என்று. 680 00:55:40,990 --> 00:55:46,760 வரிசை விட்டு. இது 1, 2, 3 என்று. சரி. எனவே ஆமாம், அந்த நாம் செய்ய வேண்டும் நான்கு விஷயங்கள் இருக்கின்றன. 681 00:55:50,350 --> 00:55:54,510 நாம் ஒரு தீர்வு பங்கேற்பு மேல் போகக்கூடாது. 682 00:55:54,510 --> 00:55:55,980 நான் பரிந்துரைக்க மாட்டேன் - 683 00:55:55,980 --> 00:56:03,070 ஒன்றாக்க வகையான, சூத்திர இரண்டு வால் இல்லை என்று ஒரு செயல்பாடு ஒரு உதாரணம் 684 00:56:03,070 --> 00:56:07,040 அது வால் சுழல்நிலை செய்ய எளிதல்ல 685 00:56:07,040 --> 00:56:13,450 ஆனால் அது பங்கேற்பு செய்ய மிகவும் எளிது அல்ல. 686 00:56:13,450 --> 00:56:16,910 இந்த மிக எளிது. 687 00:56:16,910 --> 00:56:19,170 ஒன்றிணைப்பு மாதிரி இந்த நடைமுறை, 688 00:56:19,170 --> 00:56:22,140 , நீங்கள் என்ன ஒன்றாக்க, நீங்கள் ஒன்றிணைப்பு கட்ட போகிறோம். 689 00:56:22,140 --> 00:56:29,170 >> எனவே ஒன்றிணைப்பு மேல் கட்டப்பட்ட வகையான மறுசுழலில் தான் இந்த மூன்று கோடுகள் இருக்கும் ஒன்றாக்க. 690 00:56:29,170 --> 00:56:34,700 செயலாற்றலாலோ, அதை பற்றி யோசிக்க இன்னும் எரிச்சலூட்டும் மற்றும் மிகவும் கடினமாக இருக்கிறது. 691 00:56:34,700 --> 00:56:41,860 ஆனால் அது mergeSortHelp இருந்து சுழல்நிலை வால் இல்லை என்று அறிவிப்பு - அது தன்னை அழைக்கும் போது - 692 00:56:41,860 --> 00:56:46,590 அது இன்னும் இந்த சுழல்நிலை அழைப்பு வருமானத்தை பின்னர் விஷயங்களை செய்ய வேண்டும். 693 00:56:46,590 --> 00:56:50,830 இந்த ஸ்டாக் சட்டகமானது கூட இந்த அழைப்பு பின்னர் உள்ளன தொடர்ந்து வேண்டும். 694 00:56:50,830 --> 00:56:54,170 பின்னர் இந்த அழைப்பு, ஸ்டாக் சட்டகமானது உள்ளன தொடர்ந்து வேண்டும் 695 00:56:54,170 --> 00:56:57,780 அந்த அழைப்பை பிறகு, நாம் இன்னும் ஒன்றிணைக்க வேண்டும் என்பதால். 696 00:56:57,780 --> 00:57:01,920 அது இந்த வால் சுழல்நிலை செய்ய nontrivial உள்ளது. 697 00:57:04,070 --> 00:57:06,270 கேள்விகள்? 698 00:57:08,300 --> 00:57:09,860 எல்லாம் சரி. 699 00:57:09,860 --> 00:57:13,400 எனவே வரிசைப்படுத்த செல்கிறேன் - ஓ, நான் காட்ட விரும்புகிறேன் இரண்டு விஷயங்கள் உள்ளன. சரி. 700 00:57:13,400 --> 00:57:17,840 அப்படி திரும்பி சென்று, நாம் விரைவில் இந்த செய்வேன். 701 00:57:17,840 --> 00:57:21,030 அல்லது தேடல். வகை? வரிசை. Yeah. 702 00:57:21,030 --> 00:57:22,730 அப்படி தொடக்கங்கள் செல்கிறேன். 703 00:57:22,730 --> 00:57:29,870 நாம் எந்த வழிமுறையை பயன்படுத்தி அந்த வகையான வரிசை ஒரு வழிமுறையை உருவாக்க வேண்டும் 704 00:57:29,870 --> 00:57:33,660 n, ஓ இல். 705 00:57:33,660 --> 00:57:40,860 எனவே எப்படி சாத்தியம்? யாருக்கும் எந்த உள்ளதா - 706 00:57:40,860 --> 00:57:44,300 நான் முன்பு சமிக்ஞை - 707 00:57:44,300 --> 00:57:48,300 நாம் n log n இருந்து n, ஓ மேம்படுத்த பற்றி என்றால், 708 00:57:48,300 --> 00:57:51,450 நாம் நமது வழிமுறையை நேரம் வாரியான, முன்னேற்றம் 709 00:57:51,450 --> 00:57:55,250 நாம் அது ஈடு செய்ய செய்ய வேண்டும் என்ன செய்ய போகிறாய்? பொருள் 710 00:57:55,250 --> 00:57:59,520 [மாணவர்] விண்வெளி. >> சரி. நாம் இன்னும் இடத்தை பயன்படுத்தி கொள்ள போகிறோம். 711 00:57:59,520 --> 00:58:04,490 மற்றும் கூட தான் அதிக இடம், அது அதிவேகமாக இன்னும் இடம் இருக்கிறது. 712 00:58:04,490 --> 00:58:14,320 அதனால் நான் வழிமுறையை இந்த வகை போலி ஒன்று, போலி polynom நினைக்கிறேன் - 713 00:58:14,320 --> 00:58:18,980 போலி - நான் நினைவில் முடியாது. போலி ஒன்று. 714 00:58:18,980 --> 00:58:22,210 நாம் இவ்வளவு இடைவெளி பயன்படுத்த வேண்டும், ஏனெனில் ஆனால் அது 715 00:58:22,210 --> 00:58:28,610 இந்த அடையக்கூடிய ஆனால் யதார்த்தமான இல்லை. 716 00:58:28,610 --> 00:58:31,220 >> எப்படி நாம் இந்த சாதிக்க போகிறார்கள்? 717 00:58:31,220 --> 00:58:36,810 நாங்கள் உத்தரவாதம் நாம் இந்த அடைய முடியும் என்று வரிசையில் எந்த குறிப்பிட்ட உறுப்பு 718 00:58:36,810 --> 00:58:39,600 கீழே ஒரு குறிப்பிட்ட அளவு. 719 00:58:42,070 --> 00:58:44,500 எனவே, ஒரு அளவு 200 என்று நாம் 720 00:58:44,500 --> 00:58:48,130 ஒரு வரிசையில் எந்த உறுப்பு கீழே அளவு 200 ஆகும். 721 00:58:48,130 --> 00:58:51,080 இந்த உண்மையில் மிகவும் யதார்த்தமான உள்ளது. 722 00:58:51,080 --> 00:58:58,660 நீங்கள் மிக எளிதாக அதை எல்லாம் தெரியும் என்று ஒரு வரிசை முடியும் 723 00:58:58,660 --> 00:59:00,570 சில பல விட குறைவாக இருக்க வேண்டும். 724 00:59:00,570 --> 00:59:07,400 நீங்கள் சில முற்றிலும் மகத்தான வெக்டார் அல்லது ஏதாவது இருந்தால் இப்படி 725 00:59:07,400 --> 00:59:11,810 ஆனால் நீங்கள் எல்லாம், 0 மற்றும் 5 இடையே இருக்கும் என்று எனக்கு தெரியும் 726 00:59:11,810 --> 00:59:14,790 அது இந்த செய்ய வேகமாக இருக்க போகிறது. 727 00:59:14,790 --> 00:59:17,930 மற்றும் உறுப்புகள் எந்த மீது பிணைப்பு, 5 உள்ளது 728 00:59:17,930 --> 00:59:21,980 இந்த பிணைப்பு எனவே, நீங்கள் பயன்படுத்தி கொள்ள போகிறோம் எவ்வளவு நினைவு. 729 00:59:21,980 --> 00:59:26,300 எனவே பிணைப்பு 200 ஆகும். 730 00:59:26,300 --> 00:59:32,960 ஒரு முழு எண் மட்டுமே 4 பில்லியன் முடியும் என்பதால் கோட்பாடு ஒரு பிணைப்பு, எப்போதும் இல்லை 731 00:59:32,960 --> 00:59:40,600 ஆனால் அந்த நாம் இடத்தை பயன்படுத்தி வேண்டும் என்று முதல் நடைமுறைக்கு தான் 732 00:59:40,600 --> 00:59:44,400 4 பில்லியன் வரிசையில். அதனால் நம்பத்தகாத தான். 733 00:59:44,400 --> 00:59:47,060 ஆனால் இங்கே நாம் நம் பிணைப்பு சொல்கிறேன் 200 ஆகும். 734 00:59:47,060 --> 00:59:59,570 n, ஓ அதை செய்து தந்திரம் நாம் அளவு எண்ணிக்கை கட்டப்படுகிறது என்று மற்றொரு அணி உருவாக்க வேண்டும். 735 00:59:59,570 --> 01:00:10,470 எனவே உண்மையில், இந்த ஒரு குறுக்குவழி இல்லை - கணகண வென்ற சப்தம் இந்த செய்தால், நான் உண்மையில் தெரியாது. 736 01:00:11,150 --> 01:00:15,330 ஆனால் மிக குறைந்த பட்சம் GCC உள்ள - I'm அனுமானித்து கணகண வென்ற சப்தம் கூட அது - 737 01:00:15,330 --> 01:00:18,180 இந்த 0s இருக்கும் முழு வரிசையில் துவக்க வேண்டும். 738 01:00:18,180 --> 01:00:25,320 நான் அதை செய்ய விரும்பவில்லை என்றால், நான் தனியாக செய்ய முடியும் (int நான் = 0; 739 01:00:25,320 --> 01:00:31,500 நான் <கட்டுண்ட; நான் +) மற்றும் எண்ணிக்கைகள் [நான்] = 0; 740 01:00:31,500 --> 01:00:35,260 அதனால் இப்போது எல்லாம் 0 துவக்கப்படும். 741 01:00:35,260 --> 01:00:39,570 நான், என் வரிசை பற்றி கூறு 742 01:00:39,570 --> 01:00:51,920 என்ன தான் நான் செய்கிறேன் நான் ஒவ்வொரு எண்ணிக்கை எண்ணி நான் தான் - இங்கே கீழே போகலாம். 743 01:00:51,920 --> 01:00:55,480 நாம் 4, 15, 16, 50, 8, 23, 42, 108 வேண்டும். 744 01:00:55,480 --> 01:01:00,010 என்ன எண்ணிக்கொண்டு இருக்கிறேன், அந்த உறுப்புகள் ஒவ்வொன்றும் ஏற்படுவதன் எண். 745 01:01:00,010 --> 01:01:03,470 அது உண்மையில் சில மீண்டும் இங்கு ஒரு ஜோடி இன்னும் சேர்க்க. 746 01:01:03,470 --> 01:01:11,070 நாம் இங்கே இருக்கும் மதிப்பு மிக, அந்த மதிப்பை [நான்] வரிசை இருக்கும். 747 01:01:11,070 --> 01:01:14,850 எனவே Val 4 அல்லது 8 அல்லது என்ன இருக்க முடியும். 748 01:01:14,850 --> 01:01:18,870 இப்போது நான், நான் பார்த்திருக்கிறேன் எவ்வளவு என்று மதிப்பு எண்ணும் 749 01:01:18,870 --> 01:01:21,230 எண்ணிக்கைகள் மிகவும் [Val] +; 750 01:01:21,230 --> 01:01:29,430 இதனை செய்த பின், எண்ணிக்கை 0001 போல் இருக்க போகிறது. 751 01:01:29,430 --> 01:01:42,190 எண்ணிக்கைகள் செய்ய நாம் [Val] - + 1 கட்டப்படுகிறது. 752 01:01:42,190 --> 01:01:48,230 >> இப்போது நாம் 0 ஆரம்பிக்கும் என்று உண்மையில் ஏற்ப தான் இருக்கிறது. 753 01:01:48,230 --> 01:01:50,850 நீங்கள் 200, நம் மிக பெரிய எண்ணிக்கையில் இருக்கும் 754 01:01:50,850 --> 01:01:54,720 பின்னர் 0 200 201 விஷயங்கள் ஆகும். 755 01:01:54,720 --> 01:02:01,540 நாம் ஒரு 4 ஏனெனில் எண்ணிக்கைகள் மிகவும், அதை 00001 இருக்க வேண்டும். 756 01:02:01,540 --> 01:02:10,210 நாங்கள் எண்ணிக்கை 8 குறியீட்டில் ஒரு 1 வேண்டும், அங்கு 0001 வேண்டும். 757 01:02:10,210 --> 01:02:14,560 நாங்கள் எண்ணிக்கை 23 குறியீட்டில் ஒரு 2 வேண்டும். 758 01:02:14,560 --> 01:02:17,630 நாங்கள் எண்ணிக்கை 42 குறியீட்டில் ஒரு 2 வேண்டும். 759 01:02:17,630 --> 01:02:21,670 எனவே எண்ணிக்கை பயன்படுத்தலாம். 760 01:02:34,270 --> 01:02:44,920 எனவே num_of_item = எண்ணிக்கைகள் [நான்]. 761 01:02:44,920 --> 01:02:52,540 மற்றும் num_of_item 2 ஆக இருந்தால், நாம் பல நான் 2 நுழைக்க வேண்டும் என்று அர்த்தம் 762 01:02:52,540 --> 01:02:55,290 எங்கள் வரிசைப்படுத்தப்பட்ட வரிசை மாற்றும். 763 01:02:55,290 --> 01:03:02,000 எனவே நாம் வரிசை முறையில் எவ்வளவு தூரம் கண்காணிப்பதற்கான வேண்டும். 764 01:03:02,000 --> 01:03:05,470 எனவே குறியீட்டு = 0. 765 01:03:05,470 --> 01:03:09,910 வரிசை - நான் அதை எழுத வேண்டும். 766 01:03:16,660 --> 01:03:18,020 எண்ணிக்கைகள் - 767 01:03:19,990 --> 01:03:28,580 வரிசை [குறியீட்டு +] = நான்; 768 01:03:28,580 --> 01:03:32,490 நான் என்ன என்று? நான் அந்த எனக்கு என்ன வேண்டும் என்று நான் நினைக்கிறேன். 769 01:03:35,100 --> 01:03:38,290 ஆமாம், இந்த நல்ல தெரிகிறது. சரி. 770 01:03:38,290 --> 01:03:43,050 எல்லோருக்கும் என் எண்ணிக்கைகள் வரிசை நோக்கம் என்ன என்பது புரிகிறது? 771 01:03:43,050 --> 01:03:48,140 இந்த எண்ணிக்கை ஒவ்வொரு ஏற்படுவதன் எத்தனை. 772 01:03:48,140 --> 01:03:51,780 நான், அந்த எண்ணிக்கைகள் வரிசை முழுவதும் தேடி 773 01:03:51,780 --> 01:03:57,190 எண்ணிக்கையும் அணியின் ith நிலை 774 01:03:57,190 --> 01:04:01,930 என் வரிசைப்படுத்தப்பட்ட வரிசையில் தோன்றும் வேண்டும் என்று நான் தான் எண்ணிக்கை. 775 01:04:01,930 --> 01:04:06,840 4 எண்ணிக்கை 1 போகிறேன் அதனால் தான் 776 01:04:06,840 --> 01:04:11,840 மற்றும் 8 எண்ணிக்கை 1 போகிறது, 23 எண்ணிக்கை 2 ஆக போகிறது. 777 01:04:11,840 --> 01:04:16,900 அதனால் நான் என் வரிசைப்படுத்தப்பட்ட வரிசை செருக வேண்டும் என்பதை அவர்கள் பல தான். 778 01:04:16,900 --> 01:04:19,200 பிறகு நான் அதை செய்ய. 779 01:04:19,200 --> 01:04:28,960 நான் என் வரிசைப்படுத்தப்பட்ட வரிசை கொண்டு தான் num_of_item சேர்க்கைக்கு. 780 01:04:28,960 --> 01:04:31,670 >> கேள்விகள்? 781 01:04:32,460 --> 01:04:43,100 நாங்கள் ஒருமுறை இந்த வழியாக தேடி என்பதால் அதனால் மீண்டும், இந்த, நேரியல் நேரம் 782 01:04:43,100 --> 01:04:47,470 ஆனால், இந்த எண்ணிக்கை இருக்க என்ன மேலும் ஒருபடி தான் 783 01:04:47,470 --> 01:04:50,730 அதனால் அது பெரிதும் உங்கள் பிணைப்பு என்ன சார்ந்திருக்கிறது. 784 01:04:50,730 --> 01:04:53,290 200 ஒரு பிணைப்பு கொண்டு, அந்த கெட்ட அல்ல. 785 01:04:53,290 --> 01:04:58,330 உங்கள் பிணைப்பு 10,000 ஆக போகிறது என்றால், அந்த, ஒரு சிறிய மோசமாக 786 01:04:58,330 --> 01:05:01,360 உங்கள் பிணைப்பு, 4 பில்லியன் போகிறது என்றால் ஆனால் அந்த முழுமையாக நடைமுறைக்கு தான் 787 01:05:01,360 --> 01:05:07,720 இந்த வரிசை நம்பத்தகாத இது அளவு 4 பில்லியன், இருக்க வேண்டும். 788 01:05:07,720 --> 01:05:10,860 அதனால் தான். கேள்விகள்? 789 01:05:10,860 --> 01:05:13,270 [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரி. 790 01:05:13,270 --> 01:05:15,710 நாம் செல்லும் போது நான் வேறு ஒரு விஷயம் புரிந்தது. 791 01:05:17,980 --> 01:05:23,720 நான் பிரச்சனை லூகாஸ் மற்றும் ஒருவேளை நாம் பார்த்த ஒவ்வொரு ஒரு இருந்தது. 792 01:05:23,720 --> 01:05:26,330 நான் முற்றிலும் மறந்துவிட்டேன். 793 01:05:26,330 --> 01:05:31,040 நான் கருத்து தெரிவிப்பவர் நினைத்த ஒரே விஷயம் என்று நீங்கள் குறியீடுகள் போன்ற விஷயங்களை கையாள்வதில், போது 794 01:05:31,040 --> 01:05:38,320 நீங்கள் லூப் ஒரு எழுதி போது நீங்கள் உண்மையில், இந்த பார்க்க முடியாது 795 01:05:38,320 --> 01:05:41,120 ஆனால் தொழில்நுட்பரீதியாக, அப்போது நீங்கள், இந்த குறியீடுகள் கையாள்வதில் 796 01:05:41,120 --> 01:05:45,950 நீங்கள் அழகாக மிகவும் எப்போதும் கையொப்பமிடாத முழு சமாளிக்க வேண்டும். 797 01:05:45,950 --> 01:05:53,850 நீங்கள் ஒப்பந்தம் முழு கையாளும் போது இந்த காரணம், இது 798 01:05:53,850 --> 01:05:56,090 நீங்கள் 2 கையெழுத்திட்ட இன்டீஜர்கள் மற்றும் அவற்றை ஒன்றாக சேர்க்க நீங்கள் 799 01:05:56,090 --> 01:06:00,640 அவர்கள் மிக பெரிய இறுதியில், நீங்கள் ஒரு எதிர்மறை எண் முடிவடையும். 800 01:06:00,640 --> 01:06:03,410 அதனால் முழு நிரம்பி வழிந்து என்ன. 801 01:06:03,410 --> 01:06:10,500 >> நான் 2 பில்லியன் மற்றும் 1 பில்லியன் சேர்க்க என்றால், நான் எதிர்மறை 1 பில்லியன் முடிவடையும். 802 01:06:10,500 --> 01:06:15,480 அந்த முழு கணினிகளில் வேலை எப்படி. 803 01:06:15,480 --> 01:06:17,510 பயன்படுத்தி பிரச்சனை - 804 01:06:17,510 --> 01:06:23,500 என்று, குறைந்த 2 பில்லியன் நடந்தால் தவிர நல்லது மற்றும் 1 பில்லியன் இருக்கும் நடக்கிறது 805 01:06:23,500 --> 01:06:27,120 இந்த 1 பில்லியன் எதிர்மறை போகிறது மற்றும் நாம் பிரித்து போவதை 2 806 01:06:27,120 --> 01:06:29,730 மற்றும் எதிர்மறை 500 மில்லியன் முடிவடையும். 807 01:06:29,730 --> 01:06:33,760 இந்த ஒரு வரிசை மூலம் தேடி வேண்டும் நேர்ந்தால் மட்டுமே ஒரு பிரச்சினை 808 01:06:33,760 --> 01:06:38,070 விஷயங்களை பில்லியன். 809 01:06:38,070 --> 01:06:44,050 குறைந்த + வரை வழிதல் நடந்தால் ஆனால், பின்னர் ஒரு பிரச்சினை. 810 01:06:44,050 --> 01:06:47,750 விரைவில் நாம் கையொப்பமிடாத செய்ய, பிறகு 2 பில்லியன் பிளஸ் 1 பில்லியன் 3 பில்லியன் ஆகும். 811 01:06:47,750 --> 01:06:51,960 2 வகுக்க 3 பில்லியன் 1.5 பில்லியன் ஆகும். 812 01:06:51,960 --> 01:06:55,670 அவர்கள் கையொப்பமிடாத தான் மிக விரைவில், எல்லாம் இருக்கிறது. 813 01:06:55,670 --> 01:06:59,900 நீங்கள் சுழல்கள் உங்கள் எழுதும் போது மற்றும் அதனால், ஒரு விஷயம் 814 01:06:59,900 --> 01:07:03,940 உண்மையில், இது பெரும்பாலும் தானாகவே அது. 815 01:07:09,130 --> 01:07:12,330 உண்மையில் நீங்கள் கத்துவார்கள். 816 01:07:12,330 --> 01:07:21,610 இந்த எண்ணிக்கை ஒரு முழு எண்ணாக இருக்க மிக பெரிய இல்லையென்றாலும், அது, ஒரு கையொப்பமிடாத முழு பொருந்தாது என்று 817 01:07:21,610 --> 01:07:24,970 அதை நீங்கள் கத்துவார்கள், நீங்கள் உண்மையில் பிரச்சினை தொடர்பாக இயக்க முடியாது, அதனால். 818 01:07:29,150 --> 01:07:34,820 நீங்கள், ஒரு குறியீட்டு எதிர்மறை இருக்க போவதில்லை என்று பார்க்க முடியும் 819 01:07:34,820 --> 01:07:39,220 அதனால் நீங்கள், ஒரு வரிசை முழுவதும் தேடி போது 820 01:07:39,220 --> 01:07:43,970 நீங்கள் எப்போதும் என் எண்ணாக கையொப்பமிடாத சொல்ல முடியாது, ஆனால் நீங்கள் உண்மையில் இல்லை. 821 01:07:43,970 --> 01:07:47,110 விஷயங்கள் மட்டும் அதே அழகான மிகவும் வேலை செய்ய போகிறோம். 822 01:07:48,740 --> 01:07:50,090 சரி. [கிசுகிசுவை] இது என்ன காலம்? 823 01:07:50,090 --> 01:07:54,020 நான் அதை மிகவும் விரைவான செய்வேன் - நான் காட்ட வேண்டும் கடைசியாக ஒன்று. 824 01:07:54,020 --> 01:08:03,190 நாம் # 5 அல்லது ஏதாவது ஒரு MAX வரையறுக்க முடியும் நாம் # வரையறுக்க வேண்டும் எப்படி தெரியுமா? 825 01:08:03,190 --> 01:08:05,940 மேக்ஸ் செய்ய நாம். # 200 பவுண்ட் வரையறை. என்று நாம் முன்பு செய்தது என்ன. 826 01:08:05,940 --> 01:08:10,380 வெறும் நகல் மற்றும் ஒட்ட வேண்டும் என்று எந்த ஒரு நிலையான, வரையறுக்கிறது என்று 827 01:08:10,380 --> 01:08:13,010 நாம் கட்டுண்ட எழுத நடக்கும் எங்கு. 828 01:08:13,010 --> 01:08:18,189 >> நாம் உண்மையில் # வரையறுக்கிறது மேலும் பலவற்றை செய்ய முடியும். 829 01:08:18,189 --> 01:08:21,170 நாம் # செயல்பாடுகளை வரையறுக்க முடியாது. 830 01:08:21,170 --> 01:08:23,410 அவர்கள் உண்மையிலேயே செயல்பாடுகளை அல்ல, ஆனால் நாங்கள் அவர்களை செயல்பாடுகளை அழைக்கிறேன். 831 01:08:23,410 --> 01:08:36,000 ஒரு எடுத்துக்காட்டாக MAX (x, y) போன்ற ஏதாவது இருக்க வேண்டும் (?: X x 01:08:40,660 எனவே, மும்மை ஆபரேட்டர் தொடரியல் பயன்படுத்தப்படுகிறது 833 01:08:40,660 --> 01:08:49,029 ஆனால் x y விட குறைவாக உள்ளது? Y திருப்பி, வேறு x திருப்பி. 834 01:08:49,029 --> 01:08:54,390 எனவே, இந்த ஒரு தனி செயல்பாடு செய்யலாம் பார்க்க முடியும் 835 01:08:54,390 --> 01:09:01,399 bool MAX 2 வாதங்களை எடுத்து போன்ற மற்றும் செயல்பாடு இருக்க முடியும், இந்த திரும்ப. 836 01:09:01,399 --> 01:09:08,340 இந்த மாதிரி செய்து நான் பார்க்க பொதுவானவை ஒன்றாகும். நாம் அவற்றை மேக்ரோக்களை அழைக்கும். 837 01:09:08,340 --> 01:09:11,790 இந்த ஒரு மேக்ரோ என்பது. 838 01:09:11,790 --> 01:09:15,859 இந்த அதை வாக்கிய அமைப்பு ஆகும். 839 01:09:15,859 --> 01:09:18,740 உனக்கு என்ன வேண்டுமோ செய்ய ஒரு மேக்ரோ எழுதலாம். 840 01:09:18,740 --> 01:09:22,649 நீங்கள் அடிக்கடி printfs மற்றும் பொருட்களை பிழைதிருத்தம் செய்யவும் மேக்ரோக்கள் பார்க்க. 841 01:09:22,649 --> 01:09:29,410 Printf ஒரு வகை எனவே, அடிக்கோடிட்டு LINE அடிக்கோடிட்டு போன்ற சி சிறப்பு மாறிலிகள் உள்ளன 842 01:09:29,410 --> 01:09:31,710 2, LINE அடிக்கோடிட்டு காட்டுகிறது 843 01:09:31,710 --> 01:09:37,550 நான் 2 FUNC அடிக்கோடிட்டு காட்டுகிறது என்று கூட இல்லை. அது இருக்கலாம். அந்த மாதிரி ஏதாவது. 844 01:09:37,550 --> 01:09:40,880 அந்த விஷயங்களை செயல்பாடு பெயரை மாற்ற வேண்டும் 845 01:09:40,880 --> 01:09:42,930 அல்லது உங்களுக்கு என்று வரிசை எண். 846 01:09:42,930 --> 01:09:48,630 அடிக்கடி, நீங்கள் இங்கு நான் எழுத முடியும் என்று பிழைத்திருத்தம் printfs எழுத 847 01:09:48,630 --> 01:09:54,260 பிழைத்திருத்த மற்றும் வரி எண் மற்றும் நான் இருக்க நடக்கும் என்று செயல்பாடு அச்சிட முடியாது 848 01:09:54,260 --> 01:09:57,020 அது பிழை அறிக்கை ஏற்பட்டுள்ளது என்று. 849 01:09:57,020 --> 01:09:59,550 நீங்கள் மற்ற விஷயங்களை அச்சிட முடியாது. 850 01:09:59,550 --> 01:10:05,990 எனவே நீங்கள் வெளியே பார்க்க வேண்டும் ஒன்றை நான் # DOUBLE_MAX வரையறை நேர்ந்தால் உள்ளது 851 01:10:05,990 --> 01:10:11,380 2 * y மற்றும் 2 போல என * x. 852 01:10:11,380 --> 01:10:14,310 அதனால் என்ன காரணம், நீங்கள் நிறைய செய்ய நடக்கும். 853 01:10:14,310 --> 01:10:16,650 அது ஒரு மேக்ரோ செய்ய. 854 01:10:16,650 --> 01:10:18,680 இந்த உண்மையில் உடைந்துவிட்டது. 855 01:10:18,680 --> 01:10:23,050 நான் DOUBLE_MAX (3, 6) போன்ற ஏதாவது செய்து அதை அழைக்கிறேன். 856 01:10:23,050 --> 01:10:27,530 அதனால் என்ன திரும்பினார்? 857 01:10:28,840 --> 01:10:30,580 [மாணவர்] 12. 858 01:10:30,580 --> 01:10:34,800 ஆம், 12 திரும்பினார், மற்றும் 12 திரும்புகிறது. 859 01:10:34,800 --> 01:10:43,350 3 x க்கு பதிலாக விடும், 6 y க்கு பதிலாக, நாம் 12 ஆகும் 2 * 6, மீண்டும். 860 01:10:43,350 --> 01:10:47,710 இப்போது என்ன இது? என்ன திரும்பினார்? 861 01:10:47,710 --> 01:10:50,330 [மாணவர்] 14. >> பொருத்தமாக, 14. 862 01:10:50,330 --> 01:10:55,290 பிரச்சினை வேலை வரையறுக்கிறது எப்படி ஹெஷ், அது ஒரு துல்லியமான நகல் மற்றும் பேஸ்ட் தான் நினைவில் உள்ளது 863 01:10:55,290 --> 01:11:00,160 அழகான மிகவும் எல்லாம், அதனால் என்ன இந்த பொருள் என்ன? 864 01:11:00,160 --> 01:11:11,270 1 மற்றும் 6, 2 முறை 1 மற்றும் 6, 2 முறை 3 விட 3 குறைவாக இருக்கிறது. 865 01:11:11,270 --> 01:11:19,780 >> அதனால் இந்த காரணத்திற்காக நீங்கள் எப்போதும் அடைப்புக்குறிக்குள் எல்லாம் போர்த்தி. 866 01:11:22,180 --> 01:11:25,050 நீங்கள் எப்போதும் அடைப்புக்குறிக்குள் மடிக்க எந்த மாறி. 867 01:11:25,050 --> 01:11:29,570 நான் இங்கே அதை செய்ய தேவையில்லை என்று போன்ற உங்களுக்கு இல்லை நிகழ்வுகளில், உள்ளன 868 01:11:29,570 --> 01:11:32,110 குறைவாக இருப்பதால் மிகவும் அதிகமாக எப்போதும் நான் வேலைக்கு செல்கிறேன், 869 01:11:32,110 --> 01:11:34,330 இருப்பினும் கூட உண்மை இருக்கலாம். 870 01:11:34,330 --> 01:11:41,870 DOUBLE_MAX (1 == 2) போன்ற வேடிக்கையாக இருக்கிறது என்றால், 871 01:11:41,870 --> 01:11:49,760 பின்னர் 3 குறைவாக 1 பதிலீடு செய்ய நடக்கிறது என்று, 2 சமமாக சமம் 872 01:11:49,760 --> 01:11:53,460 அதனால் அது, அந்த சம 2, 1 விட 3 குறைவாக செய்ய நடக்கிறது 873 01:11:53,460 --> 01:11:55,620 இதில் நாம் என்ன தேவை இல்லை. 874 01:11:55,620 --> 01:12:00,730 எனவே எந்த ஆபரேட்டர் முன்னுரிமை பிரச்சினைகளை தடுக்கும் பொருட்டு, 875 01:12:00,730 --> 01:12:02,870 எப்போதும் அடைப்புக்குறிக்குள் மடிக்க. 876 01:12:03,290 --> 01:12:07,700 சரி. என்று, 5:30 அது. 877 01:12:08,140 --> 01:12:12,470 நீங்கள் pset மீது ஏதேனும் கேள்விகள் இருந்தால், எங்களுக்கு தெரியப்படுத்துங்கள். 878 01:12:12,470 --> 01:12:18,010 இது வேடிக்கையாக இருக்க வேண்டும், மற்றும் ஹேக்கர் பதிப்பு கூட மிகவும் தத்ரூபமாக இருக்கிறது 879 01:12:18,010 --> 01:12:22,980 கடந்த ஆண்டு ஒரு ஹேக்கர் பதிப்பு விட, நாங்கள் உங்களுக்கு நிறைய முயற்சி என்று நம்புகிறேன். 880 01:12:22,980 --> 01:12:26,460 கடந்த ஆண்டு மிக பெரிய அளவில் இருந்தது. 881 01:12:28,370 --> 01:12:30,000 >> [CS50.TV]