1 00:00:00,000 --> 00:00:09,572 2 00:00:09,572 --> 00:00:12,030 ராப் Bowden: Hi, நான், ராப் Bowden இருக்கிறேன் மற்றும் ன் quiz0 பற்றி பேசுகிறேன். 3 00:00:12,030 --> 00:00:13,280 4 00:00:13,280 --> 00:00:14,545 >> எனவே, முதல் கேள்வி. 5 00:00:14,545 --> 00:00:17,750 இந்த கேள்வி எங்கே உள்ளது நீங்கள் எண் குறியீட்டை தேவை 6 00:00:17,750 --> 00:00:21,270 பைனரி பல்புகள் 127. 7 00:00:21,270 --> 00:00:23,550 நீங்கள் விரும்பினால், நீங்கள் முடிந்த வழக்கமான மாற்றம் செய்ய 8 00:00:23,550 --> 00:00:25,950 தசம இருந்து பைனரி, bi-- அல்லது இருந்து. 9 00:00:25,950 --> 00:00:28,300 ஆனால் அந்த ஒருவேளை நடக்கிறது நிறைய நேரம் எடுக்க. 10 00:00:28,300 --> 00:00:31,750 நான், நீ என்று கண்டுபிடிக்க முடியவில்லை, அர்த்தம், சரி, 1, அங்கு, 2 அங்கு உள்ளது 11 00:00:31,750 --> 00:00:33,650 4 அங்கு, 8 அங்கு உள்ளது. 12 00:00:33,650 --> 00:00:39,280 எளிதான வழி, 127 128 கழித்தல் ஒன்றாகும். 13 00:00:39,280 --> 00:00:42,013 அந்த இடப்புறம் உள்ள ஒன்றே விளக்குகளுக்கு 128 பிட் உள்ளது. 14 00:00:42,013 --> 00:00:43,490 15 00:00:43,490 --> 00:00:47,860 எனவே 127 தான் அனைத்து உண்மையில் மற்ற ஒளி விளக்குகளின், 16 00:00:47,860 --> 00:00:51,420 என்று இடப்புறம் உள்ள ஒன்றே என்பதால் ஒளி விளக்கை மைனஸ் 1. 17 00:00:51,420 --> 00:00:52,800 அந்த கேள்வி இது தான். 18 00:00:52,800 --> 00:00:54,060 >> கேள்வி ஒன்று. 19 00:00:54,060 --> 00:00:56,710 3 பிட்கள் எனவே நீங்கள் 8 வேறுபட்ட மதிப்புகள் பிரதிநிதித்துவம். 20 00:00:56,710 --> 00:01:01,000 அப்படியானால், பெரிய அல்லாத எதிர்மறை 7 நீங்கள் பிரதிநிதித்துவம் முடியும் தசம முழு? 21 00:01:01,000 --> 00:01:04,050 சரி, நாம் மட்டும் முடியும் 8 வேறுபட்ட மதிப்புகள் பிரதிநிதித்துவம், 22 00:01:04,050 --> 00:01:07,430 பிறகு நாம் என்ன போகிறாய் குறிக்கும் 7 மூலம் 0 உள்ளது. 23 00:01:07,430 --> 00:01:08,745 0 மதிப்புகள் ஒரு எடுத்து. 24 00:01:08,745 --> 00:01:09,980 25 00:01:09,980 --> 00:01:11,190 >> கேள்வி இரண்டு. 26 00:01:11,190 --> 00:01:14,610 N பிட்கள், எப்படி பல வேறுபட்ட மதிப்புகள் நீங்கள் பிரதிநிதித்துவம்? 27 00:01:14,610 --> 00:01:19,080 எனவே, n பிட்கள் உடன், நீங்கள் 2 வேண்டும் ஒவ்வொரு பிட் சாத்தியமான மதிப்புகள். 28 00:01:19,080 --> 00:01:22,300 எனவே 2 முடியும் மதிப்புகள் வேண்டும் முதல் பிட், 2 சாத்தியமான மதிப்புகள் 29 00:01:22,300 --> 00:01:24,450 இரண்டாவது, 2 மூன்றாவது சாத்தியம். 30 00:01:24,450 --> 00:01:28,730 அப்படி என்று 2 முறை 2 முறை 2, மற்றும் இறுதியில் பதில் 2 n க்கு உள்ளது. 31 00:01:28,730 --> 00:01:30,010 32 00:01:30,010 --> 00:01:31,100 >> கேள்வி மூன்று. 33 00:01:31,100 --> 00:01:33,450 பைனரி 0x50 என்ன? 34 00:01:33,450 --> 00:01:39,490 எனவே அறுபதின்ம ஒரு மிகவும் உள்ளது என்பதை நினைவில் பைனரி நேரடியான மாற்றம். 35 00:01:39,490 --> 00:01:43,180 எனவே இங்கே, நாம் தான் பார்க்க வேண்டும் 5 மற்றும் சுயாதீனமாக 0. 36 00:01:43,180 --> 00:01:45,110 எனவே பைனரி 5 என்ன? 37 00:01:45,110 --> 00:01:48,400 0101, என்று 1 பிட் மற்றும் 4 பிட் தான். 38 00:01:48,400 --> 00:01:49,900 பைனரி 0 என்ன? 39 00:01:49,900 --> 00:01:50,520 தந்திரமான இல்லை. 40 00:01:50,520 --> 00:01:52,180 0000. 41 00:01:52,180 --> 00:01:54,970 அதனால் தான் அவர்களை ஒன்றாக வைத்து, மற்றும் என்று பைனரி முழு எண். 42 00:01:54,970 --> 00:01:57,640 01010000. 43 00:01:57,640 --> 00:02:00,439 நீங்கள் விரும்பினால் நீங்கள் முடியும் என்று இடப்புறம் உள்ள ஒன்றே பூஜ்யம் எடுத்து. 44 00:02:00,439 --> 00:02:01,105 இது பொருத்தமற்ற. 45 00:02:01,105 --> 00:02:02,920 46 00:02:02,920 --> 00:02:05,733 >> எனவே மாற்றாக, தசம 0x50 என்ன? 47 00:02:05,733 --> 00:02:08,649 நீங்கள் விரும்பினால் நீங்கள் என்றால், நீங்கள் could-- பைனரி இன்னும் வசதியாக, 48 00:02:08,649 --> 00:02:11,340 நீங்கள் அந்த பைனரி பதில் ஆகலாம் மற்றும் தசம ஒரு என்று மாற்ற. 49 00:02:11,340 --> 00:02:13,870 அல்லது நாம் தான் நினைவில் முடியும் அறுபதின்ம. 50 00:02:13,870 --> 00:02:21,140 0 என்று எனவே 0-வது இடத்தில் உள்ளது, மற்றும் 5 முதல் இடத்தில் 16 இல் உள்ளது. 51 00:02:21,140 --> 00:02:25,990 எனவே இங்கே, நாம் 5 முறை 16 முதல், பூஜ்ஜியம் பிளஸ் 0 முறை 16, 52 00:02:25,990 --> 00:02:27,520 80 ஆகிறது. 53 00:02:27,520 --> 00:02:29,710 நீங்கள் பார்த்து கேள்விக்கு தலைப்பு, 54 00:02:29,710 --> 00:02:32,920 அது ஒரு வகையான இருந்தது சிஎஸ் 80, இருந்தது இந்த பிரச்சினை பதில் ஆலோசனை. 55 00:02:32,920 --> 00:02:34,460 56 00:02:34,460 --> 00:02:35,420 >> கேள்வி ஐந்து. 57 00:02:35,420 --> 00:02:40,320 நாம் இது, இந்த கீறல் ஸ்கிரிப்ட் 4 முறை வேர்க்கடலை வெண்ணெய் ஜெல்லி மீண்டும். 58 00:02:40,320 --> 00:02:42,800 நாம் எப்படி சி குறியீடு இப்போது செய்ய? 59 00:02:42,800 --> 00:02:47,730 சரி, நாம் இங்கே தடித்த பகுதியாக வேண்டும் நீங்கள் செயல்படுத்த வேண்டிய பகுதிதான். 60 00:02:47,730 --> 00:02:51,950 எனவே நாம் 4 தேடுகிறது என்று ஒரு 4 வளைய வேண்டும் முறை, வைட்டமின் என்கிறார் வேர்க்கடலை வெண்ணெய் ஜெல்லி, 61 00:02:51,950 --> 00:02:53,910 புதிய வரி பிரச்சனை கேட்கும் வரை. 62 00:02:53,910 --> 00:02:55,250 63 00:02:55,250 --> 00:02:57,490 >> கேள்வி ஆறு, மற்றொரு கீறல் பிரச்சினை. 64 00:02:57,490 --> 00:03:00,210 நாம் ஒரு நிரந்தரமாக வளைய என்று பார்க்க. 65 00:03:00,210 --> 00:03:05,000 நாம் மாறி நான் சொல்கிறீர்கள் பின்னர் 1 நான் உயர்த்துவதன். 66 00:03:05,000 --> 00:03:09,580 இப்போது நாம் சி உள்ளன என்று செய்ய வேண்டும் நாம் இதை செய்திருக்க முடியும் பல வழிகள் இருக்கிறது. 67 00:03:09,580 --> 00:03:12,840 இங்கே நாம் குறியீட்டை நடந்தோம் ஒரு (உண்மை) போது போன்ற நிரந்தரமாக வளைய. 68 00:03:12,840 --> 00:03:16,600 எனவே தான், நான் மாறி அறிவிக்கிறோம் போன்ற நாம் கீறல் மாறி நான் இருந்தோம். 69 00:03:16,600 --> 00:03:21,950 நான் மாறி அறிவிக்க, மற்றும் எப்போதும் (உண்மை) போது, நாம் மாறி நான் சொல்ல. 70 00:03:21,950 --> 00:03:25,260 வைட்டமின்% வரை நான் அல்லது நீங்கள்% d பயன்படுத்தப்படும் கொடுத்திருக்கலாமே எனவே. 71 00:03:25,260 --> 00:03:27,985 நாம் அது மாறி சொல்கிறோம், மற்றும் பின்னர் அதை அதிகப்படுத்த, நான் ++. 72 00:03:27,985 --> 00:03:29,560 73 00:03:29,560 --> 00:03:30,830 >> கேள்வி ஏழு. 74 00:03:30,830 --> 00:03:35,560 இப்போது நாம் மிகவும் போன்ற ஏதாவது செய்ய வேண்டும் மரியோ டாட் கேட்ச் பிரச்சனை இருந்து ஒன்று அமைத்தது. 75 00:03:35,560 --> 00:03:39,110 நாம் இந்த ஹாஷ்டேகுகளை அச்சிட வேண்டும், நாங்கள் ஒரு ஐந்து அச்சிட வேண்டும் 76 00:03:39,110 --> 00:03:40,700 இந்த ஹாஷ்களைப் மூன்று செவ்வகம். 77 00:03:40,700 --> 00:03:41,770 78 00:03:41,770 --> 00:03:43,162 நாம் எப்படி செய்ய போகிறாய் என்று? 79 00:03:43,162 --> 00:03:45,370 சரி, நாம் நீங்கள் ஒரு முழு கொடுக்கிறோம் குறியீடு ஒரு கொத்து, மற்றும் நீங்கள் 80 00:03:45,370 --> 00:03:47,560 அச்சு கட்டம் செயல்பாடு நிரப்ப வேண்டும். 81 00:03:47,560 --> 00:03:49,540 >> எனவே என்ன PrintGrid இருப்பான்? 82 00:03:49,540 --> 00:03:51,480 சரி நீங்கள் கடந்த இருக்கிறீர்கள் அகலம் மற்றும் உயரம். 83 00:03:51,480 --> 00:03:53,520 எனவே நாம் ஒரு வெளி வேண்டும் 4 வட்டத்திற்கு, அந்த தேடுகிறது 84 00:03:53,520 --> 00:03:57,650 இந்த அனைத்து வரிசைகளையும் மீது நாம் வெளியே அச்சிட வேண்டும் என்று கட்டம். 85 00:03:57,650 --> 00:04:01,250 பின்னர் நாம், இடையேயான உள்ளமை 4 வளைய வேண்டும் என்று ஒவ்வொரு நிரலை மீது அச்சிடும் தான். 86 00:04:01,250 --> 00:04:06,210 எனவே ஒவ்வொரு வரிசையிலும், நாம் அச்சிட ஒவ்வொரு பத்தியில், ஒரு ஒற்றை ஹாஷ். 87 00:04:06,210 --> 00:04:10,045 பின்னர் வரிசையில் இறுதியில் நாம் அச்சிட ஒரு ஒற்றை புதிய வரி அடுத்த வரிசையில் செல்ல. 88 00:04:10,045 --> 00:04:11,420 அந்த முழு கட்டம் இது தான். 89 00:04:11,420 --> 00:04:12,810 90 00:04:12,810 --> 00:04:13,675 >> கேள்வி எட்டு. 91 00:04:13,675 --> 00:04:17,170 PrintGrid போன்ற ஒரு செயல்பாடு கூறினார் மீண்டும் ஒரு பக்க விளைவு இல்லை, ஆனால் 92 00:04:17,170 --> 00:04:17,670 மதிப்பு. 93 00:04:17,670 --> 00:04:19,209 வேறுபாட்டை விளக்கவும். 94 00:04:19,209 --> 00:04:23,080 எனவே இந்த நீங்கள் நினைவு நம்பியுள்ளது ஒரு பக்க விளைவு என்ன. 95 00:04:23,080 --> 00:04:25,180 சரி, ஒரு திரும்ப மதிப்பு நாம் PrintGrid இல்லை தெரியும் 96 00:04:25,180 --> 00:04:28,180 பின்னர், திரும்பி மதிப்பு இல்லை வலது இங்கே அது வெற்றிடத்தை கூறுகிறது. 97 00:04:28,180 --> 00:04:31,150 வெற்றிடத்தை கொடுக்கிறது என்று, அதனால் எதற்கும் உண்மையில் எதையும் தராது. 98 00:04:31,150 --> 00:04:32,200 99 00:04:32,200 --> 00:04:33,620 எனவே பக்க விளைவு என்ன? 100 00:04:33,620 --> 00:04:36,620 சரி, ஒரு பக்க விளைவு ஆகும் அப்படி தொடர்ந்தால் என்று எதுவும் 101 00:04:36,620 --> 00:04:39,500 செயல்பாடு முடிவடையும்போது என்று, வந்துவிட்டன் இருந்தது 102 00:04:39,500 --> 00:04:41,340 மற்றும் அது வெறும் உள்ளீடுகள் இருந்து இருந்தது. 103 00:04:41,340 --> 00:04:44,970 >> அதனால், எடுத்துக்காட்டாக, நாம் வல்லமை ஒரு உலகளாவிய மாறி மாற்ற. 104 00:04:44,970 --> 00:04:46,590 அந்த ஒரு பக்க விளைவு இருக்கும். 105 00:04:46,590 --> 00:04:49,000 இந்த குறிப்பிட்ட வழக்கில், ஒரு மிகவும் முக்கியமான பக்க விளைவு 106 00:04:49,000 --> 00:04:51,070 திரையில் அச்சிடுதல். 107 00:04:51,070 --> 00:04:53,110 அதனால் ஒரு பக்க விளைவு ஆகும் என்று PrintGrid உள்ளது. 108 00:04:53,110 --> 00:04:54,980 நாம் திரையில் இந்த விஷயங்களை அச்சிட. 109 00:04:54,980 --> 00:04:56,370 மற்றும் நீங்கள் யோசிக்க முடியும் என்று ஒரு பக்க விளைவு, 110 00:04:56,370 --> 00:04:58,690 என்று ஏதாவது என்பதால் இந்த செயல்பாடு முடிவடைகிறது பிறகு தொடர்ந்தால். 111 00:04:58,690 --> 00:05:01,481 அந்த நோக்கம் வெளியே விஷயம் இந்த செயல்பாடு என்று இறுதியில் 112 00:05:01,481 --> 00:05:03,380 மாற்றப்பட்டுக்கொண்டிருக்கிறது, திரையில் உள்ளடக்கங்களை. 113 00:05:03,380 --> 00:05:05,200 114 00:05:05,200 --> 00:05:05,839 >> கேள்வி ஒன்பது. 115 00:05:05,839 --> 00:05:07,880 , கீழே திட்டம் கவனியுங்கள் இது வரி எண்கள் 116 00:05:07,880 --> 00:05:09,740 சேர்க்கப்பட்டுள்ளது விவாதம் பொருட்டு. 117 00:05:09,740 --> 00:05:13,480 இந்த திட்டத்தில் எனவே தான் இருக்கிறோம் அதை சேமித்து, GetString நினைத்தீர்கள் 118 00:05:13,480 --> 00:05:16,220 இந்த மாறி கள், பின்னர் என்று மாறி கள் அச்சிடும். 119 00:05:16,220 --> 00:05:16,720 சரி. 120 00:05:16,720 --> 00:05:19,090 வரி ஒன்று உள்ளது ஏன் விளக்க. 121 00:05:19,090 --> 00:05:20,920 அடங்கும், cs50 டாட் மணி. 122 00:05:20,920 --> 00:05:23,820 நாம் ஏன், cs50 டாட் மணி # சேர்க்க வேண்டும்? 123 00:05:23,820 --> 00:05:26,180 சரி நாம் நினைத்தீர்கள் செயல்பாடு GetString, 124 00:05:26,180 --> 00:05:28,840 மற்றும் GetString வரையறுக்கப்பட்ட cs50 நூலகம் உள்ள. 125 00:05:28,840 --> 00:05:31,600 நாம் இல்லை என்றால் எனவே அடங்கும், cs50 டாட் மணி, 126 00:05:31,600 --> 00:05:35,760 நாம் என்று உள்ளார்ந்த அறிவிப்பு கிடைக்கும் GetString செயல்பாடு பிழை 127 00:05:35,760 --> 00:05:36,840 ஒடுக்கி இருந்து. 128 00:05:36,840 --> 00:05:40,110 எனவே நாம் நூலகம் சேர்க்க வேண்டும் நாம் தலைப்பு கோப்பு சேர்க்க வேண்டும், 129 00:05:40,110 --> 00:05:42,870 அல்லது வேறு ஒடுக்கி மாட்டேன் GetString உள்ளது என்று அங்கீகரிக்க. 130 00:05:42,870 --> 00:05:44,380 131 00:05:44,380 --> 00:05:46,140 >> வரி இரண்டு தற்போது ஏன் விளக்குங்கள். 132 00:05:46,140 --> 00:05:47,890 நிலையான IO டாட் மணி. 133 00:05:47,890 --> 00:05:50,430 அது போலவே தான் முந்தைய பிரச்சனை என, 134 00:05:50,430 --> 00:05:53,310 பதிலாக கையாள்வதில் தவிர GetString நாம் வைட்டமின் பற்றி பேசுகிறீர்கள். 135 00:05:53,310 --> 00:05:56,654 நாம் வேண்டும் என்று இல்லை என்றால், அதனால் நிலையான IO டாட் மணி சேர்க்க, 136 00:05:56,654 --> 00:05:58,820 பின்னர் நாம் முடியாது printf செயல்பாட்டை பயன்படுத்த, 137 00:05:58,820 --> 00:06:00,653 ஒடுக்கி ஏனெனில் அது பற்றி தெரியாது. 138 00:06:00,653 --> 00:06:01,750 139 00:06:01,750 --> 00:06:05,260 >> Why-- முக்கியத்துவம் என்ன வரி நான்கு களைவதற்கு? 140 00:06:05,260 --> 00:06:08,010 எனவே இங்கே நாம் எண்ணாக முக்கிய (வெற்றிடத்தை) வேண்டும். 141 00:06:08,010 --> 00:06:10,600 என்று தான் என்று நாம் கூறி எந்த கட்டளை வரி பெறுவது 142 00:06:10,600 --> 00:06:12,280 முக்கிய வாதங்கள். 143 00:06:12,280 --> 00:06:17,390 நாம் எண்ணாக சொல்ல முடியும் என்பதை நினைவில் கொள்ளுங்கள் முக்கிய எண்ணாக argc சரம் argv அடைப்புக்குறிக்குள். 144 00:06:17,390 --> 00:06:20,400 எனவே இங்கே நாம் வெறும் நாம் சொல்ல வெற்றிடத்தை சொல்ல கட்டளை வரி வாதங்களை புறக்கணிப்பதாக. 145 00:06:20,400 --> 00:06:21,840 146 00:06:21,840 --> 00:06:25,225 >> சரியாக, நினைவகம் பொறுத்து, விளக்குங்கள் வரி என்ன GetString ஆறு திரும்புகிறார். 147 00:06:25,225 --> 00:06:27,040 148 00:06:27,040 --> 00:06:31,640 GetString ஒரு தொகுதி திரும்பிய நினைவகம், கதாபாத்திரங்கள் ஒரு வரிசை. 149 00:06:31,640 --> 00:06:34,870 அது உண்மையில் ஒரு திரும்பி முதல் பாத்திரம் சுட்டிக்காட்டி. 150 00:06:34,870 --> 00:06:37,170 ஒரு சரம் ஒரு எரிப்பதை நட்சத்திர என்பதை நினைவில் கொள்ளுங்கள். 151 00:06:37,170 --> 00:06:41,360 எனவே கள் முதல் ஒரு சுட்டிக்காட்டி உள்ளது பாத்திரம் என்ன சரம் 152 00:06:41,360 --> 00:06:43,510 பயனர் விசைப்பலகை உள்ளிட்ட என்று. 153 00:06:43,510 --> 00:06:47,070 அந்த நினைவகம் malloced நடக்கும், எனவே அந்த நினைவு குவியல் இருக்கிறது. 154 00:06:47,070 --> 00:06:49,080 155 00:06:49,080 --> 00:06:50,450 >> கேள்வி 13. 156 00:06:50,450 --> 00:06:51,960 கீழே திட்டம் கவனியுங்கள். 157 00:06:51,960 --> 00:06:55,579 எனவே இந்த திட்டத்தை செய்து 1 10 வகுக்க வைட்டமின் என்கிறார். 158 00:06:55,579 --> 00:06:57,370 எனவே தொகுக்கப்பட்ட போது மற்றும் கொலை, இந்த திட்டம் 159 00:06:57,370 --> 00:07:01,170 வெளியீடுகளை 0.0, கூட 1 10 வகுக்க 0.1 ஆகும். 160 00:07:01,170 --> 00:07:02,970 எனவே ஏன் அது 0.0 ஆகும்? 161 00:07:02,970 --> 00:07:05,510 சரி, இந்த ஏனெனில் உள்ளது முழு பிரிவு. 162 00:07:05,510 --> 00:07:08,580 எனவே 1 ஒரு முழு 10, ஒரு முழு உள்ளது. 163 00:07:08,580 --> 00:07:11,980 எனவே 1 10, எல்லாம் வகுக்க முழு கருதப்பட, 164 00:07:11,980 --> 00:07:16,380 மற்றும் சி, நாம் முழு பிரிவு செய்யும் போது, நாம் எந்த தசம புள்ளி வெட்டு. 165 00:07:16,380 --> 00:07:19,590 எனவே, 10 1 பிரிக்கப்பட்டுள்ளது 0, பின்னர் நாம் முயற்சிக்கும் 166 00:07:19,590 --> 00:07:24,410 எனவே, ஒரு மிதவை என்று அச்சிட ஒரு மிதவை என அச்சிடப்பட்ட பூஜ்யம் 0.0 உள்ளது. 167 00:07:24,410 --> 00:07:27,400 நாம் 0.0 கிடைக்கும் அதனால் தான். 168 00:07:27,400 --> 00:07:28,940 >> கீழே திட்டம் கவனியுங்கள். 169 00:07:28,940 --> 00:07:31,280 இப்போது நாம் 0.1 அச்சிடும். 170 00:07:31,280 --> 00:07:34,280 எனவே எந்த முழு பிரிவு, நாம் வெறும், 0.1 அச்சிடும் 171 00:07:34,280 --> 00:07:37,100 ஆனால் நாம் அதை அச்சிட்டு 28 தசாம்சமாக. 172 00:07:37,100 --> 00:07:41,810 மற்றும் நாம் இந்த 0.1000, ஒரு மொத்தமாக கிடைக்கும் பூஜ்ஜியங்களைக், 5 5 5, அபத்தம் அபத்தம் அபத்தம். 173 00:07:41,810 --> 00:07:45,495 அது ஏன் எனவே இங்கே கேள்வி பதிலாக சரியாக 0.1, என்று அச்சிட? 174 00:07:45,495 --> 00:07:46,620 175 00:07:46,620 --> 00:07:49,640 >> எனவே இங்கே காரணம் இப்போது உள்ளது புள்ளி imprecision மிதக்கும். 176 00:07:49,640 --> 00:07:53,410 ஒரு மிதவை மட்டும் 32 பிட்டுகள் ஆகும் என்பதை நினைவில் கொள்ளுங்கள். 177 00:07:53,410 --> 00:07:57,540 எனவே நாம் ஒரே ஒரு வரையறுக்கப்பட்ட எண் பிரதிநிதித்துவம் முடியாது அந்த 32 புள்ளி மதிப்புகள் மிதக்கும் 178 00:07:57,540 --> 00:07:58,560 பிட்கள். 179 00:07:58,560 --> 00:08:01,760 சரி இறுதியில் எண்ணற்ற இருக்கிறது பல மிதவை புள்ளி மதிப்புகள், 180 00:08:01,760 --> 00:08:04,940 மற்றும் மிதக்கும் எண்ணற்ற பல இருக்கிறது 0 மற்றும் 1 இடையே புள்ளி மதிப்புகள், 181 00:08:04,940 --> 00:08:07,860 மற்றும் நாம் வெளிப்படையாக முடிகிறது அதை விட இன்னும் மதிப்புகள் பிரதிநிதித்துவம். 182 00:08:07,860 --> 00:08:13,230 எனவே நாம் தியாகம் செய்ய வேண்டும் மிகவும் மதிப்புகள் பிரதிநிதித்துவம் முடியும். 183 00:08:13,230 --> 00:08:16,960 >> எனவே, 0.1 போன்ற ஒரு மதிப்பு, வெளிப்படையாக நாம் என்று சரியாக பிரதிநிதித்துவம் முடியாது. 184 00:08:16,960 --> 00:08:22,500 எனவே, அதற்கு பதிலாக 0.1 குறிக்கும் நாம் செய்கிறோம் சிறந்த நாம் இந்த 0.100000 5 5 பிரதிநிதித்துவம் முடியும் 185 00:08:22,500 --> 00:08:23,260 5. 186 00:08:23,260 --> 00:08:26,306 அந்த, மிகவும் அருகில் ஆனால் பயன்பாடுகள் நிறைய 187 00:08:26,306 --> 00:08:28,430 நீங்கள் கவலைப்பட வேண்டும் புள்ளி imprecision மிதக்கும், 188 00:08:28,430 --> 00:08:30,930 நாம் வெறும் பிரதிநிதித்துவம் முடியாது ஏனெனில் அனைத்து புள்ளிகள் சரியாக மிதக்கும். 189 00:08:30,930 --> 00:08:32,500 190 00:08:32,500 --> 00:08:33,380 >> கேள்வி 15. 191 00:08:33,380 --> 00:08:34,679 கீழே குறியீடு கவனியுங்கள். 192 00:08:34,679 --> 00:08:36,630 நாம் வெறும் 1 பிளஸ் 1 அச்சிடும். 193 00:08:36,630 --> 00:08:38,289 எனவே இங்கே எந்த தந்திரம் உள்ளது. 194 00:08:38,289 --> 00:08:41,780 1 பிளஸ் 1 2 மதிப்பீடு, மற்றும் பின்னர் நாங்கள் அந்த அச்சிடும். 195 00:08:41,780 --> 00:08:42,789 இது 2 அச்சிடுகிறது. 196 00:08:42,789 --> 00:08:43,850 197 00:08:43,850 --> 00:08:44,700 >> கேள்வி 16. 198 00:08:44,700 --> 00:08:49,450 இப்போது நாம் பாத்திரம் அச்சிடுவதற்கு 1 பிளஸ் பாத்திரம் 1. 199 00:08:49,450 --> 00:08:52,110 எனவே ஏன் இந்த இல்லை அதே அச்சிட? 200 00:08:52,110 --> 00:08:57,680 சரி பாத்திரம் 1 பிளஸ் பாத்திரம் 1, பாத்திரம் 1 ASCII மதிப்பு 49 உள்ளது. 201 00:08:57,680 --> 00:09:04,840 எனவே இந்த உண்மையில் 49 கூறி பிளஸ் 49, மற்றும் இறுதியில் இந்த 98 அச்சிட நடக்கிறது. 202 00:09:04,840 --> 00:09:06,130 எனவே இந்த 2 அச்சிட. 203 00:09:06,130 --> 00:09:08,070 204 00:09:08,070 --> 00:09:09,271 >> கேள்வி 17. 205 00:09:09,271 --> 00:09:11,520 செயல்படுத்த முடிக்க போன்ற ஒரு வழியில் கீழே ஒற்றைப்படை 206 00:09:11,520 --> 00:09:14,615 செயல்பாடு என்றால் உண்மை கொடுக்கிறது என்று n என்பது இரட்டை என்றால் n ஒற்றை மற்றும் தவறானது. 207 00:09:14,615 --> 00:09:16,710 208 00:09:16,710 --> 00:09:19,330 இந்த ஒரு பெரிய நோக்கம் இருக்கிறது மோட் ஆபரேட்டர் ஐந்து. 209 00:09:19,330 --> 00:09:24,530 எனவே நாம் நமது வாதம் n எடுத்து, n மோட் 2 நன்கு 1, சமம் என்றால் 210 00:09:24,530 --> 00:09:28,030 என்று n பிரிக்கப்பட்டுள்ளது என்று அர்த்தம் 2 ஒரு எஞ்சிய இருந்தது. 211 00:09:28,030 --> 00:09:33,270 N 2 வகுக்க என்றால், ஒரு எஞ்சிய என்று n ஒற்றை எண், எனவே நாம் உண்மையான திரும்ப என்று அர்த்தம். 212 00:09:33,270 --> 00:09:34,910 வேறு நாம் தவறான திரும்ப. 213 00:09:34,910 --> 00:09:39,070 நீங்கள் 2 சமமாக mod n செய்திருக்க முடியும் பூஜ்யம், வேறு, தவறான திரும்ப உண்மை திருப்பி. 214 00:09:39,070 --> 00:09:41,600 215 00:09:41,600 --> 00:09:43,640 >> கீழே சுழல்நிலை செயல்பாடு கவனியுங்கள். 216 00:09:43,640 --> 00:09:46,920 N என்றால் குறைவாக அல்லது 1 திரும்ப, 1 சமமாக, 217 00:09:46,920 --> 00:09:50,430 n கழித்து 1 ஊ வேறு திரும்பி n முறை. 218 00:09:50,430 --> 00:09:52,556 எனவே இந்த செயல்பாடு என்ன? 219 00:09:52,556 --> 00:09:54,305 சரி, இந்த தான் காரணியாலான செயல்பாடு. 220 00:09:54,305 --> 00:09:55,410 221 00:09:55,410 --> 00:09:57,405 இந்த நன்றாக பிரதிநிதித்துவம் n காரணியாலான போன்ற. 222 00:09:57,405 --> 00:09:58,720 223 00:09:58,720 --> 00:10:02,310 >> எனவே இப்போது 19 கேள்வி, நாம் வேண்டும் இந்த சுழல்நிலை செயல்பாடு எடுத்து. 224 00:10:02,310 --> 00:10:04,530 நாம் அது பங்கேற்பு செய்ய வேண்டும். 225 00:10:04,530 --> 00:10:05,874 நாம் எப்படி செய்ய வேண்டும்? 226 00:10:05,874 --> 00:10:07,790 சரி ஊழியர்கள் தீர்வு, மற்றும் மீண்டும் அங்கு தான் 227 00:10:07,790 --> 00:10:11,090 நீங்கள் செய்திருக்க முடியும் பல வழிகளில் , நாம் இந்த எண்ணாக தயாரிப்பு தொடங்கும் என்று 228 00:10:11,090 --> 00:10:11,812 1 சமம். 229 00:10:11,812 --> 00:10:13,520 மற்றும் இந்த முழுவதும் லூப், நாம் போகிறோம் 230 00:10:13,520 --> 00:10:17,590 இறுதியில் தயாரிப்பு பெருகி வருவதாகத் முழு காரணியாலான முடிவடையும். 231 00:10:17,590 --> 00:10:21,870 முழு எண்ணாக நான் 2 சமமாக எனவே, நான் இருக்கிறேன் குறைவாக அல்லது n சமமாக, நான் ++. 232 00:10:21,870 --> 00:10:24,130 >> நான் 2 சமமாக ஏன் நீங்கள் ஆச்சரியப்படலாம். 233 00:10:24,130 --> 00:10:28,380 சரி, நாம் வேண்டும் இங்கே நினைவில் நம் அடிப்படை வழக்கில் சரியானதா என்பதை உறுதி. 234 00:10:28,380 --> 00:10:32,180 N விட குறைவாக அல்லது சமமாக இருந்தால் எனவே 1, நாம் தான் 1 திரும்பிய. 235 00:10:32,180 --> 00:10:34,830 நான் 2 சமமாக இங்கே மீது எனவே, நாம் தொடங்கும். 236 00:10:34,830 --> 00:10:39,090 சரி, நான் 1, இருந்தால் பின்னர் the-- அல்லது n லூப் பின்னர் 1, இருந்தது என்றால் 237 00:10:39,090 --> 00:10:40,600 அனைத்து இயக்க முடியாது. 238 00:10:40,600 --> 00:10:43,190 எனவே நாம் தான் என்று 1 இது திரும்ப தயாரிப்பு,. 239 00:10:43,190 --> 00:10:45,920 இதேபோல், அதை n இருந்தது மேல் எதுவும் குறைவாக 1 வேண்டும் 240 00:10:45,920 --> 00:10:49,290 அது 0, இருந்தால் எதிர்மறை 1, whatever-- நாம் இன்னும், 1 திரும்பிய 241 00:10:49,290 --> 00:10:52,260 இது சரியாக என்ன சுழல்நிலை பதிப்பு செய்கிறாய். 242 00:10:52,260 --> 00:10:54,660 >> இப்போது, N அதிகமாக இருந்தால் 1 விட, பின்னர் நாம் போகிறோம் 243 00:10:54,660 --> 00:10:56,550 குறைந்தது ஒரு செய்ய இந்த வட்டத்திற்கு ஹீரோக்களின். 244 00:10:56,550 --> 00:11:00,630 எனவே நாம் இருக்கிறோம், ன் n 5 சொல்கிறேன் தயாரிப்பு முறை செய்ய போகிறேன் 2 சமம். 245 00:11:00,630 --> 00:11:02,165 எனவே இப்போது தயாரிப்பு 2 உள்ளது. 246 00:11:02,165 --> 00:11:04,040 இப்போது நாம் என்ன செய்ய போகிறோம் தயாரிப்பு முறை 3 சமம். 247 00:11:04,040 --> 00:11:04,690 இப்போது அது 6 தான். 248 00:11:04,690 --> 00:11:07,500 தயாரிப்பு முறை இப்போது அது 24 தான், 4 சமம். 249 00:11:07,500 --> 00:11:10,420 தயாரிப்பு முறை இப்போது அது 120 தான், 5 சமம். 250 00:11:10,420 --> 00:11:16,730 எனவே இறுதியில், நாம் திரும்பி சரியாக 5 காரணியாலான இது 120,. 251 00:11:16,730 --> 00:11:17,510 >> கேள்வி 20. 252 00:11:17,510 --> 00:11:22,480 இந்த நீங்கள் நிரப்ப வேண்டும் எங்கே ஒன்றாகும் எந்தவொரு வழிமுறையை கொண்டு இந்த அட்டவணையில், 253 00:11:22,480 --> 00:11:25,735 நாம் பார்த்த அந்த எதையும், என்று இந்த வழிமுறை ரன் பொருந்துகிறது 254 00:11:25,735 --> 00:11:28,060 முறை இந்த அறிகுறியும் ரன் முறை. 255 00:11:28,060 --> 00:11:33,270 எனவே ஒரு வழிமுறை என்ன என்று 1 ஒமேகா, ஆனால் n பெரிய ஓ? 256 00:11:33,270 --> 00:11:35,970 எனவே எண்ணற்ற இருக்க முடியும் இங்கே பல பதில்களை. 257 00:11:35,970 --> 00:11:39,790 நாம் ஒருவேளை மிகவும் பார்த்திருக்கிறேன் என்று ஒன்று அடிக்கடி வெறும் நேர்கோட்டு தேடல் இருக்கிறது. 258 00:11:39,790 --> 00:11:42,050 >> அதனால் சிறந்த வழக்கில் சூழ்நிலையில், நாம் இருக்கிறோம் உருப்படி 259 00:11:42,050 --> 00:11:44,050 தேடும் உள்ளது பட்டியலில் தொடங்கி 260 00:11:44,050 --> 00:11:47,400 மற்றும் அதனால் 1 படிகள் ஒமேகா இல், நாம் பார்க்கலாம் முதல் விஷயம், 261 00:11:47,400 --> 00:11:49,740 நாங்கள் உடனடியாக திரும்ப என்று நாம் உருப்படி காணப்படவில்லை. 262 00:11:49,740 --> 00:11:52,189 மோசமான நிலைமையில், உருப்படி, இறுதியில் 263 00:11:52,189 --> 00:11:53,730 அல்லது உருப்படி அனைத்து பட்டியலில் உள்ளது. 264 00:11:53,730 --> 00:11:56,700 எனவே நாம் தேட வேண்டும் முழு பட்டியலை, அனைத்து n 265 00:11:56,700 --> 00:11:58,480 கூறுகள், மற்றும் அதை n ஓ அதனால் தான். 266 00:11:58,480 --> 00:11:59,670 267 00:11:59,670 --> 00:12:04,880 >> எனவே இப்போது அது இரண்டு என்று ஒன்று என்று n log n ஒமேகா, மற்றும் n log n பெரிய ஓ. 268 00:12:04,880 --> 00:12:08,650 சரி மிகவும் பொருத்தமான விஷயம் நாம் இங்கே பார்த்ததில்லை வகையான ஒன்றாக்க உள்ளது. 269 00:12:08,650 --> 00:12:12,950 எனவே வகையான, நினைவில் ஒன்றாக்க, இறுதியில் தீட்டா 270 00:12:12,950 --> 00:12:16,920 தீட்டா வரையறுக்கப்பட்ட அமைந்துள்ள n log n, இன் ஒமேகா மற்றும் பெரிய ஓ இருவரும் அதே இருந்தால். 271 00:12:16,920 --> 00:12:17,580 இருவரும், n log n. 272 00:12:17,580 --> 00:12:18,690 273 00:12:18,690 --> 00:12:21,970 >> ஒமேகா என்று ஏதாவது என்ன n,, மற்றும் n ஓ? 274 00:12:21,970 --> 00:12:23,990 சரி, மீண்டும் அங்கு பல பதில்கள். 275 00:12:23,990 --> 00:12:26,440 இங்கே நாம் குமிழி சொல்ல நடக்கும். 276 00:12:26,440 --> 00:12:28,840 செருகும் வரிசையாக்கம் மேலும் இங்கே வேலை செய்யும். 277 00:12:28,840 --> 00:12:31,400 குமிழி வரிசையாக்கம் ஞாபகம் தேர்வுமுறை எங்கே உள்ளது, 278 00:12:31,400 --> 00:12:34,630 நீங்கள் பெற முடியும் என்றால் முழு பட்டியல் மூலம் 279 00:12:34,630 --> 00:12:37,402 செய்ய தேவையில்லாமலேயே எந்த பரிமாற்றங்கள், பின்னர், நன்றாக, 280 00:12:37,402 --> 00:12:40,110 நாம் உடனடியாக அந்த திரும்ப முடியும் பட்டியலில் தொடங்கும் வரிசைப்படுத்தப்பட்ட. 281 00:12:40,110 --> 00:12:43,185 , சிறந்த வழக்கு சூழ்நிலையில் எனவே அதை n வெறும் ஒமேகா தான். 282 00:12:43,185 --> 00:12:45,960 அது வெறும் ஒரு நன்றாக இல்லை என்றால் தொடங்கும் பட்டியலில் வரிசைப்படுத்தப்பட்ட 283 00:12:45,960 --> 00:12:48,270 பின்னர் நாம் n ஓ பரிமாற்றங்கள் ஸ்கொயர் வேண்டும். 284 00:12:48,270 --> 00:12:49,330 285 00:12:49,330 --> 00:12:55,610 இறுதியாக, நாம் தேர்வு மாதிரி இருக்கும் ஸ்கொயர் n ஐந்து, ஒமேகா மற்றும் பெரிய பெ இருவரும் 286 00:12:55,610 --> 00:12:56,850 >> கேள்வி 21. 287 00:12:56,850 --> 00:12:58,870 முழு வழிதல் என்ன? 288 00:12:58,870 --> 00:13:02,160 சரி மீண்டும், முன்பு போலவே, நாம் மட்டும் finitely பல பிட்கள் வேண்டும் 289 00:13:02,160 --> 00:13:04,255 ஒரு முழு பிரதிநிதித்துவம், அதனால் 32 பிட்டுகள். 290 00:13:04,255 --> 00:13:06,300 291 00:13:06,300 --> 00:13:09,180 நாம் ஒரு ஒப்பந்தம் முழு வேண்டும் என்று. 292 00:13:09,180 --> 00:13:12,800 பின்னர் இறுதியில் உயர்ந்த நேர்மறை எண் நாம் பிரதிநிதித்துவம் முடியும் 293 00:13:12,800 --> 00:13:15,910 2 31 மைனஸ் 1. 294 00:13:15,910 --> 00:13:19,370 நாம் முயற்சி செய்தால் அதனால் என்ன நடக்கும் பின்னர் அந்த முழு அதிகப்படுத்த? 295 00:13:19,370 --> 00:13:25,320 சரி, நாம் 31 2 இருந்து செல்ல போகிறோம் மைனஸ் 1, கீழே எதிர்மறை 2 அனைத்து வழி 296 00:13:25,320 --> 00:13:26,490 31. 297 00:13:26,490 --> 00:13:29,470 எனவே இந்த முழு நிரம்பி வழிந்து நீங்கள் உயர்த்துவதன் வைத்து போது, 298 00:13:29,470 --> 00:13:32,330 இறுதியாக நீங்கள் முடியாது எந்த உயர் மற்றும் அது தான் பெற 299 00:13:32,330 --> 00:13:34,520 மீண்டும் அனைத்து வழி மறைப்புகள் ஒரு எதிர்மறை மதிப்பு சுற்றி. 300 00:13:34,520 --> 00:13:35,850 301 00:13:35,850 --> 00:13:37,779 >> ஒரு இடையக வழிதல் பற்றி என்ன? 302 00:13:37,779 --> 00:13:39,820 எனவே ஒரு தாங்கல் overflow-- ஒரு தாங்கல் என்ன நினைவில். 303 00:13:39,820 --> 00:13:41,000 அது நினைவகம் ஒரு துண்டின் தான். 304 00:13:41,000 --> 00:13:43,350 ஒரு வரிசை போன்ற ஏதாவது ஒரு தாங்கல் உள்ளது. 305 00:13:43,350 --> 00:13:46,120 எனவே ஒரு இடையக வழிதல் போது உள்ளது நீங்கள் நினைவகம் அணுக முயற்சி 306 00:13:46,120 --> 00:13:47,880 என்று வரிசை இறுதியில் அப்பால். 307 00:13:47,880 --> 00:13:50,410 நீங்கள் ஒரு இல்லை என்றால் அளவு 5 மற்றும் நீங்கள் வரிசை 308 00:13:50,410 --> 00:13:53,700 வரிசை அடைப்புக்குறி அணுக முயற்சி 5 அல்லது அடைப்புக்குறி 6 அல்லது அடைப்புக்குறி 7, 309 00:13:53,700 --> 00:13:56,610 அப்பால் அல்லது எதையும் இறுதியில், அல்லது கூட எதையும் 310 00:13:56,610 --> 00:14:00,790 below-- வரிசை அடைப்புக்குறி எதிர்மறை 1 வேண்டும் அந்த அனைத்து தாங்கல் வழிந்து உள்ளன. 311 00:14:00,790 --> 00:14:02,810 நீங்கள் கெட்ட வழிகளில் நினைவகத்தை தொட்டு. 312 00:14:02,810 --> 00:14:04,090 313 00:14:04,090 --> 00:14:04,730 >> கேள்வி 23. 314 00:14:04,730 --> 00:14:05,760 315 00:14:05,760 --> 00:14:09,100 நீங்கள் தேவை இந்த ஒரு எனவே strlen செயல்படுத்த வேண்டும். 316 00:14:09,100 --> 00:14:11,630 மற்றும் நாம் நீங்கள் என்று சொல்கிறோம் ங்கள் பூஜ்ய முடியாது கருதி, 317 00:14:11,630 --> 00:14:13,790 எனவே நீங்கள் வேண்டும் பூஜ்ய எந்த சோதனை செய்ய. 318 00:14:13,790 --> 00:14:16,190 மற்றும் பல வழிகள் உள்ளன நீங்கள் இதை செய்திருக்க முடியும். 319 00:14:16,190 --> 00:14:18,440 இங்கே நாம் வெறும் நேரடியான எடுக்க. 320 00:14:18,440 --> 00:14:21,780 நாம் n, ஒரு எதிர் தொடங்கும். n ஆகும் அங்கு எத்தனை எழுத்துக்கள் உள்ளன எண்ணும். 321 00:14:21,780 --> 00:14:25,560 எனவே நாம் பின்னர் 0 துவங்க, மற்றும் முழு பட்டியலில் மீது மீண்டும் கூறு. 322 00:14:25,560 --> 00:14:29,092 >> சமமாக ங்கள் அடைப்புக்குறி 0 பூஜ்ய அழிப்பு தன்மையை? 323 00:14:29,092 --> 00:14:31,425 நாம் தேடும் ஞாபகம் பூஜ்ய அழிப்பு தன்மையை 324 00:14:31,425 --> 00:14:33,360 எங்கள் சரம் எப்படி நீண்ட தீர்மானிக்க. 325 00:14:33,360 --> 00:14:35,890 அந்த முறித்து போகிறது எந்த தொடர்புடைய சரம். 326 00:14:35,890 --> 00:14:39,400 எனவே கள் அடைப்புக்குறி 0 சமமாக உள்ளது பூஜ்ய அழிப்பு செய்ய? 327 00:14:39,400 --> 00:14:42,850 அது இல்லை என்றால், நாம் போகிறோம் கள் அடைப்புக்குறி 1, கள் அடைப்புக்குறி 2 பாருங்கள். 328 00:14:42,850 --> 00:14:45,050 நாம் வரை நடக்கிறது பூஜ்ய அழிப்பு கண்டுபிடிக்க. 329 00:14:45,050 --> 00:14:48,580 நாம் அதை கண்டுபிடித்தோம் ஒருமுறை, பின்னர் n கொண்டிருக்கிறது சரம் மொத்த நீளம், 330 00:14:48,580 --> 00:14:49,942 நாம் தான் திரும்ப முடியும். 331 00:14:49,942 --> 00:14:51,180 332 00:14:51,180 --> 00:14:51,865 >> கேள்வி 24. 333 00:14:51,865 --> 00:14:53,010 334 00:14:53,010 --> 00:14:56,050 எனவே இந்த ஒன்றாகும் எங்கே நீங்கள் வர்த்தக ஆஃப் செய்ய வேண்டும். 335 00:14:56,050 --> 00:14:59,810 எனவே ஒரு விஷயம் ஒன்று நல்லது ஆனால் என்ன வழியில் வழி அது மோசமாக இருக்கிறது? 336 00:14:59,810 --> 00:15:02,980 எனவே இங்கே, ஒன்றாக்க வகையான முனைகிறது குமிழி விட வேகமாக இருக்கும். 337 00:15:02,980 --> 00:15:06,530 அங்கு, நன்கு அப்படி கூறினார் பல பதில்கள் இங்கே உள்ளன. 338 00:15:06,530 --> 00:15:12,930 ஆனால் முக்கிய ஒன்று என்று குமிழி ஆகிறது ஒரு வரிசைப்படுத்தப்பட்ட பட்டியலை n, ஒமேகா உள்ளது. 339 00:15:12,930 --> 00:15:14,950 >> நாம் முன்பே பார்த்தேன் என்று அட்டவணை ஞாபகம். 340 00:15:14,950 --> 00:15:17,600 எனவே குமிழி ஒமேகா வகையான N, சிறந்த வழக்கு சூழ்நிலையில் 341 00:15:17,600 --> 00:15:20,010 அது வெறும் மேல் சென்று முடியும் தான் ஆகிறது பட்டியலில் ஒருமுறை, தீர்மானிக்க 342 00:15:20,010 --> 00:15:22,270 ஏய் இந்த விஷயம் ஏற்கனவே உள்ளது வரிசைப்படுத்தப்பட்ட, மற்றும் திரும்ப. 343 00:15:22,270 --> 00:15:25,960 எந்த விஷயத்தை, ஒன்றாக்க வகையான என்ன நீங்கள் செய்ய, n log n ஒமேகா உள்ளது. 344 00:15:25,960 --> 00:15:29,200 வரிசைப்படுத்தப்பட்ட பட்டியலை ஐந்து, குமிழி எனவே வகையான வேகமாக இருக்கும் நடக்கிறது. 345 00:15:29,200 --> 00:15:30,870 346 00:15:30,870 --> 00:15:32,430 >> இப்போது பட்டியல்கள் பற்றி இணைக்கப்பட்ட? 347 00:15:32,430 --> 00:15:36,070 எனவே ஒரு இணைக்கப்பட்ட பட்டியலில் வளர மற்றும் சுருக்க முடியும் தேவை என பல கூறுகள் பொருந்தும். 348 00:15:36,070 --> 00:15:38,489 அதனால் அப்படி கூறினார் வழக்கமாக நேரடி ஒப்பீடு 349 00:15:38,489 --> 00:15:40,280 ஒரு இணைக்கப்பட்ட இருக்க போகிறது ஒரு வரிசை பட்டியலிட. 350 00:15:40,280 --> 00:15:41,600 351 00:15:41,600 --> 00:15:44,050 எனவே கூட வரிசைகள் முடியும் என்றாலும் எளிதாக வளரும் மற்றும் சுருக்க 352 00:15:44,050 --> 00:15:47,130 போன்ற பல கூறுகள் பொருந்தும் தேவையான, ஒரு இணைக்கப்பட்ட பட்டியலில் 353 00:15:47,130 --> 00:15:49,600 ஒரு வரிசைக்கு ஒரு ஒப்பிடும்போது வரிசை சீரற்ற அணுகல் உள்ளது. 354 00:15:49,600 --> 00:15:52,960 நாம் எந்த குறியீட்டு முடியும் வரிசை குறிப்பிட்ட உறுப்பு. 355 00:15:52,960 --> 00:15:56,430 >> எனவே ஒரு இணைக்கப்பட்ட பட்டியலில், நம்மால் முடியாது ஐந்தாவது உறுப்பு சென்று, 356 00:15:56,430 --> 00:16:00,260 நாம் ஆரம்பத்தில் இருந்து தொடரவேண்டும் நாம் ஐந்தாவது உறுப்பு கிடைக்கும் வரை. 357 00:16:00,260 --> 00:16:03,990 அந்த நம்மை தடுக்க நடக்கிறது இரும தேடல் போன்ற ஏதாவது செய்து. 358 00:16:03,990 --> 00:16:08,150 பைனரி தேடல் பேசுகையில், பைனரி தேடல் நேரியல் தேடல் விட வேகமாக இருக்கிறது. 359 00:16:08,150 --> 00:16:11,120 அப்படி கூறினார் எனவே, ஒரு சாத்தியமான விஷயம் 360 00:16:11,120 --> 00:16:13,380 நீங்கள் பைனரி செய்ய முடியாது என்று ஆகிறது இணைக்கப்பட்ட பட்டியல்கள் தேட, 361 00:16:13,380 --> 00:16:14,730 நீங்கள் மட்டும் வரிசைகள் அதை செய்ய முடியும். 362 00:16:14,730 --> 00:16:18,030 ஆனால் ஒருவேளை இன்னும் முக்கியமாக, நீங்கள் இரும தேடல் செய்ய முடியாது 363 00:16:18,030 --> 00:16:20,690 சரியாகவில்லை என்று ஒரு வரிசை மீது. 364 00:16:20,690 --> 00:16:23,990 அப்பிரண்ட் நீங்கள் வரிசைப்படுத்த வேண்டும் வரிசை, மற்றும் மட்டும் பின் முடியும் 365 00:16:23,990 --> 00:16:25,370 நீங்கள் பைனரி தேடல் செய்ய. 366 00:16:25,370 --> 00:16:27,660 உங்கள் விஷயம் இல்லை என்றால் தொடங்கும் வரிசைப்படுத்தப்பட்ட, 367 00:16:27,660 --> 00:16:29,250 பின்னர் நேரியல் தேடல் வேகமாக இருக்கலாம். 368 00:16:29,250 --> 00:16:30,620 369 00:16:30,620 --> 00:16:31,740 >> கேள்வி 27. 370 00:16:31,740 --> 00:16:34,770 எனவே கீழே திட்டம் கருத்தில், இது அடுத்த slide இல் இருக்கும். 371 00:16:34,770 --> 00:16:37,790 மற்றும் இந்த நாம் இருக்கும்போது அங்கு ஒன்றாகும் வெளிப்படையாக கூற விரும்பவில்லை போகிறது 372 00:16:37,790 --> 00:16:39,980 பல்வேறு மாறிகள் மதிப்புகள். 373 00:16:39,980 --> 00:16:41,990 எனவே அந்த பார்போம். 374 00:16:41,990 --> 00:16:43,160 >> எனவே ஒன்று வரிசையாக. 375 00:16:43,160 --> 00:16:45,457 நாம், int x 1 சமம். 376 00:16:45,457 --> 00:16:47,040 அந்த நடந்தது என்று மட்டும் தான். 377 00:16:47,040 --> 00:16:50,440 எனவே வரி ஒன்றில், நாம் பார்க்க எங்கள் அட்டவணை, y ஆனது, ஒரு, ஆ, மற்றும் tmp அனைத்து உள்ளது 378 00:16:50,440 --> 00:16:51,540 இருண்டுவிட்டது. 379 00:16:51,540 --> 00:16:52,280 எனவே x என்ன? 380 00:16:52,280 --> 00:16:53,860 சரி நாம் தான் அது 1 சமமாக அமைக்க. 381 00:16:53,860 --> 00:16:55,020 382 00:16:55,020 --> 00:16:58,770 பின்னர், நன்றாக, இரண்டு வரிசையாக நாம், y, 2 அமைக்கப்படுகிறது என்று பார்க்கிறோம் 383 00:16:58,770 --> 00:17:00,550 மற்றும் அட்டவணை ஏற்கனவே உள்ளது எங்களுக்கு நிரப்பி. 384 00:17:00,550 --> 00:17:03,040 எனவே x 1 மற்றும் y, 2. 385 00:17:03,040 --> 00:17:05,890 >> இப்போது, வரி மூன்று, நாம் இப்போது இருக்கிறோம் இடமாற்று செயல்பாடு உள்ளே. 386 00:17:05,890 --> 00:17:07,560 என்ன நாம் மாற்ற கடந்து? 387 00:17:07,560 --> 00:17:11,609 நாம் ஐந்து உம்மைக்குறி x நிறைவேற்றினோம் ஆ ஒரு, மற்றும் ampersand y. 388 00:17:11,609 --> 00:17:15,160 எங்கே பிரச்சினை முந்தைய என்று குறிப்பிட்டார் x முகவரி 389 00:17:15,160 --> 00:17:17,520 0x10 உள்ளது, மற்றும் y முகவரி 0x14 உள்ளது. 390 00:17:17,520 --> 00:17:18,970 391 00:17:18,970 --> 00:17:21,909 எனவே ஒரு மற்றும் ப சமமாக இருந்தால் முறையே 0x10 மற்றும் 0x14,. 392 00:17:21,909 --> 00:17:23,670 393 00:17:23,670 --> 00:17:26,250 >> இப்போது வரி மூன்று மணிக்கு, x மற்றும் y என்ன? 394 00:17:26,250 --> 00:17:28,554 சரி, எதுவும் மாறவில்லை இந்த கட்டத்தில் x மற்றும் y பற்றி. 395 00:17:28,554 --> 00:17:30,470 கூட அவர்கள் தான் என்றாலும் ஒரு முக்கிய ஸ்டாக் சட்டத்தில் உள்ளே, 396 00:17:30,470 --> 00:17:32,469 அவர்கள் இன்னும் அதே வேண்டும் மதிப்புகள் முன்னர் செய்தது. 397 00:17:32,469 --> 00:17:34,030 நாம் எந்த நினைவக திருத்தப்பட்டது. 398 00:17:34,030 --> 00:17:35,710 எனவே x 1, y, 2. 399 00:17:35,710 --> 00:17:36,550 400 00:17:36,550 --> 00:17:37,050 அனைத்து சரியான. 401 00:17:37,050 --> 00:17:40,300 எனவே இப்போது நாம் ஒரு நட்சத்திரம் சமமாக எண்ணாக tmp கூறினார். 402 00:17:40,300 --> 00:17:44,410 எனவே வரி நான்கு, எல்லாம் tmp தவிர அதே உள்ளது. 403 00:17:44,410 --> 00:17:47,130 நாம் எந்த மாறவில்லை tmp தவிர எதையும். 404 00:17:47,130 --> 00:17:49,230 நாம் ஒரு நட்சத்திரமாக சம tmp அமைக்க. 405 00:17:49,230 --> 00:17:50,620 நட்சத்திர ஒரு என்ன? 406 00:17:50,620 --> 00:17:56,240 சரி, ஒரு புள்ளிகள் x க்கு, எனவே ஒரு நட்சத்திரம் 1 இது சமமாக x, போகிறது. 407 00:17:56,240 --> 00:18:00,080 எனவே எல்லாம் நகல் கீழே, மற்றும் tmp 1 அமைக்க. 408 00:18:00,080 --> 00:18:01,110 >> இப்போது அடுத்த வரியில். 409 00:18:01,110 --> 00:18:03,380 ஸ்டார் ஒரு நட்சத்திர ஆ சமம். 410 00:18:03,380 --> 00:18:10,000 எனவே வரி மூலம் five-- நன்கு மீண்டும், எல்லாம் நட்சத்திர ஒரு என்ன தவிர அதே உள்ளது. 411 00:18:10,000 --> 00:18:10,830 நட்சத்திர ஒரு என்ன? 412 00:18:10,830 --> 00:18:13,720 சரி, நாம் நட்சத்திர ஒரு x ஆகும் கூறினோம். 413 00:18:13,720 --> 00:18:16,400 எனவே நாம் சம நட்சத்திர ஆ செய்ய x மாறும். 414 00:18:16,400 --> 00:18:18,960 நட்சத்திர ஆ என்ன? y. y க்கு ப புள்ளிகள். 415 00:18:18,960 --> 00:18:21,030 எனவே நட்சத்திர ஆ y ஆகும். 416 00:18:21,030 --> 00:18:25,140 எனவே நாம், y க்கு x சமமாக அமைக்க மற்றும் எல்லாமே ஒன்றுதான். 417 00:18:25,140 --> 00:18:29,130 X இப்போது அதனால் தான் நாம் அடுத்த வரிசையில் பார்க்கிறோம் 2, மற்றும் மீதமுள்ள வெறும் கீழே நகல். 418 00:18:29,130 --> 00:18:31,120 >> இப்போது அடுத்த வரியில், நட்சத்திர ப tmp சமம். 419 00:18:31,120 --> 00:18:34,740 சரி, நாம் நட்சத்திர ஆ y ஆகும் கூறினோம், எனவே நாம் tmp, y சமமாக அமைக்க. 420 00:18:34,740 --> 00:18:37,450 எல்லாவற்றையும் தான் ஆகிறது எல்லாம் கீழே நகல். 421 00:18:37,450 --> 00:18:42,050 நாம் இது, tmp க்கு y சமமாக அமைக்க வேறு ஒன்று, மற்றும் எல்லாம் ஒரே மாதிரி இருக்கிறது. 422 00:18:42,050 --> 00:18:43,210 >> இப்போது இறுதியாக, வரி ஏழு. 423 00:18:43,210 --> 00:18:44,700 நாம் மீண்டும் முக்கிய செயல்பாடு இருக்கும். 424 00:18:44,700 --> 00:18:46,350 இடமாற்று முடித்த பிறகு நாம் இருக்கிறோம். 425 00:18:46,350 --> 00:18:48,972 நாம் ஒரு, ஆ இழந்தது, மற்றும் tmp, ஆனால் நாம் இறுதியில் 426 00:18:48,972 --> 00:18:51,180 எந்த மதிப்புகள் மாற்றவே இந்த புள்ளி எதுவும், 427 00:18:51,180 --> 00:18:52,800 நாம் தான் x மற்றும் y கீழே நகல். 428 00:18:52,800 --> 00:18:56,490 மற்றும் நாம் x மற்றும் y என்று பார்க்கிறோம் இப்போது 2 மற்றும் 1 பதிலாக 1 மற்றும் 2. 429 00:18:56,490 --> 00:18:58,160 இடமாற்று வெற்றிகரமாக நிறைவேற்றப்பட்ட. 430 00:18:58,160 --> 00:18:59,500 431 00:18:59,500 --> 00:19:00,105 >> கேள்வி 28. 432 00:19:00,105 --> 00:19:01,226 433 00:19:01,226 --> 00:19:03,100 நீங்கள் சந்திப்பதில்லை என்று நினைக்கிறேன் பிழை செய்திகளை 434 00:19:03,100 --> 00:19:06,790 அலுவலக நேரங்களில் கீழே ஒரு CA அல்லது TF அடுத்த ஆண்டு. 435 00:19:06,790 --> 00:19:08,930 இந்த பிழைகள் ஒவ்வொரு சரி என்பதை அறிவுறுத்தும். 436 00:19:08,930 --> 00:19:11,160 GetString எனவே வரையறுக்கப்படாத குறிப்பு. 437 00:19:11,160 --> 00:19:12,540 ஏன் நீங்கள் இந்த பார்க்க வேண்டும்? 438 00:19:12,540 --> 00:19:15,380 சரி, ஒரு மாணவர் பயன்படுத்தி என்றால் தங்கள் குறியீடு உள்ள GetString, 439 00:19:15,380 --> 00:19:20,310 அவர்கள் ஒழுங்காக cs50 சேர்க்கப்பட்டுள்ளது டாட் மணி cs50 நூலகம் சேர்க்க. 440 00:19:20,310 --> 00:19:22,380 >> சரி, அவர்கள் என்ன செய்கிறது இந்த பிழை சரி செய்ய வேண்டும்? 441 00:19:22,380 --> 00:19:26,810 அவர்கள் ஒரு கோடு lcs50 செய்ய வேண்டும் அவர்கள் ஒடுக்குவதற்கான போது கட்டளை வரி. 442 00:19:26,810 --> 00:19:29,501 அவர்கள் கடந்து என்றால் எனவே பிரபோ கோடு lcs50, அவர்கள் இருக்கிறார்கள் 443 00:19:29,501 --> 00:19:32,000 உண்மையான வேண்டும் GetString செயல்படுத்தும் குறியீடு. 444 00:19:32,000 --> 00:19:33,190 445 00:19:33,190 --> 00:19:34,170 >> கேள்வி 29. 446 00:19:34,170 --> 00:19:36,190 உட்குறிப்பாக அறிவித்தார் நூலகம் செயல்பாடு strlen. 447 00:19:36,190 --> 00:19:37,550 448 00:19:37,550 --> 00:19:40,360 சரி இந்த இப்போது, அவர்கள் வேண்டும் சரியான ஹாஷ் செய்யப்படுகிறது அடங்கும். 449 00:19:40,360 --> 00:19:41,440 450 00:19:41,440 --> 00:19:45,410 இந்த குறிப்பிட்ட வழக்கில், தலைப்பு கோப்பு அவர்கள், சரம் டாட் மணி உள்ளது சேர்க்க வேண்டும் 451 00:19:45,410 --> 00:19:48,710 மற்றும் இப்போது சரம் டாட் மணி, உட்பட இப்போது மாணவர் ஒடுக்கி 452 00:19:48,710 --> 00:19:51,750 அனுமதி உள்ளது strlen ஒரு அறிவிப்புக்கள், 453 00:19:51,750 --> 00:19:54,120 மற்றும் அது தெரிகிறது உங்கள் குறியீடு என்று சரியாக பயன்படுத்தி. 454 00:19:54,120 --> 00:19:55,380 455 00:19:55,380 --> 00:19:56,580 >> கேள்வி 30. 456 00:19:56,580 --> 00:20:00,240 மேலும் சதவீதம் மாற்றங்கள் தரவு வாதங்கள் விட. 457 00:20:00,240 --> 00:20:01,540 எனவே இந்த என்ன? 458 00:20:01,540 --> 00:20:06,470 சரி இந்த சதவிகிதம் என்பதை நினைவில் அவர்கள் printf தொடர்புடைய இருக்கிறோம் எப்படி signs--. 459 00:20:06,470 --> 00:20:08,890 எனவே printf நாம் percent-- வேண்டும் நாம் ஏதாவது அச்சிட வேண்டும் 460 00:20:08,890 --> 00:20:11,380 சதவிகிதம் போன்ற நான் n பின்சாய்வுக்கோடாகிறேன். 461 00:20:11,380 --> 00:20:15,310 அல்லது நாம், சதவீத நான் போன்ற அச்சிட வேண்டும் விண்வெளி, சதவீத நான், விண்வெளி, சதவீத நான். 462 00:20:15,310 --> 00:20:18,950 அந்த ஒவ்வொரு எனவே சதவீதம் அறிகுறிகள், நாம் வேண்டும் 463 00:20:18,950 --> 00:20:21,560 வைட்டமின் இறுதியில் ஒரு மாறி அனுப்ப. 464 00:20:21,560 --> 00:20:26,980 >> எனவே நாம் சொன்னால் வைட்டமின் அடைப்புக்குறி சதவீதம் நான், N நெருங்கிய அடைப்புக்குறி பின்சாய்வுக்கோடாகிறேன் 465 00:20:26,980 --> 00:20:30,270 நன்றாக, நாம் இருக்கிறோம் என்று சொல்கிறோம் ஒரு முழு அச்சிட போகிறது 466 00:20:30,270 --> 00:20:33,970 ஆனால் பின்னர் நாம் printf கடந்து ஒரு முழு உண்மையில் அச்சிட. 467 00:20:33,970 --> 00:20:37,182 எனவே இங்கே மேலும் சதவீதம் தரவு வாதங்கள் விட மாற்றங்கள்? 468 00:20:37,182 --> 00:20:39,390 இதுதான் நாங்கள் என்று percents ஒரு மொத்தமாக, 469 00:20:39,390 --> 00:20:42,445 மற்றும் நாம் போதுமான மாறிகள் வேண்டும் உண்மையில் அந்த percents உள்ள நிரப்ப. 470 00:20:42,445 --> 00:20:44,850 471 00:20:44,850 --> 00:20:50,010 >> பின்னர் நிச்சயமாக, கேள்வி 31, நிச்சயமாக ஒன்று தொகுதிகளில் 40 பைட்டுகள் இழந்தது. 472 00:20:50,010 --> 00:20:52,350 எனவே இந்த ஒரு Valgrind பிழை உள்ளது. 473 00:20:52,350 --> 00:20:54,720 இந்த என்று எங்காவது உங்கள் குறியீடு, 474 00:20:54,720 --> 00:20:59,010 நீங்கள் 40 என்று ஒரு ஒதுக்கீடு வேண்டும் பைட்டுகள் பெரிய எனவே நீங்கள், 40 பைட்டுகள் malloced 475 00:20:59,010 --> 00:21:00,515 மற்றும் நீங்கள் அதை ஒருபோதும். 476 00:21:00,515 --> 00:21:02,480 477 00:21:02,480 --> 00:21:05,140 நீங்கள் தேவை மிக வாய்ப்பு சில நினைவக கசிவு கண்டுபிடிக்க, 478 00:21:05,140 --> 00:21:07,650 மற்றும் நீங்கள் வேண்டும், அங்கு கண்டுபிடிக்க நினைவகம் இந்த தொகுதி விடுவிக்க. 479 00:21:07,650 --> 00:21:08,780 480 00:21:08,780 --> 00:21:11,910 >> மற்றும், 32 கேள்வி அளவு 4 தவறான எழுதும். 481 00:21:11,910 --> 00:21:13,250 மீண்டும் இந்த ஒரு Valgrind பிழை உள்ளது. 482 00:21:13,250 --> 00:21:15,440 இந்த செய்ய வேண்டும் இப்போது நினைவகம் கசிவை. 483 00:21:15,440 --> 00:21:20,750 இதை நான் likely-- மிகவும், அது தான், ஆகிறது தவறான நினைவகம் உரிமைகள் ஒருவித. 484 00:21:20,750 --> 00:21:23,270 மற்றும் பெரும்பாலும் இந்த சில இடையக வழிதல் வகையான. 485 00:21:23,270 --> 00:21:26,560 எங்கே நீங்கள் ஒருவேளை, ஒரு வரிசை ஒரு முழு எண் வரிசை, மற்றும் நாம் 486 00:21:26,560 --> 00:21:30,115 அது அளவு 5 சொல்ல, மற்றும் நீங்கள் வரிசை அடைப்புக்குறி 5 தொட முயற்சி. 487 00:21:30,115 --> 00:21:34,150 என்று நீங்கள் எழுத முயற்சி செய்தால் எனவே மதிப்பு, அந்த நினைவகம் ஒரு துண்டு தான் 488 00:21:34,150 --> 00:21:37,440 நீங்கள் உண்மையில் அணுக வேண்டும், மற்றும் என்று எனவே நீங்கள் இந்த பிழை போகிறோம், 489 00:21:37,440 --> 00:21:39,272 அளவு 4 தவறான எழுதும் கூறி. 490 00:21:39,272 --> 00:21:42,480 Valgrind நீங்கள் இருக்கிறோம் அங்கீகரிக்க போகிறீர்கள் முறைகேடாக நினைவகம் தொட முயற்சி. 491 00:21:42,480 --> 00:21:43,980 >> அந்த quiz0 அது தான். 492 00:21:43,980 --> 00:21:47,065 நான் ராப் Bowden இருக்கிறேன், மற்றும் இந்த CS50 உள்ளது. 493 00:21:47,065 --> 00:21:51,104