1 00:00:00,000 --> 00:00:02,520 [Powered by Google Translate] [வாரம் 6, தொடர்ச்சி] 2 00:00:02,520 --> 00:00:04,160 [டேவிட் ஜே Malan] [ஹார்வர்ட் பல்கலைக்கழகம்] 3 00:00:04,160 --> 00:00:08,720 [இந்த CS50 உள்ளது.] [CS50.TV] 4 00:00:08,720 --> 00:00:12,970 இந்த CS50 மற்றும் இந்த வாரம் 6 இறுதியில் உள்ளது. 5 00:00:12,970 --> 00:00:17,970 எனவே CS50x, edX முயற்சியில் ஈடுபட்டு ஹார்வர்ட் முதல் படிப்புகள் ஒன்று 6 00:00:17,970 --> 00:00:20,590 உண்மையில் கடந்த திங்கட்கிழமை இடம்பெற்றது. 7 00:00:20,590 --> 00:00:23,460 நீங்கள் இணையத்தில் என்ன மற்றவர்களுக்கு ஒரு பார்வை பெற விரும்பினால் 8 00:00:23,460 --> 00:00:27,180 இப்போது இணைந்து தொடர்ந்து, நீங்கள் x.cs50.net என்று தலைமை முடியும். 9 00:00:27,180 --> 00:00:30,350 என்று, edx.org மீது உரிய இடத்திற்கு நீங்கள் திசைதிருப்பப்படும் 10 00:00:30,350 --> 00:00:34,160 இந்த மற்றும் எம்ஐடி மற்றும் பெர்க்லி இருந்து மற்ற படிப்புகள் இப்போது எங்கு இது. 11 00:00:34,160 --> 00:00:38,140 நீங்கள் ஒரு கணக்கை பதிவு செய்ய வேண்டும்; நீங்கள் பொருள் பெரும்பாலும் அதே என்று கண்டுபிடிக்க வேண்டும் 12 00:00:38,140 --> 00:00:42,170 நாங்கள் எல்லாம் தயாராக போல், தாமதமாக ஒரு சில வாரங்களில் என்றாலும், இந்த செமஸ்டர் இருந்தது. போன்ற 13 00:00:42,170 --> 00:00:46,930 ஆனால் என்ன CS50x மாணவர்கள் இப்போது பார்ப்போம் மிகவும் இது போன்ற ஒரு இடைமுகம் ஆகும். 14 00:00:46,930 --> 00:00:50,040 இந்த, உதாரணமாக, சிக்கல் செட் 0 ஒத்திகையும் முன்னணி Zamyla உள்ளது. 15 00:00:50,040 --> 00:00:54,230 Edx.org இல் நுழைவதில் மீது, ஒரு CS50x மாணவர் விஷயங்கள் வகையான காண்கிறது 16 00:00:54,230 --> 00:00:57,170 நீங்கள் ஒரு போக்கை பார்க்கும் எதிர்பார்ப்பதை: திங்கள் விரிவுரை, 17 00:00:57,170 --> 00:01:01,650 புதன், பல்வேறு குறும்படங்கள், சிக்கல் செட், மேலோட்டப்பார்வைகள், கள் ஐந்து சொற்பொழிவு. 18 00:01:01,650 --> 00:01:04,459 கூடுதலாக, நீங்கள் இங்கே பார்க்க போல், இயந்திர மொழிபெயர்ப்பு 19 00:01:04,459 --> 00:01:08,390 , இத்தாலியன், ஸ்பானிஷ், ஜப்பனீஸ், சீன ஆங்கிலத்தில் எழுத்துப்படிகள் பற்றி 20 00:01:08,390 --> 00:01:12,810 நிச்சயமாக நிறைவற்ற என்று பிற மொழிகளில் ஒரு கட்டுகளையும் 21 00:01:12,810 --> 00:01:15,840 நாம் ஒரு ஏபிஐ என்று ஏதாவது பயன்படுத்தி நிரலாக்கத்தின்படி அவர்களை தள்ளியது, என 22 00:01:15,840 --> 00:01:18,360 கூகிள் அல்லது பயன்பாட்டு நிரலாக்க இடைமுகம், 23 00:01:18,360 --> 00:01:21,360 என்று நம்மை மற்ற மொழிகளை ஆங்கிலம் மாற்ற அனுமதிக்கிறது. 24 00:01:21,360 --> 00:01:24,100 ஆனால் சில நூறு பிளஸ் தொண்டர்கள் அற்புதமான ஆவி நன்றி, 25 00:01:24,100 --> 00:01:26,940 தயவு செய்து தொடர்பு பெற முன்வந்தது யார் இணையத்தில் சீரற்ற மக்கள் 26 00:01:26,940 --> 00:01:30,180 இந்த திட்டத்தில், நாம் படிப்படியாக அந்த மொழிபெயர்ப்பு தரத்தை மேம்படுத்த வேண்டும் 27 00:01:30,180 --> 00:01:35,790 மனிதர்கள் நம் கணினிகள் செய்த தவறுகளை திருத்தி கொண்டு. 28 00:01:35,790 --> 00:01:42,330 >> நாம் ஒரு சில மாணவர்கள் நாம் முதலில் எதிர்பார்த்ததை விட திங்கள் காண்பிக்கப்படும் வெளியே அது மாறிவிடும். 29 00:01:42,330 --> 00:01:48,980 உண்மையில், இப்போது CS50x வீட்டில் சேர்த்து தொடர்ந்து 100,000 மக்கள் உள்ளனர். 30 00:01:48,980 --> 00:01:54,430 எனவே நீங்கள் கணினி அறிவியல் இந்த போக்கை உருவாக்கும் இந்த தொடக்க வர்க்கத்தின் அனைத்து பகுதியாக உணர 31 00:01:54,430 --> 00:01:57,370 பொதுவாக கல்வி, இன்னும் பரந்த அளவில், அணுகக்கூடிய. 32 00:01:57,370 --> 00:02:00,130 மற்றும் உண்மையில், இந்த மகத்தான ஆன்லைன் படிப்புகள் சில, இப்போது 33 00:02:00,130 --> 00:02:04,070 அவர்கள் அனைவரும் நாம் இங்கே என்ன தெரிகிறது என, இந்த மிக அதிக எண்ணிக்கையில் தொடங்க. 34 00:02:04,070 --> 00:02:08,759 ஆனால் இலக்கு, இறுதியில், CS50x சாத்தியமானது என பூச்சு வரி என பல மக்கள் இங்கு உண்மையில். 35 00:02:08,759 --> 00:02:12,000 வடிவமைப்பு, CS50x கடந்த திங்கள் முதல் வழங்கப்படும் போகிறது 36 00:02:12,000 --> 00:02:17,430 வேறு பள்ளியில் கடமைகள் உண்டு எல்லோரும் யார் என்று ஏப்ரல் 15, 2013 அனைத்து வழிகளிலும்,, 37 00:02:17,430 --> 00:02:20,990 வேலை, குடும்பம், மற்ற மோதல்கள் போன்ற, சற்று நெகிழ்வு தன்மையுடையதாகும் 38 00:02:20,990 --> 00:02:23,640 இந்த போக்கை மாற்றும் டைவ் எந்த கொண்டு, அது, இது என்று போதுமானதாக 39 00:02:23,640 --> 00:02:30,540 மிகவும் ambitiously செய்யப்படுகிறது ஒரு வழக்கமான செமஸ்டர் போது வெறும் மூன்று மாத காலத்தில் மட்டும். 40 00:02:30,540 --> 00:02:34,190 ஆனால் இந்த மாணவர்கள், அதே உள்ளடக்கத்தை பார்க்க, அதே பிரச்சனை செட் கைப்பற்றுதல் 41 00:02:34,190 --> 00:02:36,350 அதே ஷார்ட்ஸ் போன்ற அணுகல் கொண்டிருக்கின்றன. 42 00:02:36,350 --> 00:02:38,990 எனவே நாம் இந்த ஒன்றாக அனைத்து உள்ளது என்று. 43 00:02:38,990 --> 00:02:42,360 மற்றும் CS50x இறுதியில் இலக்குகளில் ஒன்றாக போல் பல எல்லோரும் பெற முடியாது 44 00:02:42,360 --> 00:02:45,720 இறுதி வரியில் அவர்களை கணினி அறிவியல் இந்த கிடைத்துள்ள புதிய புரிதலை தர 45 00:02:45,720 --> 00:02:49,000 மற்றும் நிரலாக்க ஆனால் அவர்கள் இந்த பகிர்ந்து அனுபவம் வேண்டும். 46 00:02:49,000 --> 00:02:52,010 வளாகத்தில் 50 குணவியல்புகளை ஒன்று, நாங்கள் நம்புகிறோம், 47 00:02:52,010 --> 00:02:56,260 , சில நேரங்களில், நல்ல அல்லது மோசமான, இனவாத அனுபவம் இந்த வகையான வருகிறது 48 00:02:56,260 --> 00:02:59,480 ஆனால் இந்த மக்களுக்கு இடது மற்றும் வலது பக்கம் திரும்ப பெற்று, 49 00:02:59,480 --> 00:03:01,830 அலுவலக நேரம் மற்றும் hackathon மற்றும் சிகப்பு. 50 00:03:01,830 --> 00:03:04,560 இது, ஆன்லைன் எல்லோரும் சேர்ந்து நபர் அந்த செய்ய ஒரு சிறிய கடினமாக உள்ளது 51 00:03:04,560 --> 00:03:10,580 ஆனால் CS50x, முதல் CS50 எக்ஸ்போ ஏப்ரல் மாதம் முடிவுக்கு 52 00:03:10,580 --> 00:03:13,630 நியாயமான எங்கள் கருத்தை ஒரு ஆன்லைன் தழுவல் இருக்கும் இது 53 00:03:13,630 --> 00:03:18,250 , 2 நிமிட வீடியோ - அங்கு மாணவர்கள் இந்த ஆயிரக்கணக்கான ஒரு 1 சமர்ப்பிக்கும்படி 54 00:03:18,250 --> 00:03:22,480 அவர்கள் தங்கள் இறுதி திட்டம் அல்லது வீடியோ ஸ்கிரீன்கேஸ்டை ஹலோ அசைப்பதன் அல்லது 55 00:03:22,480 --> 00:03:24,490 அவர்களின் திட்டம் பற்றி பேசி, அதை demoing, 56 00:03:24,490 --> 00:03:27,610 உங்கள் முந்தைய போல், நியாயமான உள்ள வளாகத்தில் இங்கே செய்யவில்லை 57 00:03:27,610 --> 00:03:31,400 அரையிறுதி இறுதியில், நம்பிக்கை உலக கண்காட்சி வேண்டும் என்று அந்த 58 00:03:31,400 --> 00:03:37,080 CS50x மாணவர்கள் 'இறுதி திட்டங்கள், அந்த மாதிரி எந்த வளாகத்தில் இங்கே நீங்கள் இந்த டிசம்பர் காத்திருக்கிறது. 59 00:03:37,080 --> 00:03:39,680 வரும் மாதங்களில் அது மிக அதிக. 60 00:03:39,680 --> 00:03:43,640 >> 100,000 மாணவர்கள், என்றாலும், இன்னும் சில CAS தேவை வருகிறது. 61 00:03:43,640 --> 00:03:47,590 நீங்கள் இங்கே திட்டு எரியும் மற்றும் CS50 எடுத்து என்று கொடுக்கப்பட்ட 62 00:03:47,590 --> 00:03:51,630 பல வாரங்கள் edX மீது எல்லோரும் இந்த பொருள் வெளியீட்டு முன்கூட்டியே, 63 00:03:51,630 --> 00:03:55,330 நாம் இந்த முயற்சியில் முடிந்தவரை நம் சொந்த மாணவர்கள் பல உள்ளடக்கியது விரும்புகிறேன் உணர்ந்து, 64 00:03:55,330 --> 00:03:58,720 செமஸ்டர் அத்துடன் இந்த குளிர்காலத்தில் மற்றும் வரும் வசந்த இரு. 65 00:03:58,720 --> 00:04:01,620 எனவே நீங்கள் CS50x தொடர்பு கொள்ள விரும்பினால், 66 00:04:01,620 --> 00:04:07,450 குறிப்பாக CS50x Discuss, CS50 Discuss என்ற edX பதிப்பு, மீது சேர்வதற்கு 67 00:04:07,450 --> 00:04:10,140 நீங்கள் பல வளாகத்தில் பயன்படுத்தி வருகின்றனர் இதில், ஆன்லைன் செய்தி பலகை, 68 00:04:10,140 --> 00:04:13,040 URL ஐ தலைவர் தயவு செய்து, எங்களை நீங்கள் யார் என்று நாம் 69 00:04:13,040 --> 00:04:16,450 நாம் ஒன்றாக ஒரு மாணவர்கள் மற்றும் பணியாளர்கள் குழு மற்றும் ஆசிரிய கட்டமைக்க விரும்புகிறோம் ஏனெனில் 70 00:04:16,450 --> 00:04:19,630 வளாகத்தில் யார் வெறுமனே சேர்ந்து விளையாடும் மற்றும் உதவி. 71 00:04:19,630 --> 00:04:21,720 மற்றும் அவர்கள் நன்கு தெரிந்த என்று ஒரு கேள்வி பார்க்கும் போது, 72 00:04:21,720 --> 00:04:25,320 நீங்கள், இணையத்தில் சில நாட்டில் அங்கு எங்காவது சில பிழை அறிக்கை ஒரு மாணவர் கேட்க 73 00:04:25,320 --> 00:04:27,450 நீயும் அதே பிரச்சினை என்று மோதிரங்கள் ஒரு மணி ஏனெனில் 74 00:04:27,450 --> 00:04:32,620 சில நேரம் முன்பு உங்கள் ஈ-ஹால், வட்டம், பிறகு நீங்கள் மணி மற்றும் உங்கள் சொந்த அனுபவம் பகிர்ந்து கொள்ள முடியும். 75 00:04:32,620 --> 00:04:37,300 அதனால் நீங்கள் விரும்பினால் பங்கேற்க வேண்டாம். 76 00:04:37,300 --> 00:04:39,360 >> ஹார்வர்ட் கணினி அறிவியல் படிப்புகள், ஒரு பாரம்பரியம் ஒரு பிட் உள்ளது 77 00:04:39,360 --> 00:04:44,730 நீங்கள் பெருமையுடன் அணிய முடியும் என்று சில ஆடைகள், சில துணிகளை கொண்ட அவர்கள் மத்தியில் CS50, 78 00:04:44,730 --> 00:04:49,090 செமஸ்டர் இன் இறுதியில், நீங்கள் CS50 முடிந்ததும் என்று மிக பெருமையாக கூறினார் 79 00:04:49,090 --> 00:04:51,830 மற்றும் CS50 போன்ற எடுத்து, நாங்கள் எப்போதும் மாணவர்கள் ஈடுபடுத்த முயற்சி 80 00:04:51,830 --> 00:04:54,540 இந்த செயல்முறையை முடிந்த, நாம் அழைக்க பணிகளில் உள்ள, 81 00:04:54,540 --> 00:04:56,900 செமஸ்டர் இந்த நேரத்தில், மாணவர்கள் வடிவமைப்பு சமர்ப்பிக்க 82 00:04:56,900 --> 00:04:59,330 நீங்கள் பயன்படுத்த விரும்பும் விருப்ப அனைத்தும் பயன்படுத்தி, அல்லது என்ன கருவி 83 00:04:59,330 --> 00:05:02,330 நீங்கள் உடைகள் மற்றும் வியர்த்த வடிவங்களை submit ', ஒரு வடிவமைப்பாளர் என்றால் 84 00:05:02,330 --> 00:05:06,100 மற்றும் நாய்களுக்கான umbrellas மற்றும் சிறிய bandanas நாம் இப்போது இல்லை போல். 85 00:05:06,100 --> 00:05:09,370 எல்லாம் பிறகு - வெற்றியாளர்கள் ஒவ்வொரு ஆண்டும் பின் காட்சிக்கு உள்ளன 86 00:05:09,370 --> 00:05:12,700 store.cs50.net நேரத்தில் நிச்சயமாக வலைத்தளத்தில். 87 00:05:12,700 --> 00:05:15,790 எல்லாம் அங்கு செலவில் விற்பனை, ஆனால் இணையதளம் தான் தன்னை இயங்கும் 88 00:05:15,790 --> 00:05:18,330 மக்கள் அவர்கள் விரும்பும் வண்ணங்கள் மற்றும் வடிவமைப்புகளை தேர்வு செய்ய அனுமதிக்கிறது. 89 00:05:18,330 --> 00:05:20,420 நான் நாம் மட்டும் கடந்த ஆண்டு வடிவமைப்புகளை சில பகிர்ந்து நினைத்தேன் 90 00:05:20,420 --> 00:05:25,130 ஒரு ஆண்டு பாரம்பரியம் ஆகும், இங்கே இந்த தவிர வலைத்தளத்தில் இருந்தது. 91 00:05:25,130 --> 00:05:29,410 "நான் Faultn Seg நான் ஒவ்வொரு நாள்", கடந்த ஆண்டு அனுப்பப்பட்ட ஒரு 92 00:05:29,410 --> 00:05:32,290 இதில் முன்னாள் மாணவர்கள் அங்கு இன்னும் இருக்கின்றன. 93 00:05:32,290 --> 00:05:35,820 நாம் இந்த ஒரு இருந்தது, "CS50, 1989 துவங்கப்பட்ட." 94 00:05:35,820 --> 00:05:39,010 எங்கள் Bowdens ஒன்று, ராப், கடந்த ஆண்டு மிகவும் பிரபலமாக இருந்தது. 95 00:05:39,010 --> 00:05:43,480 "குழு Bowden" பிறந்தார், இந்த வடிவமைப்பு மேல் விற்பனையாளர்கள் மத்தியில், சமர்ப்பிக்கப்பட்டது. 96 00:05:43,480 --> 00:05:49,040 இங்கு இந்த இருந்தது. பல மக்கள் விற்பனை பதிவுகள் படி "Bowden காய்ச்சல்" என்று. 97 00:05:49,040 --> 00:05:52,650 என்று இப்போது இணையத்தில், உங்கள் வடிவமைப்பு இருக்க முடியும் என்று. 98 00:05:52,650 --> 00:05:57,510 அடுத்த பிரச்சனை இந்த மேலும் விவரங்களுக்கு வந்து அமைக்கிறது. 99 00:05:57,510 --> 00:06:00,330 >> ஒரு கருவி: நீங்கள் இப்போது வட்டம் சில வெளிப்பாடு என்று 100 00:06:00,330 --> 00:06:02,350 GDB சில நேரடி அனுபவம், 101 00:06:02,350 --> 00:06:04,570 இது, நிச்சயமாக, ஒரு வழு மற்றும் நீங்கள் கையாள அனுமதிக்கிறது 102 00:06:04,570 --> 00:06:09,500 மிகவும் குறைவான அளவில் உங்கள் திட்டம், என்ன வகையான விஷயங்களை செய்து? 103 00:06:09,500 --> 00:06:13,030 GDB நீங்கள் என்ன செய்யலாம்? 104 00:06:13,030 --> 00:06:15,030 அப்படியா? ஏதாவது கொடுங்கள். [மாணவர் பதில், புரிந்து] 105 00:06:15,030 --> 00:06:18,120 நல்ல. செயல்பாடு பற்றிய படி, அதனால் நீங்கள் இயக்க தட்டச்சு இல்லை 106 00:06:18,120 --> 00:06:22,310 மற்றும் நிலையான வெளியீடு விஷயங்கள் அச்சிடுகிறது, அதன் முழுமையாக மூலம் திட்டம் அடியாக உள்ளது. 107 00:06:22,310 --> 00:06:25,190 மாறாக, நீங்கள் அடுத்த தட்டச்சு, வரி மூலம் வரி மூலம் விலக முடியாது 108 00:06:25,190 --> 00:06:30,300 வரி அல்லது நீங்கள் எழுதியது என்று ஒரு பொதுவாக, ஒரு செயல்பாடு பற்றிய டைவ் செய்ய நடவடிக்கை மூலம் வரி மூலம் வரி போக. 109 00:06:30,300 --> 00:06:35,240 GDB நீங்கள் வேறு என்ன செய்யலாம்? அப்படியா? [மாணவர் பதில், புரிந்து] 110 00:06:35,240 --> 00:06:38,100 மாறிகள் அச்சிட. உங்கள் திட்டம் உள்ளே ஒரு சிறிய சுயபரிசோதனை செய்ய வேண்டும் என்றால் 111 00:06:38,100 --> 00:06:41,500 எல்லா இடத்திலும் printf அறிக்கைகள் எழுதுவதில் நாட இல்லாமல், 112 00:06:41,500 --> 00:06:44,600 நீங்கள் ஒரு மாறி அச்சிட அல்லது ஒரு மாறி காண்பிக்க முடியும். 113 00:06:44,600 --> 00:06:46,710 நீங்கள் GDB போன்ற ஒரு வழு வேறு என்ன செய்ய முடியும்? 114 00:06:46,710 --> 00:06:49,170 [மாணவர் பதில், புரிந்து] 115 00:06:49,170 --> 00:06:52,080 சரியாக. நீங்கள் முறிவுப்புள்ளிகளை அமைக்க முடியும்; நீ முறித்து மரணதண்டனை சொல்ல முடியும் 116 00:06:52,080 --> 00:06:54,020 முக்கிய செயல்பாடு அல்லது foo விழாவில். 117 00:06:54,020 --> 00:06:56,800 நீங்கள் வரி 123 இல் முறித்து மரணதண்டனை கூற முடியும். 118 00:06:56,800 --> 00:06:58,950 மற்றும் முறிவுப்புள்ளிகளை உண்மையில் சக்திவாய்ந்த நுட்பம் ஆகும் 119 00:06:58,950 --> 00:07:01,110 ஏனெனில் நீங்கள் உங்கள் பிரச்சினையை ஒரு பொது உணர்வு இருந்தால் 120 00:07:01,110 --> 00:07:05,360 ஒருவேளை, நீங்கள் திட்டத்தை முழுமையாக மூலம் நுழைவதை நேரத்தை வீணடிக்க வேண்டாம். 121 00:07:05,360 --> 00:07:08,250 நீங்கள் அடிப்படையில் அங்கு குதித்து பின் தட்டச்சு செய்ய முடியும் - 122 00:07:08,250 --> 00:07:10,970 படி அல்லது அடுத்த அல்லது போல அது வழியாக நுழைவதை. 123 00:07:10,970 --> 00:07:14,340 ஆனால் GDB போன்ற ஒன்றை ப, மனித, நீங்கள் உதவுகிறது என்று 124 00:07:14,340 --> 00:07:16,940 உங்கள் பிரச்சினைகளை கண்டறிய உங்கள் பிழைகள் கண்டறிய. 125 00:07:16,940 --> 00:07:19,470 இது அவசியம் நீங்கள் அவர்களை மிகவும் தெரியாது. 126 00:07:19,470 --> 00:07:23,070 >> எனவே நாம் ஒரு குறுகிய கட்டளை வரி கருவி உள்ளது, மற்ற நாள் style50 அறிமுகம் 127 00:07:23,070 --> 00:07:27,500 என்று சற்று அதிக சுத்தமாக உங்களை விட உங்கள் குறியீடு stylize முயற்சிக்கும், மனித, செய்ய வேண்டும். 128 00:07:27,500 --> 00:07:29,530 ஆனால் அந்த கூட, உண்மையில் ஒரு அழகியல் விஷயம். 129 00:07:29,530 --> 00:07:34,110 பயன்படுத்த இன்னும் சிறிது விளங்காத என்று Valgrind என்று இந்த மற்ற கருவி உள்ளது அவுட் ஆனால் அது மாறிவிடும். 130 00:07:34,110 --> 00:07:36,860 அதன் வெளிப்பாடு முதல் பார்வையில் atrociously ரகசிய உள்ளது. 131 00:07:36,860 --> 00:07:39,420 ஆனால், அது குறிப்பாக இப்போது நாம் கால பகுதியாக இருக்கலாம் என்று, பிரமாதமாக பயனுள்ளதாக இருக்கும் 132 00:07:39,420 --> 00:07:43,080 நீங்கள் எங்கு malloc மற்றும் மாறும் நினைவக ஒதுக்கீடு பயன்படுத்த தொடங்கி. 133 00:07:43,080 --> 00:07:45,420 விஷயங்களை விரைவில் உண்மையில் தவறு போக முடியும். 134 00:07:45,420 --> 00:07:49,320 ஏனெனில் நீங்கள் உங்கள் நினைவக விடுவிக்க மறந்து, அல்லது நீங்கள் சில NULL சுட்டிக்காட்டி dereference என்றால், 135 00:07:49,320 --> 00:07:55,770 அல்லது நீங்கள் சில குப்பை சுட்டிக்காட்டி dereference, பொதுவாக முடிவு என்று அறிகுறி என்ன? 136 00:07:55,770 --> 00:07:59,470 தவறு Seg. நீங்கள் கிலோபைட்டுகளை அல்லது மெகாபைட் சில பல இந்த அடிப்படை ஃபைலை 137 00:07:59,470 --> 00:08:02,990 அது முறிந்தது போது, உங்கள் நிரல் நினைவக நிலை பிரதிபலிக்கிறது 138 00:08:02,990 --> 00:08:05,730 ஆனால் உங்கள் திட்டம் இறுதியில், அடுக்கு தவறு குறைகளை Seg 139 00:08:05,730 --> 00:08:08,450 இது ஏதோ கெட்ட எப்போதும் தொடர்பான நடந்தது பொருள் 140 00:08:08,450 --> 00:08:11,750 நீங்கள் எங்காவது அந்த ஒரு நினைவக தொடர்பான தவறு என்று. 141 00:08:11,750 --> 00:08:14,100 எனவே Valgrind இந்த மாதிரி விஷயங்களை கண்டுபிடிக்க உதவும். 142 00:08:14,100 --> 00:08:17,720 நீங்கள் உங்கள் நிரல் கம்பைல் செய்து பிறகு அதை, GDB போல், நீங்கள் இயக்க ஒரு கருவி தான் 143 00:08:17,720 --> 00:08:20,330 ஆனால் நேரடியாக உங்கள் நிரலை விட, நீங்கள் Valgrind ரன் 144 00:08:20,330 --> 00:08:23,960 நீங்கள் GDB செய்ய போல், இது உங்கள் திட்டம் வெற்றி. 145 00:08:23,960 --> 00:08:26,220 இப்போது, பயன்பாடு, சிறந்த வகையான வெளியீடு பெற 146 00:08:26,220 --> 00:08:30,410 அதனால் அங்கு திரையில் மீது நீங்கள் Valgrind-V ஒரு சிறிய நீண்ட பார்க்கிறேன். 147 00:08:30,410 --> 00:08:35,350 நீங்கள் ஒரு Linux கணினியில் நிரல்கள் பயன்படுத்தும் போது "எதிராக" உலகளவில் verbose பொருள். 148 00:08:35,350 --> 00:08:38,770 எனவே இது முன்னிருப்பாக வலிமை விட தரவு வெளிக்காட்டாதே ஆகும். 149 00:08:38,770 --> 00:08:45,510 "- = முழு கசிவு சரிபார்த்து." இது, அனைத்து நினைவக கசிவை செக் சொல்கிறாள் 150 00:08:45,510 --> 00:08:49,430 நான் செய்த சில தவறுகள். இந்த, கூட, லினக்ஸ் திட்டங்கள் ஒரு பொதுவான முன்னுதாரணம் ஆகும். 151 00:08:49,430 --> 00:08:52,710 நீங்கள் ஒரு கட்டளை வரி வாதம் இருந்தால் பொதுவாக, என்று, ஒரு "சுவிட்ச்" தான் 152 00:08:52,710 --> 00:08:55,830 என்று, நிரல் நடத்தையை மாற்ற வேண்டும், அது ஒரு கடிதம் தான் 153 00:08:55,830 --> 00:09:00,310 அது-v, ஆனால் மாற்றி என்று இருந்தால், வெறும் ப்ரோக்ராமர் வடிவமைப்பு மூலம், 154 00:09:00,310 --> 00:09:05,150 , கட்டளை வரி வாதம் கொண்ட வார்த்தைகள் ஒரு முழு சொல் அல்லது தொடர் தொடங்குகிறது -. 155 00:09:05,150 --> 00:09:08,190 இவை மனித மரபுகளை, ஆனால் நீங்கள் அதிக பார்க்கிறேன். 156 00:09:08,190 --> 00:09:12,410 பின்னர், இறுதியாக, "a.out" இந்த குறிப்பிட்ட எடுத்துக்காட்டாக நிரலை தன்னிச்சையான பெயர். 157 00:09:12,410 --> 00:09:14,640 இங்கு சில பிரதிநிதி வெளியீடு தான். 158 00:09:14,640 --> 00:09:22,890 >> நாம் என்று அர்த்தம் என்ன பார்க்க முன், என்னை இங்கு குறியீடு ஒரு துணுக்கை வழியாக செல்லலாம். 159 00:09:22,890 --> 00:09:26,390 மேலும், விரைவில், என்னை வழி இந்த வெளியேற அனுமதிக்க 160 00:09:26,390 --> 00:09:32,120 மற்றும் அது இங்கே இந்த குறுகிய எடுத்துக்காட்டாக இது memory.c, பாருங்கள் நாம். 161 00:09:32,120 --> 00:09:36,290 இந்த திட்டத்தில், என்னை செயல்பாடுகள் மற்றும் கேள்விகள் மீது பெரிதாக்க வேண்டும். 162 00:09:36,290 --> 00:09:39,430 நாம் ஒரு செயல்பாடு அழைக்கும் முக்கிய செயல்பாடு, ஊ, வேண்டும் 163 00:09:39,430 --> 00:09:45,590 பின்னர் என்ன f சற்று தொழில்நுட்ப ஆங்கிலம், செய்ய நடவடிக்கை? 164 00:09:45,590 --> 00:09:49,760 F என்ன செய்ய தொடர? 165 00:09:49,760 --> 00:09:53,680 எப்படி நான் வரி 20 தொடங்க வேண்டும், மற்றும் நட்சத்திரத்தின் இடம் இல்லை, 166 00:09:53,680 --> 00:09:56,720 ஆனால் நான் கடைசி விரிவுரை இங்கு தொடர்ந்து இருப்போம். 167 00:09:56,720 --> 00:09:59,910 எங்களுக்கு வரி 20 என்ன இருக்கிறது? இடது புறத்தில். நாங்கள் இன்னும் அதை உடைக்க வேண்டும். 168 00:09:59,910 --> 00:10:02,410 முகப்பு * x: என்ன செய்வான்? 169 00:10:02,410 --> 00:10:04,940 சரி. அது ஒரு சுட்டிக்காட்டி அறிவித்தார், இப்போது அது மேலும் தொழில்நுட்ப இருக்கட்டும். 170 00:10:04,940 --> 00:10:10,230 அது ஒரு சுட்டிக்காட்டி அறிவிக்க, மிக உறுதியாக, என்ன அர்த்தம்? வேறு யாரோ? 171 00:10:10,230 --> 00:10:15,050 அப்படியா? [மாணவர் பதில், புரிந்து] வெகுதூரம். 172 00:10:15,050 --> 00:10:17,060 எனவே சம குறியின் வலது பக்க பாடிக்கொண்டிருக்கிறீர்கள். 173 00:10:17,060 --> 00:10:20,290 ஒரு எண்ணாக * x மீது, தான் இடது மீது கவனம் செலுத்த வேண்டும். 174 00:10:20,290 --> 00:10:24,700 இந்த ஒரு சுட்டிக்காட்டி "என்று", ஆனால் இப்போது நாம் என்று வரையறை செய்ய ஆழமான உள்ள டைவ். 175 00:10:24,700 --> 00:10:28,330 என்று உறுதியாக, தொழில்நுட்ப என்ன அர்த்தம்? அப்படியா? 176 00:10:28,330 --> 00:10:31,940 [மாணவர் பதில், புரிந்து] 177 00:10:31,940 --> 00:10:35,090 சரி. இது நினைவகம் ஒரு முகவரியை காப்பாற்ற தயார். 178 00:10:35,090 --> 00:10:40,680 நல்ல. மற்றும் அது மேலும் ஒரு படி எடுத்து விட இது 32 பிட்கள் என்று ஒரு மாறி, x, அறிவித்தார் உள்ளது. 179 00:10:40,680 --> 00:10:44,440 நான் ஏனெனில் 32 பிட்கள் தெரியும் -? 180 00:10:44,440 --> 00:10:47,390 இந்த வழக்கில் ஒரு சுட்டிக்காட்டி, ஏனெனில் இது, ஒரு முழு எண்ணாக ஏனெனில் அது இல்லை. 181 00:10:47,390 --> 00:10:49,650 அது ஒரு முழு எண்ணாக ஒரு மற்றும் அதே, அந்த தற்செயல் 182 00:10:49,650 --> 00:10:51,970 ஆனால் நட்சத்திரம் இல்லை என்பதை இந்த ஒரு சுட்டிக்காட்டி இருக்கும் பொருள் 183 00:10:51,970 --> 00:10:57,300 மற்றும் பயன்பாடு, பல கணினிகள் போல, ஆனால் அனைத்து, சுட்டிகள் 32 துண்டுகள். 184 00:10:57,300 --> 00:11:01,850 சமீபத்திய மேக்ஸின், சமீபத்திய கணினிகள் போன்ற நவீன வன்பொருள், நீங்கள், 64 பிட் சுட்டிகள் வேண்டும் 185 00:11:01,850 --> 00:11:04,160 ஆனால் பயன்பாட்டிற்கான உள்ள, இந்த விஷயங்கள் 32 துண்டுகள். 186 00:11:04,160 --> 00:11:08,380 நாம் அது தரப்படுத்த வேண்டும். மேலும் உறுதியாக, கதை பின்வருமாறு செல்கிறது: 187 00:11:08,380 --> 00:11:10,820 நாம் ஒரு சுட்டிக்காட்டி "என்று"; என்ன அர்த்தம்? 188 00:11:10,820 --> 00:11:12,810 நாம் ஒரு நினைவக முகவரியை சேமித்து தயார். 189 00:11:12,810 --> 00:11:15,530 இதற்கு என்ன அர்த்தம்? 190 00:11:15,530 --> 00:11:19,810 நாங்கள் 32 பிட்கள் எடுத்து ஒரு மாறி என்று x உருவாக்க 191 00:11:19,810 --> 00:11:23,810 என்று விரைவில் ஒரு முழு முகவரி சேமிக்கும். 192 00:11:23,810 --> 00:11:26,470 என்று ஒருவேளை நாம் பெற முடியும் என பற்றி துல்லியமான தான். 193 00:11:26,470 --> 00:11:31,810 உலக எளிமைப்படுத்த மற்றும் x என்ற சுட்டிக்காட்டி அறிவிக்க என்ன முன்னேற்றம் நல்லது. 194 00:11:31,810 --> 00:11:35,380 ஒரு சுட்டிக்காட்டி அறிவிக்க, ஆனால் உணர என்ன உண்மையில் நடக்கிறது புரிந்துகொள்ள 195 00:11:35,380 --> 00:11:38,490 கூட அந்த சில கதாபாத்திரங்கள். 196 00:11:38,490 --> 00:11:42,040 >> இப்போது, இந்த ஒரு நீண்ட வெளிப்பாடு இருந்தாலும், கிட்டத்தட்ட ஒரு சிறிய எளிதாக இருக்கிறது. 197 00:11:42,040 --> 00:11:48,160 இந்த இப்போது உயர்த்தி என்று, என்ன செய்கிறார்: "malloc (10 * sizeof (int));" சரி? 198 00:11:48,160 --> 00:11:52,350 [மாணவர் பதில், புரிந்து] 199 00:11:52,350 --> 00:11:58,250 நல்ல. நான் அங்கே எடுத்து கொள்கிறேன். இது பத்து முழு நினைவகம் ஒரு துண்டின் ஒதுக்கீடு. 200 00:11:58,250 --> 00:12:02,190 இப்போது தான் சற்று ஆழமாக உள்ள டைவ் நாம் அது பத்து முழு நினைவகம் ஒரு துண்டின் ஒதுக்கீடு உள்ளது. 201 00:12:02,190 --> 00:12:05,390 Malloc என்ன திரும்பி? 202 00:12:05,390 --> 00:12:10,390 மேலும் உறுதியாக அந்த துண்டின் முகவரி, அல்லது, அந்த துண்டின் முதல் பைட் முகவரி. 203 00:12:10,390 --> 00:12:14,080 நான் எப்படி இருக்கிறேன், ப்ரோக்ராமர், என்று நினைவக முனைகளை அந்த துண்டின்? 204 00:12:14,080 --> 00:12:18,340 நான் அதை ஒட்டியுள்ள என்று எனக்கு தெரியும். Malloc, வரையறை, நீங்கள் நினைவகத்தை ஒரு தொடர்ச்சியான துண்டின் கொடுக்கும். 205 00:12:18,340 --> 00:12:21,240 இது எந்த இடைவெளிகளும். நீங்கள், அந்த துண்டின் ஒவ்வொரு பைட் அணுகல் 206 00:12:21,240 --> 00:12:26,760 மீண்டும் மீண்டும் செல்ல, ஆனால் நினைவகம் இந்த துண்டின் இறுதி எங்கே எப்படி தெரியும்? 207 00:12:26,760 --> 00:12:28,850 நீங்கள் malloc பயன்படுத்த போது? [மாணவர் பதில், புரிந்து] நல்லது. 208 00:12:28,850 --> 00:12:30,670 நீங்கள் செய்ய. நீங்கள் நினைவில் கொள்ள வேண்டும். 209 00:12:30,670 --> 00:12:35,960 நான் மதிப்பு 10 பயன்படுத்தப்படும் என்று நினைவில் இல்லை, நான் கூட அந்த இங்கே செய்யவில்லை தெரியவில்லை. 210 00:12:35,960 --> 00:12:41,000 ஆனால் பொறுப்பு எனக்கு முற்றிலும் இல்லை. நாம் சரங்களுக்கான சிறிதளவு நம்புவதற்குரிய விட்டேன் எந்த Strlen,, 211 00:12:41,000 --> 00:12:45,860 ஏனெனில் \ 0 கொண்ட இந்த மாநாட்டின் மட்டுமே வேலை 212 00:12:45,860 --> 00:12:48,840 அல்லது ஒரு சரம் இறுதியில் இந்த சிறப்பு nul தன்மை, NUL,. 213 00:12:48,840 --> 00:12:51,740 அந்த நினைவு வெறும் தன்னிச்சையான துகள்களாக இரு இல்லை. 214 00:12:51,740 --> 00:12:58,590 அதை நீங்கள் தான். வரி 20 அதனால், பின்னர், நினைவகம் ஒரு துண்டின் ஒதுக்கீடு 215 00:12:58,590 --> 00:13:02,590 அந்த பத்து முழு சேமிக்க முடியும், அது முதல் பைட் முகவரி சேமித்து 216 00:13:02,590 --> 00:13:05,610 மாறி என்று x நினைவகத்தின் அந்த துண்டின் ஒரு. 217 00:13:05,610 --> 00:13:11,140 ஒரு சுட்டிக்காட்டி இது ஆகவே,. வரி 21 அதனால், துரதிருஷ்டவசமாக, ஒரு தவறு. 218 00:13:11,140 --> 00:13:16,110 ஆனால் முதல், அது என்ன செய்யும்? இது, இடம் 10, குறியிடப்படுவதாயினும் 0 கடை கூறுகிறார் 219 00:13:16,110 --> 00:13:19,480 x மதிப்பு 0 என நினைவகம் துண்டின் ஒரு. 220 00:13:19,480 --> 00:13:21,510 >> அதனால் விஷயங்களை ஒரு ஜோடி போகிறது கவனிக்க. 221 00:13:21,510 --> 00:13:25,420 X ஒரு சுட்டிக்காட்டி என்றாலும், ஒரு சில வாரங்களுக்கு முன்பு இருந்து நினைவுகூர 222 00:13:25,420 --> 00:13:29,440 நீங்கள் இன்னும் வரிசை பாணி சதுர அடைப்புக்குறி குறிப்பு பயன்படுத்தலாம் என்று. 223 00:13:29,440 --> 00:13:36,180 என்று உண்மையில் இன்னும் புரிந்து காணப்படும் சுட்டிக்காட்டி கணித குறுகிய கை குறியீடு தான். 224 00:13:36,180 --> 00:13:40,320 நாம் இப்படி செய்வாள் என்று பெயர்: முகவரி x எடுத்து, கடந்த 10 புள்ளிகள் நகர்த்த 225 00:13:40,320 --> 00:13:44,550 பின்னர் அந்த இடத்தில் சேமிக்கப்படும் என்ன முகவரிக்கு அங்கு போக. 226 00:13:44,550 --> 00:13:48,090 ஆனால் வெளிப்படையாக, இந்த வாசிக்க வசதியாக பெற ஒரு கோரமான உள்ளது. 227 00:13:48,090 --> 00:13:52,900 எனவே உலக பொதுவாக இது மிகவும் அதிகமான மனித நட்பு வாசிக்க நேரம் தான் சதுர அடைப்புக்குறிக்குள் பயன்படுத்துகிறது. 228 00:13:52,900 --> 00:13:55,140 ஆனால் என்ன உண்மையில் பேட்டை அடியில் நடக்கிறது தான்; 229 00:13:55,140 --> 00:13:58,190 x ஒரு முகவரி, ஒரு வரிசை, உள்ளபடியே இருக்கும். 230 00:13:58,190 --> 00:14:02,410 இந்த x இடத்தை 10 0 சேமிக்கும். 231 00:14:02,410 --> 00:14:06,120 ஏன் இந்த மோசமாக உள்ளது? அப்படியா? 232 00:14:06,120 --> 00:14:17,370 [மாணவர் பதில், புரிந்து] சரியாக. 233 00:14:17,370 --> 00:14:21,100 , நாம் மட்டும் பத்து ints ஒதுக்கீடு, ஆனால் சி நிரலாக்கம் போது நாம் 0 இருந்து எண்ணுவதற்கு 234 00:14:21,100 --> 00:14:25,690 எனவே நீங்கள் 0 1 2 3 4 5 6 7 8 9, ஆனால் 10 அணுக வேண்டும். 235 00:14:25,690 --> 00:14:30,270 எனவே அல்லது நிரல் நொடி தவறு போகிறது அல்லது அது இல்லை. 236 00:14:30,270 --> 00:14:32,900 ஆனால் நாம் உண்மையிலேயே தெரியாது; இந்த ஒரு நிர்ணயிக்கப்படாத வகையான நடத்தை இது. 237 00:14:32,900 --> 00:14:35,600 உண்மையில் நாம் அதிர்ஷ்டம் கிடைக்கும் என்பதை பொறுத்தது. 238 00:14:35,600 --> 00:14:40,650 நான் அந்த கூடுதல் பைட் பயன்படுத்தினால் அது இயங்கு கவலைப்படவில்லை என்று மாறினால், 239 00:14:40,650 --> 00:14:43,360 அது எனக்கு கொடுக்கவில்லை என்றாலும், என் திட்டத்தை செயலிழக்க மாட்டார்கள். 240 00:14:43,360 --> 00:14:46,780 , இது, மூல தான் பிழையிருக்கும், ஆனால் நீங்கள் அந்த அறிகுறி பார்க்க மாட்டார்கள் 241 00:14:46,780 --> 00:14:48,960 அல்லது நீங்கள் ஒரே நேரத்தில் அதை பார்க்க முடியும். 242 00:14:48,960 --> 00:14:51,230 ஆனால் உண்மையில் பிழை இல்லை, உண்மையில், உள்ளது. 243 00:14:51,230 --> 00:14:54,320 நீங்கள் சரியாக இருக்க வேண்டும் என்று ஒரு திட்டம் எழுதி விட்டீர்கள் என்றால், அது, உண்மையில் சிக்கல் உள்ளது 244 00:14:54,320 --> 00:14:58,840 நீங்கள் ஒவ்வொரு முறை சிறிது நேரத்தில் விபத்துக்குள்ளான அந்த பயன்படுத்தி என்று திட்டம் விற்பனை செய்த 245 00:14:58,840 --> 00:15:02,450 ஏனெனில், நிச்சயமாக, இது நல்லது அல்ல. உண்மையில், நீங்கள் Android தொலைபேசி அல்லது ஒரு ஐபோன் இருந்தால் 246 00:15:02,450 --> 00:15:05,550 மேலும், நீங்கள், இந்த நாட்களில் பயன்பாடுகள் பதிவிறக்க நீங்கள் எப்போதும் இருந்தது என்றால் ஒரு பயன்பாட்டை மட்டும் விட்டு 247 00:15:05,550 --> 00:15:10,040 அது மறைந்து திடீரென்று, என்று, எப்போதும் சில நினைவக தொடர்பான பிரச்சினை காரணமாக தான் 248 00:15:10,040 --> 00:15:12,830 ப்ரோக்ராமர் ஒரு சுட்டிக்காட்டி வரை ஸ்க்ரீவ்டு மற்றும் dereferenced மேற்கொள்கின்ற 249 00:15:12,830 --> 00:15:18,670 அவர் இல்லை வேண்டும், மற்றும் iOS அல்லது Android விளைவு தான் முற்றிலும் திட்டம் கொல்ல என்று 250 00:15:18,670 --> 00:15:23,080 மாறாக ஆபத்து வரையறுக்கப்படாத நடத்தை அல்லது பாதுகாப்பு சமரசம் சில வகையான விட. 251 00:15:23,080 --> 00:15:25,950 >> இந்த தவிர இந்த திட்டத்தில் ஒருவர் பிழை உள்ளது. 252 00:15:25,950 --> 00:15:30,180 நான் இந்த திட்டத்தில் வேறு என்ன ஸ்க்ரீவ்டு? 253 00:15:30,180 --> 00:15:32,740 நான் போதித்தார் நான் என்ன நடைமுறையில் இல்லை. அப்படியா? 254 00:15:32,740 --> 00:15:34,760 [மாணவர் பதில், புரிந்து] நல்லது. 255 00:15:34,760 --> 00:15:36,880 நான் நினைவக விடுதலை இல்லை. எனவே இப்போது கட்டைவிரல் விதி 256 00:15:36,880 --> 00:15:43,150 நீங்கள் malloc அழைப்பு எப்போது வேண்டுமானாலும் நீங்கள் முடித்தவுடன், நீங்கள் நினைவகத்தை பயன்படுத்தி இலவச அழைக்க வேண்டும் இருக்க வேண்டும். 257 00:15:43,150 --> 00:15:45,610 இப்போது, நான் இந்த நினைவகம் விடுவிக்க வேண்டும்? 258 00:15:45,610 --> 00:15:49,780 ஒருவேளை, இந்த முதல் வரியை சரியாக அனுமானித்து, நான் இங்கே அதை செய்ய வேண்டும். 259 00:15:49,780 --> 00:15:55,710 நான், உதாரணமாக, இங்கே அதை செய்ய முடியவில்லை. ஏன்? 260 00:15:55,710 --> 00:15:57,860 நான் வெளியே நோக்கம். எனவே, சுட்டிகள் பற்றி கூட 261 00:15:57,860 --> 00:16:04,830 இந்த ஒரு வாரத்தில் 2 அல்லது x மட்டுமே அது பிரகடனம் அங்கு சுருள் ப்ரேஸ்களை உள்ளே நோக்கம் இருக்கிறது, அங்கு 3 சிக்கல் உள்ளது. 262 00:16:04,830 --> 00:16:11,000 அதனால் நீங்கள் கண்டிப்பாக அங்கு அது விடுவிக்க முடியாது. அதை விடுவிக்க என் மட்டுமே வாய்ப்பு கிட்டத்தட்ட வரி 21 பிறகு. 263 00:16:11,000 --> 00:16:15,170 இந்த ஒரு மிகவும் எளிமையான திட்டம் தான் நீங்கள் வகையான உங்கள் மனதில் மூடப்பட்டிருக்கும் முறை இது மிகவும் எளிதாக இருந்தது 264 00:16:15,170 --> 00:16:17,870 தவறு எங்கே என்ன சுற்றி திட்டம், செய்கிறாள். 265 00:16:17,870 --> 00:16:20,500 நீங்கள் முதலில் அதை பார்க்க கூட, வட்டம் இப்போது ஒரு சிறிய கண்டிப்பாக 266 00:16:20,500 --> 00:16:23,870 இந்த தவறுகளை அழகாக எளிதாக தீர்த்து மற்றும் எளிதில் செய்யப்படும் என்று. 267 00:16:23,870 --> 00:16:28,720 ஆனால் ஒரு திட்டம் 12 க்கும் அதிகமான வரிகளை நீண்ட போது, அது, 100 வரிகளை நீண்ட, 50 கோடுகள் நீண்ட நேரம் 268 00:16:28,720 --> 00:16:31,150 தர்க்கரீதியாக அதன் மூலம் நினைத்து, வரி மூலம் உங்கள் குறியீடு வரி மூலம் நடைபயிற்சி, 269 00:16:31,150 --> 00:16:35,110 தொடர்ந்து, பிழைகள் தேடும் முடியும் ஆனால் செய்ய குறிப்பாக வேடிக்கையாக இல்லை 270 00:16:35,110 --> 00:16:38,340 அதை செய்ய கூட கடினம், மற்றும் Valgrind போன்ற ஒரு கருவி உள்ளது, அதனால் தான். 271 00:16:38,340 --> 00:16:40,900 என்னை போய் இந்த செய்யட்டும்: என் முனைய சாளரத்தில் திறக்க விட, 272 00:16:40,900 --> 00:16:45,400 மற்றும் நினைவகம் நன்றாக தெரிகிறது, ஏனெனில் நான், நினைவக இயங்க அனுமதிக்க. 273 00:16:45,400 --> 00:16:49,180 நான் அதிர்ஷ்டசாலி வருகிறது. வரிசை இறுதியில் கூடுதல் பைட் என்று 274 00:16:49,180 --> 00:16:51,060 மிகவும் சிக்கலான இருக்க தெரியவில்லை. 275 00:16:51,060 --> 00:16:56,370 ஆனால் நான் பார்க்க அதாவது ஒரு நல்லறிவு சோதனை செய்ய, இருப்பினும், என்னை விட 276 00:16:56,370 --> 00:16:58,320 இந்த உண்மையில் சரியான இல்லையா. 277 00:16:58,320 --> 00:17:04,690 >> எனவே Valgrind-V செய்வோம் - = முழு கசிவு சரிபார்த்து 278 00:17:04,690 --> 00:17:07,520 பின்னர் இந்த வழக்கு திட்டத்தின் பெயர் நினைவகம், இல்லை a.out உள்ளது. 279 00:17:07,520 --> 00:17:10,760 என்னை போய் இந்த செய்வோம். Enter விசையை. 280 00:17:10,760 --> 00:17:14,109 கடவுளே. இந்த அதன் வெளிப்பாடு தான், இந்த நான் முன்னர் மறைமுகமாக என்ன. 281 00:17:14,109 --> 00:17:17,550 ஆனால், நீங்கள் இங்கே முட்டாள்தனத்தை மூலம் வாசிக்க கற்று, 282 00:17:17,550 --> 00:17:20,760 இந்த மிக சுவாரசியமாக இல்லை என்று மட்டும் கண்டறியும் வெளிப்பாடு ஆகும். 283 00:17:20,760 --> 00:17:24,829 என்ன உங்கள் கண் உண்மையில் பார்க்க விரும்புகிறது பிழை அல்லது தவறான எந்த குறிப்பும் இல்லை. 284 00:17:24,829 --> 00:17:26,800 பிரச்சினைகள் பரிந்துரைக்கும் என்று வார்த்தைகள். 285 00:17:26,800 --> 00:17:29,340 உண்மையில், கீழே இங்கே தவறு என்ன நடக்கிறது என்று பார்க்கலாம். 286 00:17:29,340 --> 00:17:35,230 நான் ஏதாவது ஒரு சுருக்கத்தை, இல்லை "வெளியேறவும் பயன்பாட்டில்:. 1 தொகுதிகளில் 40 பைட்டுகள்" 287 00:17:35,230 --> 00:17:38,750 நான் இன்னும் ஒரு தொகுதி என்ன நிச்சயம் இல்லை, ஆனால் 40 பைட்டுகள் 288 00:17:38,750 --> 00:17:41,260 என்று இருந்து வரும் எங்கே நான் கண்டுபிடிக்க முடியவில்லை போன்ற உண்மையில் உணர்கிறது. 289 00:17:41,260 --> 00:17:45,030 40 பைட்டுகள். ஏன் வெளியேறவும் பயன்பாட்டில் 40 பைட்டுகள்? 290 00:17:45,030 --> 00:17:48,780 மேலும் குறிப்பாக, நாம் இங்கே கீழே இருந்தால், 291 00:17:48,780 --> 00:17:54,520 ஏன் நான் நிச்சயமாக 40 பைட்டுகள் இழந்துள்ளனர்? அப்படியா? 292 00:17:54,520 --> 00:17:59,520 [மாணவர் பதில், புரிந்து] பெர்பெக்ட். சரி, அப்படியே. 293 00:17:59,520 --> 00:18:03,540 அங்கு பத்து முழு இருந்தன, அந்த ஒவ்வொரு 4, அல்லது 32 பிட்கள் அளவு 294 00:18:03,540 --> 00:18:08,300 நீங்கள் வேண்டும் என, நான் இலவசமாக அழைத்து இல்லை, ஏனெனில் நான் துல்லியமாக 40 பைட்டுகள் இழந்துவிட்டேன். 295 00:18:08,300 --> 00:18:13,460 என்று, ஒரு பிழை இருந்தது, இப்போது மேலும் ஒரு சிறிய கீழே இருக்கும் நாம் இந்த பக்கத்தில் பார்க்க 296 00:18:13,460 --> 00:18:16,900 "தவறான அளவு 4 எழுத." இப்போது இது என்ன? 297 00:18:16,900 --> 00:18:21,150 இந்த முகவரியை தெளிவாக, என்ன தள குறிமானம் வெளிப்படுத்தப்படுகிறது? 298 00:18:21,150 --> 00:18:23,640 இந்த அறுபதின்ம, மற்றும் எந்த நேரத்தில் நீங்கள் 0x தொடங்கும் ஒரு எண்ணை பார்க்க 299 00:18:23,640 --> 00:18:29,410 அதை, நாம் மீண்டும் கேள்விகள், நான் நினைக்கிறேன், pset 0 பிரிவில் வழி செய்தது, அறுபதின்ம பொருள் 300 00:18:29,410 --> 00:18:34,090 இது பைனரி எண்ம தசம மாற்றப்படும் மற்றும் மாறி மாறி, ஒரு warmup உடற்பயிற்சி செய்ய தான் இருந்தது. 301 00:18:34,090 --> 00:18:39,220 அறுபதின்ம, வெறும் மனித மாநாட்டின் மூலம், வழக்கமாக சுட்டிகள் பிரதிநிதித்துவம் பயன்படுகிறது 302 00:18:39,220 --> 00:18:41,570 அல்லது, மிகவும் பொதுவாக, முகவரிகள். அது, ஒரு மாநாடு தான் 303 00:18:41,570 --> 00:18:45,340 அதை படிக்க ஒரு சிறிய எளிதாக இருப்பதால், அது, தசம போன்ற ஏதாவது ஒரு சிறிய மிகவும் கச்சிதமான தான் 304 00:18:45,340 --> 00:18:47,720 பெரும்பாலான மனிதர்கள் பயன்படுத்த மற்றும் பைனரி பயனற்றது. 305 00:18:47,720 --> 00:18:50,840 எனவே இப்போது இந்த என்ன அர்த்தம்? ஒரு தவறான எழுதும் உள்ளது போல் நன்றாக தெரிகிறது 306 00:18:50,840 --> 00:18:54,480 memory.c வரிசையில் 21 அளவு 4. 307 00:18:54,480 --> 00:18:59,180 எனவே வரி 21 திரும்பி செல்லலாம், உண்மையில், இங்கே அது தவறான எழுத இருக்கிறது. 308 00:18:59,180 --> 00:19:02,640 எனவே Valgrind, முழுமையாக என் கையை பிடித்து என்ன தீர்வை சொல்லுங்கள் போவதில்லை 309 00:19:02,640 --> 00:19:05,520 ஆனால் அதை நான் தவறான எழுதும் செய்கிறேன் என்று கண்டறியும். 310 00:19:05,520 --> 00:19:08,800 நான் கூடாது என்று 4 பைட்டுகள் தொடுதல், மற்றும் வெளிப்படையாக என்று, காரணம் 311 00:19:08,800 --> 00:19:13,960 நீங்கள் சுட்டிக்காட்டியது போல், நான் அதற்கு பதிலாக [9] [10] செய்கிறேன் அதிகபட்சம் 312 00:19:13,960 --> 00:19:16,660 அல்லது [0] அல்லது இடையில் ஏதாவது. 313 00:19:16,660 --> 00:19:19,690 Valgrind கொண்டு, நீங்கள் இப்போது ஒரு நிரலை எழுத நீங்கள் எந்த நேரத்தில் உணர 314 00:19:19,690 --> 00:19:24,190 சுட்டிகள் பயன்படுத்துகிறது மற்றும் நினைவக பயன்படுத்துகிறது, மற்றும் malloc இன்னும் குறிப்பாக, என்று 315 00:19:24,190 --> 00:19:27,080 நிச்சயமாக இந்த நீண்ட இயங்கும் பழக்கம் பெற 316 00:19:27,080 --> 00:19:30,890 ஆனால் மிக எளிதாக Valgrind கட்டளை நகல் மற்றும் ஒட்டப்படும் 317 00:19:30,890 --> 00:19:32,650 அங்கு சில பிழைகள் இருந்தால் பார்க்க. 318 00:19:32,650 --> 00:19:34,820 அது, நீங்கள் வெளியீடு பார்க்க ஒவ்வொரு முறையும் பெரும் வேண்டும் 319 00:19:34,820 --> 00:19:39,430 ஆனால் வெறும் பார்வை அனைத்து வெளியீடு மூலம் இட நீங்கள் பார்க்க பார்க்க பிழைகள் குறிப்புகள் 320 00:19:39,430 --> 00:19:43,190 அல்லது எச்சரிக்கைகள் அல்லது தவறான அல்லது இழந்தது. 321 00:19:43,190 --> 00:19:46,200 உங்களை போன்ற ஒலி எங்கோ ஸ்க்ரீவ்டு எந்த வார்த்தைகள். 322 00:19:46,200 --> 00:19:48,580 உங்கள் கருவி ஒரு புதிய கருவியை, அதனால் உணர. 323 00:19:48,580 --> 00:19:51,270 >> இப்போது திங்கள், நாம் எல்லோரும் ஒரு மொத்தமாக இருந்தது இங்கே வந்து 324 00:19:51,270 --> 00:19:53,150 மற்றும் ஒரு இணைக்கப்பட்ட பட்டியலில் கருத்தை பிரதிபலிக்கும். 325 00:19:53,150 --> 00:20:00,970 நாங்கள் என்ன பிரச்சினை தீர்வு என இணைக்கப்பட்ட பட்டியலில் அறிமுகப்படுத்தப்பட்டது? 326 00:20:00,970 --> 00:20:04,590 அப்படியா? [மாணவர் பதில், புரிந்து] நல்லது. 327 00:20:04,590 --> 00:20:06,530 வரிசைகள் நினைவக அவர்களை சேர்க்க முடியாது. 328 00:20:06,530 --> 00:20:09,440 நீங்கள் அளவு 10 அணிவரிசை, என்று நீங்கள் தான் ஒதுக்க வேண்டும். 329 00:20:09,440 --> 00:20:13,690 நீங்கள் முதலில் malloc என்று நீங்கள், realloc போன்ற ஒரு செயல்பாடு அழைக்க முடியும் 330 00:20:13,690 --> 00:20:17,580 விண்வெளி அது இறுதியில் இருந்தால் அந்த அணி வளர முடியும் 331 00:20:17,580 --> 00:20:21,610 வேறு யாரும் பயன்படுத்தி, மற்றும் அங்கு இல்லை என்றால், அது வேறு ஒரு பெரிய துண்டின் காண்பீர்கள் என்று. 332 00:20:21,610 --> 00:20:25,040 ஆனால் அது புதிய வரிசை முறையில் அந்த பைட்டுகள் அனைத்து நகலெடுக்கும். 333 00:20:25,040 --> 00:20:28,310 இது மிக சரியான தீர்வு புதிது. 334 00:20:28,310 --> 00:20:34,790 ஏன் இந்த கடினமான ஒரு விஷயமாக மாற்றப்பட்டது ஆகும்? 335 00:20:34,790 --> 00:20:36,940 நான் வேலை என்ன, மனிதர்கள் இந்த பிரச்சினை தீர்க்கப்பட வேண்டும். 336 00:20:36,940 --> 00:20:40,710 நாம் ஏன் இணைக்கப்பட்ட பட்டியலில் உள்ள திங்களன்று அதை தீர்க்க வேண்டிய அவசியம் என்ன? அப்படியா? 337 00:20:40,710 --> 00:20:44,060 [மாணவர் பதில், புரிந்து] இது ஒரு நீண்ட நேரம் ஆகலாம். 338 00:20:44,060 --> 00:20:49,260 உண்மையில், நீங்கள் malloc அல்லது realloc அல்லது மற்றொரு ஒன்று calloc, நினைத்தீர்கள் எந்த நேரம், 339 00:20:49,260 --> 00:20:52,470 எந்த நேரத்தில் நீங்கள், திட்டம், இயங்கு பேசுகிறாய், 340 00:20:52,470 --> 00:20:54,310 நீங்கள் நிரல் மெதுவாக முனைகின்றன. 341 00:20:54,310 --> 00:20:57,470 நீங்கள் சுழல்கள் விஷயங்களை இந்த வகையான செய்கிறீர்கள் என்றால், நீங்கள் உண்மையில் விஷயங்களை பொறுமையாக. 342 00:20:57,470 --> 00:21:00,740 நீங்கள், "ஹலோ உலகம்" வகை திட்டங்கள் எளிய இந்த கவனிக்க போவதில்லை 343 00:21:00,740 --> 00:21:04,300 ஆனால் மிக பெரிய திட்டங்களில், நினைவக மீண்டும் மீண்டும் இயங்கு கேட்டு 344 00:21:04,300 --> 00:21:07,520 அல்லது மீண்டும் மீண்டும் அதை திரும்ப கொடுத்து ஒரு நல்ல விஷயம் இருக்க முடியாது முனைகிறது. 345 00:21:07,520 --> 00:21:11,210 பிளஸ், அது அறிவார்ந்த வகையான - இது நேரம் ஒரு முழு கழிவு தான். 346 00:21:11,210 --> 00:21:16,490 புதிய வரிசை பற்றி எல்லாம் நகல் இன்னும் நினைவகத்தை ஒதுக்க ஏன், ஆபத்து, 347 00:21:16,490 --> 00:21:21,980 நீங்கள் உண்மையில் வேண்டும் என நீங்கள் மட்டுமே அதிக நினைவகத்தை ஒதுக்க முடியும் என்று ஒரு மாற்று இருந்தால்? 348 00:21:21,980 --> 00:21:24,130 இங்கு உள்ள pluses மற்றும் minuses உள்ளது. 349 00:21:24,130 --> 00:21:26,730 Pluses ஒன்று இப்போது நாம் செயல் என்று தான். 350 00:21:26,730 --> 00:21:29,100 நினைவகம் துண்டுகளாக்கி இலவச என்று எங்கே தேவையில்லை, 351 00:21:29,100 --> 00:21:32,070 நான் சுட்டிகள் மூலம் உருவாக்க இந்த ரொட்டி crumbs வரிசைப்படுத்த முடியும் 352 00:21:32,070 --> 00:21:34,470 ஒன்றாக என் முழு இணைக்கப்பட்ட பட்டியலில் சரத்திற்கு. 353 00:21:34,470 --> 00:21:36,470 ஆனால் நான் குறைந்த பட்சம் ஒரு விலையை கொடுக்க. 354 00:21:36,470 --> 00:21:40,060 >> என்ன நான் இணைக்கப்பட்ட பட்டியலை பெற்று வரை கொடுக்க வேண்டும்? 355 00:21:40,060 --> 00:21:42,470 அப்படியா? [மாணவர் பதில், புரிந்து] நல்லது. 356 00:21:42,470 --> 00:21:45,650 நீங்கள் இன்னும் நினைவகம் வேண்டும். இப்போது நான், இந்த குறிப்புகள் இடைவெளி தேவை 357 00:21:45,650 --> 00:21:47,900 இந்த சூப்பர் எளிய இணைக்கப்பட்ட பட்டியலில் வழக்கில் 358 00:21:47,900 --> 00:21:51,410 4 பைட்டுகள் அவை முழு எண்கள், சேமிக்க முயற்சிக்கையில் என்று நாம் சொல்லி வைக்க 359 00:21:51,410 --> 00:21:54,240 நன்றாக, ஒரு சுட்டிக்காட்டி 4 பைட்டுகள், எனவே இப்போது நான் உண்மையில் இரு மடங்காக நான் 360 00:21:54,240 --> 00:21:57,290 நினைவக அளவு நான் இந்த பட்டியலில் சேமிக்க வேண்டும். 361 00:21:57,290 --> 00:21:59,680 ஆனால் மீண்டும், இந்த கணினி அறிவியல் ஒரு நிலையான பரிமாற்றம் ஆகும் 362 00:21:59,680 --> 00:22:03,440 நேரம் மற்றும் விண்வெளி மற்றும் வளர்ச்சி, முயற்சி மற்றும் பிற வளங்கள் இடையே. 363 00:22:03,440 --> 00:22:06,630 ஒரு இணைக்கப்பட்ட பட்டியலில் பயன்படுத்தி மற்றொரு எதிர்மறையாக என்ன? அப்படியா? 364 00:22:06,630 --> 00:22:10,150 [மாணவர் பதில், புரிந்து] 365 00:22:10,150 --> 00:22:12,600 நல்ல. அணுக அவ்வளவு எளிதல்ல. நாம் அந்நிய இனி முடியும் 366 00:22:12,600 --> 00:22:15,530 இப்படி வாரம் 0 கொள்கைகளை பிரித்து வெற்றி. 367 00:22:15,530 --> 00:22:18,220 மேலும் குறிப்பாக, பைனரி தேடல். ஏனெனில் கூட நாம் மனிதர்கள் 368 00:22:18,220 --> 00:22:20,400 இந்த பட்டியல் மத்திய எங்கே கிட்டத்தட்ட பார்க்க முடியும், 369 00:22:20,400 --> 00:22:25,840 கணினி மட்டுமே இந்த இணைக்கப்பட்ட பட்டியலில் முதல் எனப்படும் முகவரியில் தொடங்கும் என்று தெரிகிறது. 370 00:22:25,840 --> 00:22:28,250 அந்த 0x123 அல்லது அந்த மாதிரி விஷயம். 371 00:22:28,250 --> 00:22:30,990 மற்றும் நிரல் ஒரே வழி நடுத்தர உறுப்பு காணலாம் 372 00:22:30,990 --> 00:22:33,350 உண்மையில் முழு பட்டியல் தேட வேண்டும். 373 00:22:33,350 --> 00:22:35,500 அதன் பின்னர், அது உண்மையில் முழு பட்டியல் தேட வேண்டும், ஏனெனில் 374 00:22:35,500 --> 00:22:38,950 ஒருமுறை கூட, சுட்டிகள் பின்பற்றுவதன் மூலம் நடுத்தர உறுப்பு அடைய 375 00:22:38,950 --> 00:22:42,380 நீங்கள், திட்டம், திறன், இந்த பட்டியலில் எப்படி நீண்ட தெரியாது 376 00:22:42,380 --> 00:22:45,250 நீங்கள் அதை இறுதியில் வெற்றி, நீங்கள் எப்படி நிரலாக்கத்தின்படி தெரியும் வரை 377 00:22:45,250 --> 00:22:48,600 நீங்கள் ஒரு இணைக்கப்பட்ட பட்டியலில் முடிவில் இருக்கிறோம் என்று? 378 00:22:48,600 --> 00:22:51,120 ஒரு சிறப்பு NULL சுட்டிக்காட்டி, அதனால் மீண்டும் ஒரு மரபு இருக்கிறது. 379 00:22:51,120 --> 00:22:53,870 இந்த சுட்டியை பயன்படுத்தி விட, நாம் நிச்சயமாக அது சில குப்பை மதிப்பு இருக்க விரும்பவில்லை 380 00:22:53,870 --> 00:22:57,750 எங்காவது மேடையில் சுட்டிக்காட்டி; நாம், அதை கையில் இருக்கும் NULL கீழே வேண்டும், 381 00:22:57,750 --> 00:23:01,530 இது முடியும் என்று எங்களுக்கு தெரியும், அதனால் நாம் இந்த தரவு கட்டமைப்பில் இந்த முனையம் வேண்டும் என்று. 382 00:23:01,530 --> 00:23:03,410 >> என்ன இந்த கையாள வேண்டும் என்றால்? 383 00:23:03,410 --> 00:23:05,980 நாம், இந்த காட்சி மிக செய்தது, மற்றும் மனிதர்களுடனான 384 00:23:05,980 --> 00:23:07,630 ஆனால் நாம் ஒரு செருகும் செய்ய விரும்பினால்? 385 00:23:07,630 --> 00:23:12,360 எனவே உண்மையான பட்டியலில் 9, 17, 20, 22, 29, 34 ஆகும். 386 00:23:12,360 --> 00:23:16,730 நாம் எண் 55, அதை ஒரு முனை, ஐந்து malloc இடத்தில் என்ன என்றால் 387 00:23:16,730 --> 00:23:20,730 பின்னர் நாங்கள் திங்களன்று செய்தது போல் பட்டியலில் 55 நுழைக்க வேண்டும்? 388 00:23:20,730 --> 00:23:23,690 எப்படி செய்ய வேண்டும்? நன்றாக, அனிதா வந்து அவர் அடிப்படையில் பட்டியலில் சென்றனர். 389 00:23:23,690 --> 00:23:27,500 அவர் அடுத்த, அடுத்த, அடுத்த, அடுத்த, அடுத்த பிறகு, முதல் உறுப்பு மணிக்கு தொடங்கியது. 390 00:23:27,500 --> 00:23:29,500 இறுதியாக இடது கை வழி கீழே வெற்றி 391 00:23:29,500 --> 00:23:34,480 மற்றும் ஓ உணர்ந்து, இந்த சுழியாக. அதனால் என்ன சுட்டிக்காட்டி கையாளுதல் செய்ய வேண்டும்? 392 00:23:34,480 --> 00:23:37,980 இறுதியில் இருந்த நபர், எண் 34, அவரது இடது கையை உயர்த்தி தேவை 393 00:23:37,980 --> 00:23:46,220 55 பாயிண்ட், 55 புதிய NULL முற்றாகவும் இருக்க கீழே சுட்டி தமது இடது கை தேவை. என்ன. 394 00:23:46,220 --> 00:23:49,540 அழகாக எளிதாக ஒரு வரிசைப்படுத்தப்பட்ட பட்டியலில் 55 சேர்க்க. 395 00:23:49,540 --> 00:23:51,800 எப்படி இந்த இருக்கும்? 396 00:23:51,800 --> 00:23:55,690 >> என்னை போய் இங்கே சில குறியீடு எடுத்துக்காட்டாக திறந்து விட. 397 00:23:55,690 --> 00:23:58,120 நான் gedit திறந்து, என்னை முதல் இரண்டு கோப்புகளை திறந்து விடுவோம். 398 00:23:58,120 --> 00:24:02,050 ஒரு list1.h, மற்றும் இந்த குறியீட்டை துண்டின் என்று என்னை ஞாபகப்படுத்த அனுமதியுங்கள் 399 00:24:02,050 --> 00:24:04,920 நாம் ஒரு முனை பிரதிநிதித்துவம் பயன்படும். 400 00:24:04,920 --> 00:24:13,040 ஒரு முனை பட்டியலில் அடுத்த விஷயத்தை மட்டும் புள்ளிகள் அடுத்த என n என்று ஒரு முழு எண்ணாக மற்றும் ஒரு சுட்டிக்காட்டி இரண்டு உள்ளன. 401 00:24:13,040 --> 00:24:15,450 ஒரு. H கோப்பு இப்போது. ஏன்? 402 00:24:15,450 --> 00:24:19,090 அங்கு இந்த மாநாட்டில், நாங்கள் இந்த ஒரு பெரிய அளவு நம்மை அனுகூலமாக்கிகொண்டீர்கள் இல்லை 403 00:24:19,090 --> 00:24:22,220 printf மற்றும் பிற செயல்பாடுகளை எழுதினார் ஆனால் நபர் 404 00:24:22,220 --> 00:24:27,150 stdio.h என்று ஒரு கோப்பு எழுதி உலகம் ஒரு பரிசாக அந்த செயல்பாடுகளை அனைத்து கொடுத்தார். 405 00:24:27,150 --> 00:24:30,950 பின்னர் string.h உள்ளது, பின்னர் map.h உள்ளது, மற்றும் இந்த h கோப்புகள் இல்லை 406 00:24:30,950 --> 00:24:34,410 நீங்கள் பார்க்க அல்லது மற்ற மக்கள் எழுதிய கால போது பயன்படுத்தப்படும் என்று. 407 00:24:34,410 --> 00:24:38,470 பொதுவாக அந்த ஆண்டில். H கோப்புகளை typedefs போன்ற மட்டுமே உள்ளன 408 00:24:38,470 --> 00:24:42,310 அல்லது தனிபயன் வகைகள் அல்லது மாறிலிகள் வெளிப்படுத்துவதை வெளிப்படுத்துவதை. 409 00:24:42,310 --> 00:24:47,890 நீங்கள் தலைப்பு கோப்புகள் உள்ள செயல்பாடுகளை 'செயலாக்கங்கள் போடாதே. 410 00:24:47,890 --> 00:24:50,570 நீங்கள், அதற்கு பதிலாக, அவர்களது முன்மாதிரிகளை வைத்து. 411 00:24:50,570 --> 00:24:53,050 அவர்கள் தேவை என்ன, உலக நீங்கள் பகிர விரும்பும் பொருட்களை வைப்பதற்கு 412 00:24:53,050 --> 00:24:55,640 தங்கள் குறியீடு தொகுக்க வேண்டும். அதனால் தான் இந்த பழக்கம் பெற, 413 00:24:55,640 --> 00:24:59,110 நாம் அதையே செய்ய முடிவு. மிக, list1.h அங்கு இல்லை 414 00:24:59,110 --> 00:25:02,070 ஆனால் நாம் உலக மக்களுக்கு வட்டி இருக்கலாம் என்று ஒன்று வைத்துள்ளேன் 415 00:25:02,070 --> 00:25:05,030 எங்கள் இணைக்கப்பட்ட பட்டியலில் செயல்படுத்த பயன்படுத்த வேண்டும். 416 00:25:05,030 --> 00:25:08,040 இப்போது, list1.c உள்ள, நான் இந்த விஷயத்தை மூலம் போக மாட்டேன் 417 00:25:08,040 --> 00:25:11,390 அது ஒரு பிட் நீண்ட ஏனெனில், இந்த திட்டம், ஆனால் அது வரியில் விரைவில் உண்மையான இயக்க அனுமதிக்க. 418 00:25:11,390 --> 00:25:15,720 என்னை, பட்டியல் 1 தொகுக்க எனக்கு அப்போது பட்டியல் 1 ரன் விட, மற்றும் நீங்கள் என்ன பார்ப்பீர்கள் நாம் 419 00:25:15,720 --> 00:25:18,070 நாம் இங்கே உருவகப்படுத்தப்பட்ட ஒரு எளிய சிறிய நிரல் உள்ளது 420 00:25:18,070 --> 00:25:20,990 எனக்கு ஒரு பட்டியல் எண்களை சேர்க்க மற்றும் நீக்க அனுமதிக்க நடக்கிறது. 421 00:25:20,990 --> 00:25:24,310 என்னை போய் மெனு விருப்பத்தை 3 3 தட்டச்சு செய்யலாம். 422 00:25:24,310 --> 00:25:27,880 நான் பல நுழைக்க வேண்டும் - நாம் 9 இருந்த முதல் எண், என்ன 423 00:25:27,880 --> 00:25:30,550 இப்போது நான் பட்டியலில் இப்போது 9 தான் கூறினார். 424 00:25:30,550 --> 00:25:33,760 என்னை போய் இன்னொரு செருகும் செய்வோம், அதனால் நான் மெனு விருப்பத்தை 3. 425 00:25:33,760 --> 00:25:36,760 என்ன எண்ணை நான் நுழைக்க வேண்டும்? 17. 426 00:25:36,760 --> 00:25:39,220 உள்ளிடவும். நான் இன்னும் ஒன்று செய்யலாம். 427 00:25:39,220 --> 00:25:41,720 என்னை எண் 22 சேர்க்க அனுமதி. 428 00:25:41,720 --> 00:25:45,850 எனவே நாம் ஒரு கணம் முன்பு ஸ்லைடு வடிவத்தில் என்று இணைக்கப்பட்ட பட்டியலில் துவக்கங்கள் வேண்டும். 429 00:25:45,850 --> 00:25:48,740 இந்த செருகும் உண்மையில் எப்படி நடக்கிறது? 430 00:25:48,740 --> 00:25:52,000 உண்மையில், 22 பட்டியலின் முடிவில் இப்போது. 431 00:25:52,000 --> 00:25:55,050 கதை நாம் திங்களன்று மேடையில் கூறினார் மற்றும் இப்போது recapped 432 00:25:55,050 --> 00:25:57,460 உண்மையில் குறியீடு நடக்கிறது. 433 00:25:57,460 --> 00:25:59,700 ஒரு பார்க்கலாம். என்னை இந்த கோப்பில் கீழே பார்ப்போம். 434 00:25:59,700 --> 00:26:01,720 நாம், செயல்பாடுகளில் சில விரிவுரை வேண்டும் 435 00:26:01,720 --> 00:26:05,630 ஆனால் நாம், கீழே போய் சொல்ல, நுழைவு செயல்பாடு வேண்டும். 436 00:26:05,630 --> 00:26:11,720 >> இந்த இணைக்கப்பட்ட பட்டியலில் ஒரு புதிய முனையில் செருகி பற்றி செல்ல எப்படி என்று பார்ப்போம். 437 00:26:11,720 --> 00:26:14,550 பட்டியல் எங்கே அறிவித்தார்? சரி, நாம், மேலே வழி மேலே 438 00:26:14,550 --> 00:26:19,970 என் இணைக்கப்பட்ட பட்டியலில் அடிப்படையில் ஆரம்பத்தில் NULL என்று ஒரு சுட்டிக்காட்டி என அறிவித்தார் என்று கவனிக்க. 439 00:26:19,970 --> 00:26:23,180 அதனால் நான் பொதுவாக நாம் எதிராக போதித்தார் நான் இது, இங்கே ஒரு உலகளாவிய மாறி பயன்படுத்தி 440 00:26:23,180 --> 00:26:25,280 அதை தக்க வைத்து கொள்ள, உங்கள் குறியீடு ஒரு சிறிய நையாண்டி செய்கிறது, ஏனெனில் 441 00:26:25,280 --> 00:26:29,080 இது சோம்பேறி, வழக்கமாக வகையான, ஆனால் இது சோம்பேறி அல்ல அது தவறு அல்ல இது மோசமில்லை 442 00:26:29,080 --> 00:26:33,660 வாழ்க்கையில் உங்கள் திட்டத்தை ஒரே நோக்கம் ஒரு இணைக்கப்பட்ட பட்டியலில் உருவகப்படுத்த என்று. 443 00:26:33,660 --> 00:26:35,460 இதில் நாம் என்ன சரியாக உள்ளது. 444 00:26:35,460 --> 00:26:39,100 ஒவ்வொரு செயல்பாடு அதை கடக்க வேண்டும் என்றால் முக்கிய இந்த பிரகடனம் மற்றும் காட்டிலும் 445 00:26:39,100 --> 00:26:42,640 நாம் இந்த திட்டத்தை எழுதப்பட்ட நான், நாம் பதிலாக ஓ உணர்ந்து, தான் அதை உலக செய்யலாம் 446 00:26:42,640 --> 00:26:47,060 இந்த திட்டத்தின் முழு நோக்கம் ஒரே ஒரு இணைக்கப்பட்ட பட்டியலில் காட்ட காரணம். 447 00:26:47,060 --> 00:26:50,700 அதனால் நன்றாக தெரிகிறது. இங்கே என் முன்மாதிரிகள், மற்றும் நாம், இந்த அனைத்து வழியாக போக மாட்டேன் 448 00:26:50,700 --> 00:26:55,800 ஆனால் நான் ஒரு நீக்கு செயல்பாடு, ஒரு கண்டறிய செயல்பாடு, ஒரு நுழைவு செயல்பாடு, மற்றும் ஒரு பயணிக்கின்றன செயல்பாடு எழுதினார். 449 00:26:55,800 --> 00:26:59,080 ஆனால் இப்போது நுழைவு செயல்பாடு மீண்டும் கீழே போகலாம் 450 00:26:59,080 --> 00:27:01,490 இந்த ஒரு இங்கே வேலை எப்படி பார்க்க. 451 00:27:01,490 --> 00:27:09,940 நுழைவு வரி உள்ளது - இங்கே நாம். 452 00:27:09,940 --> 00:27:12,850 செருக. நாம் கேட்க போகிறோம், ஏனெனில் அது, எந்த வாதங்களை எடுத்து இல்லை 453 00:27:12,850 --> 00:27:15,930 அவர்கள் நுழைக்க விரும்பவில்லை எண் இந்த செயல்பாடு பயனர் உள்ளே. 454 00:27:15,930 --> 00:27:19,410 ஆனால் முதல், நாம் இன்னும் சில இடத்தை கொடுக்க தயார். 455 00:27:19,410 --> 00:27:22,050 இந்த மற்ற எடுத்துக்காட்டாக இருந்து நகல் மற்றும் பேஸ்ட் வகை. 456 00:27:22,050 --> 00:27:25,110 அந்த வழக்கில், நாம் ஒரு முழு எண்ணாக ஒதுக்கீடு; இந்த நேரத்தில் நாம் ஒரு முனை ஒதுக்கீடு நீங்கள். 457 00:27:25,110 --> 00:27:27,910 நான் ஒரு முனை என்பது எவ்வளவு பைட்டுகள் நினைவில் இல்லை, ஆனால் அது நல்லது. 458 00:27:27,910 --> 00:27:30,460 Sizeof எனக்கு என்று கண்டுபிடிக்க முடியாது. 459 00:27:30,460 --> 00:27:33,340 ஏன் நான் கோடு 120 ல் NULL சோதிக்கிறது? 460 00:27:33,340 --> 00:27:37,530 வரி 119 இல் தவறு என்ன? அப்படியா? 461 00:27:37,530 --> 00:27:40,530 [மாணவர் பதில், புரிந்து] 462 00:27:40,530 --> 00:27:43,440 நல்ல. இப்போது நான் அதிகமாக நினைவகம் கேட்டோம் என்று வழக்கு முடியும் 463 00:27:43,440 --> 00:27:47,020 அல்லது ஏதாவது தவறாக மற்றும் இயங்கு, என்னிடம் போதுமான பைட்டுகள் இல்லை 464 00:27:47,020 --> 00:27:50,640 அது NULL திரும்புவதன் மூலம் எவ்வளவு அடையாளம், மற்றும் நான் என சோதிக்க என்றால் 465 00:27:50,640 --> 00:27:54,710 மற்றும் நான் கண்மூடித்தனமாக முகவரியை மீண்டும் பயன்படுத்த தொடர, அதை NULL என்று. 466 00:27:54,710 --> 00:27:58,400 சில அறியப்படாத மதிப்பு இருக்க முடியும்; ஒரு நல்ல விஷயம் வரை நான் - 467 00:27:58,400 --> 00:28:00,590 உண்மையில் ஒரு அறியப்படாத மதிப்பு முடியாது. அதை NULL என்று, நான் விரும்பவில்லை, அதனால் 468 00:28:00,590 --> 00:28:02,550 அதை துஷ்பிரயோகம் மற்றும் அதை dereferencing அபாயத்தை. 469 00:28:02,550 --> 00:28:07,410 அது நடந்தால், நான் திரும்பி மற்றும் நான் எந்த நினைவக திரும்பி வரவில்லை போல நாம் நடிக்க வேண்டும். 470 00:28:07,410 --> 00:28:12,270 >> இல்லையெனில், நான் எனக்கு செருக ஒரு எண் கொடுக்க சொல்ல, நான், நம் பழைய நண்பர் GetInt அழைப்பு 471 00:28:12,270 --> 00:28:15,530 பின்னர் இந்த நாங்கள் திங்களன்று அறிமுகப்படுத்தப்பட்டது புதிய இலக்கணத்தை இருந்தது. 472 00:28:15,530 --> 00:28:20,320 'Newptr-> n' நீங்கள் malloc வழங்கப்படும் என்று முகவரி எடுத்து பொருள் 473 00:28:20,320 --> 00:28:23,490 இது, ஒரு புதிய கணு பொருள் முதல் பைட் பிரதிபலிக்கிறது 474 00:28:23,490 --> 00:28:26,860 பின்னர் n என்று துறையில் சென்று. 475 00:28:26,860 --> 00:28:35,270 ஒரு சிறிய முக்கியமில்லாத கேள்வி: இந்த குறியீடு என்ன இன்னும் புரிந்து வரி ஆகும்? 476 00:28:35,270 --> 00:28:38,110 நான் எப்படி இந்த எழுதப்பட்ட? குத்துவது எடுக்க வேண்டும்? 477 00:28:38,110 --> 00:28:41,480 [மாணவர் பதில், புரிந்து] 478 00:28:41,480 --> 00:28:44,870 நல்ல. . N ஐ பயன்படுத்தி, ஆனால் இது போன்ற மிக எளிய அல்ல. 479 00:28:44,870 --> 00:28:47,090 நான் முதலில் என்ன செய்ய வேண்டும்? [மாணவர் பதில், புரிந்து] 480 00:28:47,090 --> 00:28:52,730 நல்ல. நான் * newptr.n செய்ய வேண்டும். 481 00:28:52,730 --> 00:28:55,610 எனவே இந்த புதிய சுட்டிக்காட்டி வெளிப்படையாக ஒரு முகவரியை என்றான். ஏன்? 482 00:28:55,610 --> 00:28:59,520 இது malloc மூலம் திரும்பி கொண்டிருந்தேன். என்று * newptr ", அங்கு சென்று" 483 00:28:59,520 --> 00:29:02,970 நீ அங்கு ஒரு முறை, பின்னர், நீங்கள் மிகவும் பழக்கமான. n, பயன்படுத்தலாம் 484 00:29:02,970 --> 00:29:05,730 ஆனால் இது நாம் மனிதர்கள் போகிறோம் குறிப்பாக, ஒரு சிறிய அசிங்கமான தோற்றம் 485 00:29:05,730 --> 00:29:10,360 அம்புகளை கொண்டு சுட்டிகள் அனைத்து நேரம் வரைந்து; உலக அம்புக்குறியீட்டை குறியீடு மீது தரப்படுத்தப்பட்ட உள்ளது, 486 00:29:10,360 --> 00:29:12,320 இது போலவே தான் செய்கிறது. 487 00:29:12,320 --> 00:29:16,070 இடது விஷயம் சுட்டிக்காட்டி போது> குறியீடு - நீ மட்டும் பயன்படுத்தவும். 488 00:29:16,070 --> 00:29:18,790 அது ஒரு உண்மையான struct தான், இல்லையெனில்,,. N பயன்படுத்த. 489 00:29:18,790 --> 00:29:25,800 பின்னர் இந்த: நான் ஏன் newptr-> அடுத்த துவக்க வேண்டும் பூஜ்ய வேண்டும்? 490 00:29:25,800 --> 00:29:28,610 நாம் நிலை இறுதியில் ஒரு தொங்கும் இடது கையை விரும்பவில்லை. 491 00:29:28,610 --> 00:29:31,630 நாம் அது நேராக கீழே சுட்டி வேண்டும், இந்த பட்டியல் இறுதி பொருள் 492 00:29:31,630 --> 00:29:34,980 முக்கியமான இந்த முனை இருக்க முடியும், எனவே நாம் நன்றாக அதை NULL என்பது உறுதி. 493 00:29:34,980 --> 00:29:38,460 மேலும், பொதுவாக, உங்கள் மாறிகள் அல்லது உங்கள் தரவு உறுப்பினர்கள் மற்றும் structs ஆரம்பிக்கும் 494 00:29:38,460 --> 00:29:40,470 ஒன்று மட்டும் நன்றாக நடைமுறையில் உள்ளது. 495 00:29:40,470 --> 00:29:45,170 வெறும் குப்பை உள்ளன மற்றும் பொதுவாக உள்ளன தொடர்ந்து விடாமல் பிரச்சனையில் நீங்கள் பெறுகிறார் 496 00:29:45,170 --> 00:29:48,650 நீங்கள் பிறகு ஏதாவது செய்ய மறந்து விட்டால். 497 00:29:48,650 --> 00:29:51,590 >> இங்கே ஒரு சில சந்தர்ப்பங்களில் தான். இந்த, மீண்டும், நுழைவு விழா 498 00:29:51,590 --> 00:29:54,930 மாறி முதல் அழைப்பு என்றால் நான் சோதித்து முதல் விஷயம், 499 00:29:54,930 --> 00:29:58,240 உலக மாறி சுழியாக, எந்த இணைக்கப்பட்ட பட்டியலில் உள்ளது என்பதாகும். 500 00:29:58,240 --> 00:30:02,460 நாம் எந்த எண்கள் செருகிய இல்லை, அது தற்போதைய எண்ணிக்கை செருக சாதாரணமான விஷயம் 501 00:30:02,460 --> 00:30:05,240 பட்டியலில், ஏனெனில் அது பட்டியலில் ஆரம்பத்தில் சொந்தமானது. 502 00:30:05,240 --> 00:30:08,100 அனிதா மட்டும் நடித்து, தனியாக இங்கு நின்றுக்கொண்டிருந்த போது இந்த இருந்தார் 503 00:30:08,100 --> 00:30:11,390 நாம் ஒரு முனை ஒதுக்கப்பட்ட வரை வேறு யாரும் இல்லை, மேடையில் இங்கு தான் 504 00:30:11,390 --> 00:30:13,940 பின்னர் அவர், முதல் முறையாக தனது கையை உயர்த்த முடியும் 505 00:30:13,940 --> 00:30:17,420 எல்லோரும் திங்களன்று தனது பிறகு மேடையில் வந்து இருந்தால். 506 00:30:17,420 --> 00:30:22,900 இப்போது இங்கே, இந்த நான் சொல்ல ஒரு சிறு சோதனை, n புதிய கணு மதிப்பு 507 00:30:22,900 --> 00:30:27,370 , தற்போதைய முதல் முனை மற்றும் n மதிப்பு < 508 00:30:27,370 --> 00:30:29,930 என்று ஆரம்பித்து அந்த ஒரு இணைக்கப்பட்ட பட்டியலில் உள்ளது என்பதாகும். 509 00:30:29,930 --> 00:30:32,330 அங்கு பட்டியலில் குறைந்தது ஒரு முனை, ஆனால் இந்த புதிய பையன் 510 00:30:32,330 --> 00:30:37,230 அதை, நாம் சுற்றி விஷயங்களை நகர்த்த வேண்டும் முன் சொந்தமானது. 511 00:30:37,230 --> 00:30:43,450 பட்டியல் மட்டும் தொடங்கியது என்றால் வேறு வார்த்தைகளில்,,, என்று நாம் 512 00:30:43,450 --> 00:30:48,100 என்று ஒரு எண் 17, - உண்மையில், நாம் இன்னும் தெளிவாக இதை செய்ய முடியும். 513 00:30:48,100 --> 00:30:56,010 நாம் முதலில் அழைத்து இங்கே ஒரு சுட்டிக்காட்டி நமது கதை ஆரம்பித்தால், 514 00:30:56,010 --> 00:30:59,870 ஆரம்பத்தில், அதை NULL, மற்றும் நாம் எண் 9 செருக 515 00:30:59,870 --> 00:31:02,510 எண் 9 தெளிவாக பட்டியலில் ஆரம்பத்தில் சொந்தமானது. 516 00:31:02,510 --> 00:31:07,400 எனவே தான் முகவரி அல்லது எண் 9 malloced இங்கு அதை வைத்து தான் நடிக்க விடுங்கள். 517 00:31:07,400 --> 00:31:13,170 முதல் முன்னிருப்பாக 9 இருந்தால், நாம் விவாதித்த முதல் காட்சி தான், இங்கே நாம் புள்ளி இந்த பையன் பொருள் 518 00:31:13,170 --> 00:31:15,790 இதை NULL விட்டு; இப்போது நாம் எண் 9 வேண்டும். 519 00:31:15,790 --> 00:31:18,280 நாம் சேர்க்க வேண்டும் அடுத்த எண் 17 ஆகும். 520 00:31:18,280 --> 00:31:22,420 17 இங்கு சொந்தமானது, நாம் இந்த வழியாக சில தருக்க தொலைநிலைக்கல்வி செய்ய போகிறது. 521 00:31:22,420 --> 00:31:26,060 நாம், நாம் எண் 8 நுழைக்க வேண்டும் என்று பாசாங்கு நாம் செய்ய முன் எனவே, அதற்கு பதிலாக நாம். 522 00:31:26,060 --> 00:31:28,650 >> அதனால் தான் வசதிக்காக மீது ஆணையாக, நான் இங்கே வரைய போகிறேன். 523 00:31:28,650 --> 00:31:30,760 ஆனால் ஞாபகமிருக்கட்டும், malloc மிகவும் எங்கும் முடியும். 524 00:31:30,760 --> 00:31:33,460 ஆனால் ஓவியம் மீது ஆணையாக, நான் அதை இங்கே வைக்கிறேன். 525 00:31:33,460 --> 00:31:38,440 அதனால் நான் பல 8 ஒரு முனை ஒதுக்கீடு செய்த பாசாங்கு; இந்த முன்னிருப்பாக சுழியாக. 526 00:31:38,440 --> 00:31:42,800 இப்போது என்ன நடக்க வேண்டும்? எல்லாம் ஒரு ஜோடி. 527 00:31:42,800 --> 00:31:47,090 நாம் இந்த மாதிரி ஒரு சுட்டிக்காட்டி மேம்படுத்தப்பட்டது அங்கு நாங்கள், திங்களன்று மேடையில் இந்த தவறு 528 00:31:47,090 --> 00:31:51,890 பின்னர் இதை, மற்றும் நாம் கூறி - நாம் மேடையில் எல்லோரையும் அனாதையான. 529 00:31:51,890 --> 00:31:54,350 நீங்கள் can't ஏனெனில் - இங்கு நடவடிக்கைகளின் பொருட்டு, முக்கியமானது 530 00:31:54,350 --> 00:31:58,760 இப்போது நாம் ஒரு இடத்தில் மிதந்து வகையான என்று இந்த முனை 9 இழந்துவிட்டேன். 531 00:31:58,760 --> 00:32:01,150 இந்த திங்களன்று சரியான அணுகுமுறை அல்ல. 532 00:32:01,150 --> 00:32:03,330 நாம் முதலில் வேறு ஏதாவது செய்ய வேண்டும். 533 00:32:03,330 --> 00:32:06,280 உலகின் மாநில இந்த தெரிகிறது. ஆரம்பத்தில், 8 ஒதுக்கீடு செய்யப்பட்டுள்ளது. 534 00:32:06,280 --> 00:32:10,550 என்ன 8 சேர்க்கைக்கு ஒரு சிறந்த வழி என்று? 535 00:32:10,550 --> 00:32:14,720 மாறாக முதல் இந்த சுட்டிக்காட்டி புதுப்பிப்பதற்கான, வெறும் பதிலாக இங்கே இந்த புதுப்பிக்க. 536 00:32:14,720 --> 00:32:17,720 எனவே நாம் இந்த பூஜ்ய தன்மையை போகிறது என்று குறியீடு ஒரு வரி வேண்டும் 537 00:32:17,720 --> 00:32:22,020 கணு 9 மணிக்கு சுட்டி காட்டும் ஒரு உண்மையான சுட்டிக்காட்டி கொண்டு, 538 00:32:22,020 --> 00:32:27,970 மற்றும் நாம் பாதுகாப்பாக இங்கே இந்த பையன் நேரத்தில் சுட்டி முதல் மாற்றலாம். 539 00:32:27,970 --> 00:32:31,330 இப்போது நாம் இரு கூறுகளின் பட்டியலை, ஒரு இணைக்கப்பட்ட பட்டியலில் உள்ளது. 540 00:32:31,330 --> 00:32:33,580 இந்த உண்மையில் இங்கு அப்படி என்ன இருக்கிறது? 541 00:32:33,580 --> 00:32:36,900 நாம் குறியீடு பார்த்தால், நான் சரியாக தான் செய்தேன் என்று கவனிக்க. 542 00:32:36,900 --> 00:32:41,970 நான் newptr கூறினார், இந்த கதை, newptr இந்த பையன் உள்ள நீட்டினாள். 543 00:32:41,970 --> 00:32:45,520 >> என்னை ஒரு விஷயம் வரைந்து விட்டு, நான் இந்த ஒரு சிறு அறையில் விட்டிருக்க வேண்டும். 544 00:32:45,520 --> 00:32:48,540 எனவே சிறிய சிறிய சித்திரம் மன்னிக்க. 545 00:32:48,540 --> 00:32:52,140 இந்த பையன் newptr அழைக்கப்படுகிறது. 546 00:32:52,140 --> 00:32:57,940 என்று நாம் வரிசையில், ஒரு சில வரிகளில் முன்பு அறிவித்தார் மாறி இருக்கிறது - வெறும் 25 மேலே. 547 00:32:57,940 --> 00:33:03,430 அது 8 சுட்டி காட்டும். அதனால் நான் newptr-> அடுத்த சொல்லும் போது, struct சென்று அதாவது 548 00:33:03,430 --> 00:33:07,910 newptr மூலம் காட்டியதும் வருகிறது என்று, அதனால் இங்கே நாம், அங்கு போக. 549 00:33:07,910 --> 00:33:13,990 பின்னர் அம்பு அடுத்த துறையில் கிடைக்கும் என்று, பின்னர் = அங்கு என்ன மதிப்பு வைத்து சொல்கிறார்? 550 00:33:13,990 --> 00:33:17,280 என்ன மதிப்பு முதல் இருந்தது;? என்று முதல் இருந்தது மதிப்பு 551 00:33:17,280 --> 00:33:21,930 முதல் இந்த இப்போது இந்த முனை உள்ள சுட்டி வேண்டும் என்றால், எனவே இந்த முனை உள்ள நீட்டினாள். 552 00:33:21,930 --> 00:33:25,660 வேறுவிதமாக கூறினால், என்ன, என் கையெழுத்தில் ஒரு கேலிக்குரிய குழப்பம் என்றாலும் தெரிகிறது 553 00:33:25,660 --> 00:33:28,620 சும்மா இந்த அம்புகள் நகரும் ஒரு எளிமையான கருத்து என்ன 554 00:33:28,620 --> 00:33:31,560 இந்த ஒரு லைனர் கொண்டு குறியீட்டை மொழிபெயர்கப்பட்டுள்ளது. 555 00:33:31,560 --> 00:33:38,110 அடுத்த துறையில் முதல் என்ன சேமித்து பின் முதல் உண்மையில் என்ன புதுப்பிக்க. 556 00:33:38,110 --> 00:33:40,900 இந்த சில வழியாக முன்னோக்கி வேகமாக முன்னோக்கி செல்லலாம், 557 00:33:40,900 --> 00:33:44,220 இப்போது இந்த வால் செருகும் மட்டுமே இருக்கும். 558 00:33:44,220 --> 00:33:51,210 நான் சில முனை அடுத்த புலத்தில் NULL என்று கண்டறிய அங்கு புள்ளி வைக்க வேண்டும். 559 00:33:51,210 --> 00:33:53,410 கதை, ஒரு விவரம் இந்த நேரத்தில் நான் கடந்த glossing என்று 560 00:33:53,410 --> 00:33:58,170 நான் வரி 142, முன்னோடி சுட்டிக்காட்டி இங்கு மற்றொரு சுட்டிக்காட்டி வரை அறிமுகம் செய்துள்ளோம் என்று. 561 00:33:58,170 --> 00:34:01,320 அடிப்படையில், கதை இந்த கட்டத்தில், ஒரு முறை பட்டியல் நீண்ட பெறுகிறார், 562 00:34:01,320 --> 00:34:04,800 நான் வகையான இரு விரல்களால் அதை நடக்க வேண்டும் நான் மிகவும் சென்றால் ஏனெனில், 563 00:34:04,800 --> 00:34:08,219 ஒரு ஒற்றை நீளம் பட்டியலில் நினைவில், நீங்கள் பின்னோக்கி போக முடியாது. 564 00:34:08,219 --> 00:34:13,659 எனவே predptr இந்த யோசனை என் இடது கை மற்றும் newptr - இல்லை newptr. 565 00:34:13,659 --> 00:34:17,199 இங்கு மற்றொரு சுட்டிக்காட்டி என் மற்ற விரல் இல்லை, நான் பட்டியல் நடைபயிற்சி வெறும் வகையான இருக்கிறேன். 566 00:34:17,199 --> 00:34:22,179 என்று உள்ளது, அதனால் தான். ஆனால் ஒரே இங்கே எளிமையான நிகழ்வுகளில் ஒன்றாக கருத வேண்டும். 567 00:34:22,179 --> 00:34:26,620 என்று சுட்டிக்காட்டி அடுத்த புலத்தில் NULL இருந்தால், தருக்க உட்குறிப்பு என்ன? 568 00:34:26,620 --> 00:34:30,840 இந்த பட்டியலில் பயணித்து மற்றும் நீங்கள் ஒரு NULL சுட்டிக்காட்டி வெற்றி? 569 00:34:30,840 --> 00:34:35,780 நீங்கள் பட்டியலின் முடிவில் இருக்கிறோம், அதனால் குறியீடு இந்த ஒரு கூடுதல் உறுப்பு சேர்க்க வேண்டும் 570 00:34:35,780 --> 00:34:41,230 உள்ளுணர்வு வகையான, அதன் அடுத்த சுட்டிக்காட்டி NULL என்று முனை எடுக்கும் 571 00:34:41,230 --> 00:34:46,120 இந்த தற்போது சுழியாக, மற்றும் புதிய கணு முகவரி இருக்க வேண்டும், எனினும், அதை மாற்ற. 572 00:34:46,120 --> 00:34:52,260 எனவே தான் நாம் ஒருவர் இடது கை ஓங்கிய மேடையில் ஈர்த்தது என்று குறியீடு அம்பு வரையப்படும். 573 00:34:52,260 --> 00:34:54,070 >> நான் இப்போது என் கைகளை அசைப்பது வேண்டும் என்று வழக்கு, 574 00:34:54,070 --> 00:34:58,020 நான் நாம் சூழலில் இந்த மாதிரியான அதை செய்யும் போது அது இழந்தது எளிதானது என்று தான், 575 00:34:58,020 --> 00:35:00,600 பட்டியலில் உள்ள நடுத்தர வயதில் செருகும் சோதிக்கிறது. 576 00:35:00,600 --> 00:35:03,220 நீங்கள் கண்டுபிடிக்க வேண்டும் என்றால் ஆனால் உள்ளுணர்வாக, என்ன வேண்டும் 577 00:35:03,220 --> 00:35:06,600 சில எண் மத்தியில் எங்கிருந்து நீங்கள் நடக்க வேண்டும் 578 00:35:06,600 --> 00:35:09,510 ஒன்றுக்கு மேற்பட்ட விரல் கொண்டு, ஒன்றுக்கும் மேற்பட்ட சுட்டிக்காட்டி, 579 00:35:09,510 --> 00:35:12,920 இது சோதனை மூலம் எங்கிருந்து கண்டுபிடித்தார்கள் உறுப்பு ஆகும் <தற்போதைய ஒன்று, 580 00:35:12,920 --> 00:35:15,450 > தற்போதைய ஒரு முறை நீங்கள், அந்த இடத்தில் 581 00:35:15,450 --> 00:35:20,400 பின்னர் நீங்கள் மிகவும் கவனமாக சுற்றி சுட்டிகள் நகர்த்த அங்கு ஷெல் விளையாட்டின் இந்த வகை செய்ய வேண்டும். 582 00:35:20,400 --> 00:35:23,850 என்று பதில், நீங்கள் உங்கள் சொந்த வீட்டில் இந்த வழியாக காரணம் விரும்பினால், 583 00:35:23,850 --> 00:35:28,340 கீழே வெறும் குறியீடு இந்த இரண்டு வரிகளுக்கு கொதித்தது, ஆனால் அந்த கோடுகள் வரிசையில் சூப்பர் முக்கியமானது. 584 00:35:28,340 --> 00:35:31,390 நீங்கள் ஒருவரை கை விட்டு மற்றும் உயர்த்த என்றால் வேறு யாரோ, தவறான முறையில் தான் 585 00:35:31,390 --> 00:35:34,580 மீண்டும், நீங்கள் பட்டியல் orphaning முடியும் என்று. 586 00:35:34,580 --> 00:35:39,500 மேலும் கருத்துருவில் சுருக்கி, வால் உள்ள செருகும் நேரடியாக உள்ளது. 587 00:35:39,500 --> 00:35:42,940 தலைமை புகுத்தியது, மேலும் நேரடியாக இல்லை 588 00:35:42,940 --> 00:35:45,580 ஆனால் நீங்கள் ஒரு கூடுதல் சுட்டிக்காட்டி இந்த முறை புதுப்பிக்க வேண்டும் 589 00:35:45,580 --> 00:35:47,930 இங்கே பட்டியலில் எண் 5 கசக்கி வேண்டும், 590 00:35:47,930 --> 00:35:51,560 பின்னர் மத்தியில் புகுத்தியது இன்னும் முயற்சி மேற்கொள்கிறது, 591 00:35:51,560 --> 00:35:56,130 மிக கவனமாக அதன் சரியான இடத்தில் எண் 20 செருக, 592 00:35:56,130 --> 00:35:58,350 இதில் 17 மற்றும் 22 இடையே உள்ளது. 593 00:35:58,350 --> 00:36:02,700 நீங்கள், 22 புதிய கணு 20 புள்ளி போன்ற ஏதாவது செய்ய வேண்டும் என்று 594 00:36:02,700 --> 00:36:08,470 பின்னர், அது முனை தான் சுட்டிக்காட்டி கடந்த புதுப்பிக்க வேண்டும்? 595 00:36:08,470 --> 00:36:10,630 உண்மையில் இது செருக, 17 தான். 596 00:36:10,630 --> 00:36:14,080 எனவே மீண்டும், அந்த குறிப்பிட்ட செயல்படுத்த உண்மையான குறியீடு ஒத்திவைக்க வேண்டும். 597 00:36:14,080 --> 00:36:17,280 >> முதலில், இது ஒரு சிறிய பெரும், ஆனால் இது உண்மையில் ஒரு முடிவிலா சுழற்சியில் தான் 598 00:36:17,280 --> 00:36:21,770 என்று,, தேடுகிறது தேடுகிறது, தேடுகிறது, தேடுகிறது, மற்றும் நீங்கள் NULL சுட்டிக்காட்டி வெற்றி என விரைவில் முறியடிக்கும் 599 00:36:21,770 --> 00:36:24,590 எந்த இடத்தில் நீங்கள் தேவையான செருகும் செய்ய முடியும். 600 00:36:24,590 --> 00:36:30,960 இந்த, பின்னர், பிரதிநிதி இணைக்கப்பட்ட பட்டியலில் சேர்த்தல் குறியீடு உள்ளது. 601 00:36:30,960 --> 00:36:34,590 , என்று நிறைய இருந்தது, மற்றும் நாம் ஒரு பிரச்சினையை தீர்க்க போல் அது உணர்கிறது 602 00:36:34,590 --> 00:36:36,940 ஆனால் நாம் ஒரு முழு மற்ற ஒரு அறிமுகப்படுத்தப்பட்டது. வெளிப்படையாக, நாம் இந்த நேரத்தில் செலவு 603 00:36:36,940 --> 00:36:40,540 பெரிய ஓ மற்றும் Ω மற்றும் விரைவாக சிக்கல்களை தீர்க்க முயற்சி, நேரம் இயங்கும், 604 00:36:40,540 --> 00:36:43,270 இங்கு நாம் பின்னோக்கி, அது போல ஒரு பெரிய அடியை எடுத்து. 605 00:36:43,270 --> 00:36:45,380 இன்னும், இலக்கு தரவு சேமிக்க என்றால், 606 00:36:45,380 --> 00:36:48,010 நாங்கள் திங்களன்று கூறினார் என, பரிசுத்த கிரெயில் போல் உணர்கிறேன், உண்மையில் வேண்டும் 607 00:36:48,010 --> 00:36:50,470 உடனடியாக பொருட்களை சேமிக்க. 608 00:36:50,470 --> 00:36:53,930 >> உண்மையில், நாம் ஒரு கணம் போட்டு தள்ளி இணைக்கப்பட்ட பட்டியலில் என்று நினைக்கிறேன் 609 00:36:53,930 --> 00:36:56,000 நாங்கள் பதிலாக ஒரு அட்டவணை கருத்து அறிமுகப்படுத்தப்பட்டது. 610 00:36:56,000 --> 00:36:59,110 ஒரு வரிசைக்கு ஒரு கணம் அது ஒரு அட்டவணையில் யோசிப்போம். 611 00:36:59,110 --> 00:37:03,790 இந்த வரிசையில் இந்த வழக்கில் இங்கே சில 26 கூறுகள், 25 மூலம் 0 உள்ளது 612 00:37:03,790 --> 00:37:07,940 நீங்கள் பெயர்கள் சேமிப்பு சில துண்டின் தேவை என்று நினைக்கிறேன்: 613 00:37:07,940 --> 00:37:10,350 ஆலிஸ் மற்றும் பாப் மற்றும் சார்லி மற்றும் போல. 614 00:37:10,350 --> 00:37:12,880 மற்றும் அந்த பெயர்களை சேமிக்க சில தரவு கட்டமைப்பு வேண்டும். 615 00:37:12,880 --> 00:37:15,000 சரி, நீங்கள் ஒரு இணைக்கப்பட்ட பட்டியலில் போல பயன்படுத்த முடியும் 616 00:37:15,000 --> 00:37:20,260 மற்றும் நீ முன்னும் பின்னுமாக பாப் பிறகு பாப் மற்றும் சார்லி முன் ஆலிஸ் சேர்க்கைக்கு பட்டியலில் நடக்க செய்ய முடியும். 617 00:37:20,260 --> 00:37:23,850 மேலும், உண்மையில், நீங்கள் ஒரு ஒதுக்கி என்று போன்ற குறியீடு பார்க்க விரும்பினால், 618 00:37:23,850 --> 00:37:27,230 list2.h, நாம் சரியாக செய்ய வேண்டும் என்று தெரியும். 619 00:37:27,230 --> 00:37:30,610 நாம் இந்த குறியீடு மூலம் போக மாட்டேன், ஆனால் இந்த முதல் உதாரணமாக ஒரு மாறுபாடு இருக்கிறது 620 00:37:30,610 --> 00:37:34,640 என்று நாம் என்று மாணவர் முன்னர் பார்த்த ஒருவர் struct, அறிமுகப்படுத்துகிறது 621 00:37:34,640 --> 00:37:40,330 பின்னர் அது உண்மையில் இணைக்கப்பட்ட பட்டியலில் சேமித்து ஒரு மாணவர் அமைப்பு ஒரு சுட்டிக்காட்டி உள்ளது 622 00:37:40,330 --> 00:37:44,520 மாறாக ஒரு சாதாரண சிறிய முழு, n. 623 00:37:44,520 --> 00:37:46,900 , குறியீடு உண்மையான சரங்களை அடங்கும் என்று அங்கு மிக உணர 624 00:37:46,900 --> 00:37:49,940 ஆனால் கையில் கோல் உண்மையில் இப்போது திறன் பிரச்சினையை என்றால், 625 00:37:49,940 --> 00:37:53,380 நாம் ஆலிஸ் என்ற ஒரு பொருள் கொடுத்து நீங்கள் நன்றாக இருக்கும் என்று, 626 00:37:53,380 --> 00:37:56,020 நாம், ஒரு தரவு கட்டமைப்பில் சரியான இடம் சென்று கொடுக்க வேண்டும் 627 00:37:56,020 --> 00:37:58,860 அது ஆலிஸ் வைத்து மிகவும் நன்றாக இருக்கும் போல் தெரிகிறது, 628 00:37:58,860 --> 00:38:01,180 அதன் பெயர் முதல் இடத்தில், ஒரு தொடங்குகிறது. 629 00:38:01,180 --> 00:38:05,270 அதன் பெயர் இரண்டாவது இடத்தில், பி தொடங்குகிறது பாப்,. 630 00:38:05,270 --> 00:38:09,580 ஒரு வரிசைக்கு கொண்டு, அல்லது, அதை ஒரு அட்டவணை, என்று ஒரு ஹாஷ் அட்டவணை அழைப்பு ஆரம்பிப்போம் 631 00:38:09,580 --> 00:38:13,650 நாம் சரியாக செய்ய முடியும். நாம் ஆலிஸ் போன்ற ஒரு பெயர் கொடுத்து இருந்தால், 632 00:38:13,650 --> 00:38:16,700 ஆலிஸ் போன்ற ஒரு சரம், நீங்கள் ஒரு-L-i-c-e-அங்கு வைத்து? 633 00:38:16,700 --> 00:38:20,540 நாம் ஒரு hueristic வேண்டும். நாம் ஆலிஸ் போன்ற சில உள்ளீடு எடுத்து ஒரு செயல்பாடு தேவை 634 00:38:20,540 --> 00:38:24,610 மற்றும் ஒரு பதில் திரும்பி, "இந்த இடத்தில் ஆலிஸ் போடவும்." 635 00:38:24,610 --> 00:38:28,720 இந்த விழாவில், இந்த கறுப்பு பெட்டி, ஒரு ஹாஷ் சார்பு என்று போகிறது. 636 00:38:28,720 --> 00:38:32,330 >> ஒரு ஹாஷ் சார்பு, "அலைஸ்" போன்ற, ஒரு உள்ளீடு எடுக்கும் என்று ஒன்று உள்ளது 637 00:38:32,330 --> 00:38:38,080 நீங்கள் திரும்பி, பொதுவாக, சில தரவு கட்டமைப்பில் எண் இடம் ஆலிஸ் எங்கிருந்து. 638 00:38:38,080 --> 00:38:40,830 இந்த வழக்கில், எங்கள் ஹாஷ் சார்பு ஒப்பீட்டளவில் எளிமையான இருக்க வேண்டும். 639 00:38:40,830 --> 00:38:47,510 எங்கள் ஹாஷ் சார்பு நீங்கள் எந்த கேரக்டர் நான் கவலைப்பட வேண்டும் "ஆலிஸ்", வழங்கப்படும் என்றால், என்ன சொல்ல வேண்டும்? 640 00:38:47,510 --> 00:38:55,660 முதல் ஒரு. அதனால் நான் [0] பார்க்க, மற்றும் நான் [0] கதாபாத்திரம் ஒரு இருந்தால், எண் 0 திருப்பி சொல்ல. 641 00:38:55,660 --> 00:39:01,130 இது பி இருந்தால், 1 திருப்பி. இது சி என்றால், அதனால் அடிக்கடி 2 திரும்பி, மற்றும். 642 00:39:01,130 --> 00:39:05,940 அனைத்து 0 குறியீட்டெண், மற்றும் அதனால் இனிமேல் என்னை ஆலிஸ் பின்னர் பாப் மற்றும் சார்லி நுழைக்க அனுமதிக்க முடியும் 643 00:39:05,940 --> 00:39:10,960 இந்த தரவு அமைப்பிற்கு. ஆனால் ஒரு பிரச்சனை. 644 00:39:10,960 --> 00:39:13,060 என்ன அனிதா மீண்டும் சேர்த்து வருகிறது? என்றால் 645 00:39:13,060 --> 00:39:17,510 நாம் அனிதா எங்கே வைக்க? அவரது பெயர் கூட, ஒரு கடிதம் தொடங்குகிறது 646 00:39:17,510 --> 00:39:20,330 இந்த பிரச்சனையை நாம் ஒரு பெரிய குழப்பம் செய்த போல இது இருக்கிறது. 647 00:39:20,330 --> 00:39:24,380 நாம் இப்போது ஒரு தரவு கட்டமைப்பு பற்றிய உடனடி புகுத்தியது, மாறா நேரம் புகுத்தியது, வேண்டும் 648 00:39:24,380 --> 00:39:27,100 மாறாக மோசமாக-வழக்கை விட ஒருபடி, 649 00:39:27,100 --> 00:39:29,510 ஆனால் நாம் இந்த வழக்கில் அனிதா என்ன செய்ய முடியும்? 650 00:39:29,510 --> 00:39:34,110 இரண்டு விருப்பங்கள் உண்மையில், என்ன? அப்படியா? 651 00:39:34,110 --> 00:39:37,410 [மாணவர் பதில், புரிந்து] சரி, நாம் மற்றொரு பரிமாணத்தை முடியும். 652 00:39:37,410 --> 00:39:42,320 நல்லது. எனவே நாம் திங்களன்று வாய்மொழியாக பற்றி பேசினார் போன்ற 3D உள்ள விஷயங்கள் வெளியே அமைக்க முடியும். 653 00:39:42,320 --> 00:39:46,700 நாம் இங்கே இன்னொரு அணுகலை சேர்க்க, ஆனால், நான் இந்த எளிய வைக்க முயற்சி செய்கிறேன் என்று நினைக்கிறேன் முடியும். 654 00:39:46,700 --> 00:39:50,160 இங்கே முழு நோக்கம், உடனடியாக மாறா நேரம் அணுக வேண்டும் 655 00:39:50,160 --> 00:39:52,170 அதனால் மிகவும் சிக்கலான சேர்க்கும். 656 00:39:52,170 --> 00:39:55,970 இந்த தரவு அமைப்பிற்கு அனிதா நுழைக்க முயற்சி போது மற்ற விருப்பங்கள் என்ன? அப்படியா? 657 00:39:55,970 --> 00:39:58,610 [மாணவர் பதில், புரிந்து] நல்லது. எனவே, கீழே எல்லோரும் நகர்த்த முடியும் 658 00:39:58,610 --> 00:40:03,040 அவர் உண்மையிலேயே விரும்புகிறார் அங்கு பின்னர் சார்லி பாப் மற்றும் ஆலிஸ், கீழே nudges போன்ற நாம் அனிதா வைத்து. 659 00:40:03,040 --> 00:40:05,660 >> நிச்சயமாக, இப்போது, இந்த ஒரு பக்க விளைவு இல்லை. 660 00:40:05,660 --> 00:40:09,000 இந்த தரவு கட்டமைப்பை நாம் மக்கள் மீண்டும் நுழைக்க விரும்பவில்லை என்பதால் பயனுள்ளதாக இருக்கும் 661 00:40:09,000 --> 00:40:11,250 ஆனால் அவர்கள் பின்னர் அங்கு என்றால் சரிபார்க்க வேண்டும், ஏனென்றால் 662 00:40:11,250 --> 00:40:13,600 நாங்கள் தரவு கட்டமைப்பில் பெயர்கள் ஆல் அவுட் அச்சிட வேண்டும் என்றால். 663 00:40:13,600 --> 00:40:15,850 நாம் இறுதியில் இந்த தரவு ஏதாவது செய்ய போகிறோம். 664 00:40:15,850 --> 00:40:20,810 எனவே இப்போது நாம் அவள் இருக்க வேண்டும் எங்கே இனி யார் ஆலிஸ், மேல் ஸ்க்ரீவ்டு என்ன இருக்கிறது. 665 00:40:20,810 --> 00:40:23,880 அல்லது பாப் உள்ளது, அல்லது சார்லி உள்ளது. 666 00:40:23,880 --> 00:40:26,060 அதனால் இது ஒரு நல்ல யோசனை அல்ல. 667 00:40:26,060 --> 00:40:28,830 ஆனால் உண்மையில், இந்த ஒரு வழி. நாங்கள் அனைவரும் கீழே மாற்ற முடியும் 668 00:40:28,830 --> 00:40:32,240 அல்லது கர்மம், அனிதா விளையாட்டு தாமதமாக வந்து, நாம் ஏன் அனிதா போடாதே 669 00:40:32,240 --> 00:40:35,870 இல்லை இங்கே, இங்கே இல்லை, இல்லை இங்கே, அது வெறும் பட்டியலில் சிறிது குறைவாக அவளை வைத்து விடுங்கள். 670 00:40:35,870 --> 00:40:38,680 ஆனால் பின்னர் இந்த பிரச்சினை மீண்டும் பொறுப்பேற்று தொடங்கும். 671 00:40:38,680 --> 00:40:41,630 நீங்கள் அவரது முதல் பெயர் அடிப்படையில், உடனடியாக ஆலிஸ் கண்டுபிடிக்க முடியும். 672 00:40:41,630 --> 00:40:44,320 உடனடியாக பாப், மற்றும் சார்லி. ஆனால் நீங்கள், அனிதா பார்க்க 673 00:40:44,320 --> 00:40:46,360 நீங்கள் அடிக்கடி பார்க்க, ஆலிஸ் வழி உள்ளது. 674 00:40:46,360 --> 00:40:48,770 சரி, எனக்கு ஆலிஸ் கீழே பார்க்கிறேன். பாப் அனிதா அல்ல. 675 00:40:48,770 --> 00:40:51,850 சார்லி அனிதா அல்ல. ஓ, அனிதா உள்ளது. 676 00:40:51,850 --> 00:40:54,720 நீங்கள் தர்க்கம் என்று ரயில் வழி தொடர்ந்து இருந்தால், 677 00:40:54,720 --> 00:41:00,690 இந்த புதிய தரவு கட்டமைப்பை கொண்டு கண்டறியும் அல்லது அனிதா சேர்க்க மோசமான இயங்கும் நேரம் என்ன? 678 00:41:00,690 --> 00:41:03,280 அது சரி, ஓ (n) என்று? 679 00:41:03,280 --> 00:41:06,280 மோசமான நிலையில் இருப்பதால், ஆலிஸ், பாப், சார்லி உள்ளது. . . 680 00:41:06,280 --> 00:41:10,150 அனைத்து "ஒய்" என்ற பெயரில் யாராவது வழி கீழே, ஒரே ஒரு இடத்தில் உள்ளது விட்டு. 681 00:41:10,150 --> 00:41:13,950 அதிர்ஷ்டவசமாக, நாம் "Z" என்று யாரும் இல்லை, அதனால் நாம் மிகவும் கீழே அனிதா வைத்து. 682 00:41:13,950 --> 00:41:16,040 >> நாம் உண்மையில் அந்த பிரச்சனை இல்லை. 683 00:41:16,040 --> 00:41:19,890 அதனால் நாம் இந்த மூன்றாவது பரிமாணம் அறிமுகப்படுத்த வேண்டும். 684 00:41:19,890 --> 00:41:22,230 இந்த மூன்றாவது பரிமாணம் அறிமுகப்படுத்த என்றால் அது, மாறிவிடும் 685 00:41:22,230 --> 00:41:25,240 நாங்கள் செய்தபின் இந்த செய்ய முடியாது, ஆனால் பரிசுத்த கிரெயில் பெற போகிறது 686 00:41:25,240 --> 00:41:28,370 நிலையான நேர செருகும் மற்றும் மாறும் புகுத்தல் என்று 687 00:41:28,370 --> 00:41:30,960 நாம் அளவு 26 கடின குறியீடு ஒரு வரிசைக்கு இல்லை. 688 00:41:30,960 --> 00:41:34,400 நாம் வேண்டும் என நாம் பல பெயர்கள் சேர்க்க முடியாது, ஆனால் நாம் இங்கு நம் 5 நிமிட இடைவெளி 689 00:41:34,400 --> 00:41:38,790 பின்னர் ஒழுங்காக செய்ய. 690 00:41:38,790 --> 00:41:46,020 எல்லாம் சரி. நான் அழகாக செயற்கையாக இருக்கிறது கதை அமைக்க 691 00:41:46,020 --> 00:41:48,670 ஆலிஸ் பின்னர் பாப் மற்றும் சார்லி பின்னர் அனிதா, தேர்ந்தெடுப்பதன் மூலம் 692 00:41:48,670 --> 00:41:51,000 அதன் பெயர்தானே ஆலிஸ் இணைவதாக இருந்தது. 693 00:41:51,000 --> 00:41:54,120 ஆனால் நாம் திங்களன்று முடிவுக்கு கேள்வி இது எப்படி கருதப்படுகிறது 694 00:41:54,120 --> 00:41:56,370 இந்த வகையான மோதல்கள் கிடைக்கும் என்று? வேறுவிதமாக கூறினால், 695 00:41:56,370 --> 00:42:00,490 இந்த அட்டவணை கட்டமைப்பு பயன்படுத்த ஆரம்பித்தால், அது உண்மையில் ஒரு வரிசை உள்ளது 696 00:42:00,490 --> 00:42:02,460 26 இடங்களில் இந்த வழக்கில், 697 00:42:02,460 --> 00:42:05,740 எங்கள் உள்ளீடுகள் பதிலாக பரவியுள்ள என்றால் என்ன? 698 00:42:05,740 --> 00:42:09,620 அது செயற்கையாக ஆலிஸ் மற்றும் பாப் மற்றும் சார்லி மற்றும் டேவிட் மற்றும் மிகவும் முன்னும் பின்னுமாக அகர வரிசைப்படி, 699 00:42:09,620 --> 00:42:12,380 அது சீராக இசட் மூலம் ஒரு விநியோகித்தனர் 700 00:42:12,380 --> 00:42:15,220 >> ஒருவேளை நாம் தான் அதிர்ஷ்டம் கிடைக்கும், நாம் இரண்டு ஒரு அல்லது இரண்டு B இன் வேண்டும் போவதில்லை 701 00:42:15,220 --> 00:42:17,640 ஒருவர் சுட்டிக்காட்டினார், மிக அதிக நிகழ்தகவு, ஆனால் 702 00:42:17,640 --> 00:42:20,730 நாங்கள் பொதுவான இந்த பிரச்சனை இல்லை என்றால் 0 25 703 00:42:20,730 --> 00:42:26,060 ஆனால், என்ன, 0 364 அல்லது 65, ஒரு பொதுவான ஆண்டு நாட்கள் பெரும்பாலும் எண், 704 00:42:26,060 --> 00:42:31,170 மற்றும் கேள்வி கேட்டேன், "இந்த அறையில் இரண்டு அதே பிறந்த நாள் என்று நிகழ்தகவு என்ன?" 705 00:42:31,170 --> 00:42:34,600 அது மற்றொரு வகையில், நிகழ்தகவு எங்களுக்கு இரண்டு ஒரு துவங்கும் ஒரு பெயர் உண்டு என்று என்ன? 706 00:42:34,600 --> 00:42:37,190 கேள்வி வகையான, அதே தான், ஆனால் இந்த முகவரி இடம் 707 00:42:37,190 --> 00:42:39,940 இந்த தேடல் இடம், பிறந்த நாள் நிகழ்வில் பெரியது 708 00:42:39,940 --> 00:42:42,820 நாம் எழுத்தில் உள்ள எழுத்துக்களை விட ஆண்டில் பல நாட்கள் ஏனெனில். 709 00:42:42,820 --> 00:42:44,910 ஒரு மோதல் நிகழ்தகவு என்ன? 710 00:42:44,910 --> 00:42:48,410 சரி, நாம் கணித எதிர் வழி கண்டுபிடித்து இந்த நினைக்க முடியாது. 711 00:42:48,410 --> 00:42:50,580 இல்லை மோதல்களின் நிகழ்தகவு என்ன? 712 00:42:50,580 --> 00:42:53,970 சரி, இங்கு இந்த கருத்து என்ன நிகழ்தகவு என்று கூறுகிறார் 713 00:42:53,970 --> 00:42:58,770 அவர்கள் ஒரு தனிப்பட்ட பிறந்த நாள் என்று இந்த அறையில் ஒரு நபர், அங்கு என்றால்? 714 00:42:58,770 --> 00:43:01,190 இது 100% தான். ஏனெனில் அறையில் ஒரே ஒரு நபர் இருந்தால், 715 00:43:01,190 --> 00:43:03,940 அவரது பிறந்த ஆண்டு அவுட் 365 நாட்கள் எந்த இருக்க முடியும். 716 00:43:03,940 --> 00:43:08,650 எனவே 365/365 விருப்பங்கள் என்னை 1 ஒரு மதிப்பு கொடுக்கிறது. 717 00:43:08,650 --> 00:43:11,250 எனவே நேரத்தில் கேள்வி நிகழ்தகவு வெறும் 1. 718 00:43:11,250 --> 00:43:13,270 ஆனால் அறையில் இரண்டாவது நபர் இருந்தால், 719 00:43:13,270 --> 00:43:16,490 அவர்களின் பிறந்த நாள் வேறு என்று நிகழ்தகவு என்ன? 720 00:43:16,490 --> 00:43:20,680 மட்டுமே 364 சாத்தியம் நாட்கள், அசட்டை நெட்டாண்டுகளில், அங்கு 721 00:43:20,680 --> 00:43:23,580 அவர்களின் பிறந்த மற்ற நபர்கள் இணைவதாக இல்லை. 722 00:43:23,580 --> 00:43:31,920 எனவே 364/365. ஒரு மூன்றாவது நபர் வந்தால், அது முன்னும் பின்னும் 363/365, மற்றும். 723 00:43:31,920 --> 00:43:35,790 எனவே, சிறிய மற்றும் சிறிய பெறுகின்றனர் இது, இந்த பின்னத்தின் ஒன்றாக பெருக்கி கொள்ள 724 00:43:35,790 --> 00:43:40,720 கண்டுபிடிக்க நம் அனைவருக்கும் தனிப்பட்ட பிறந்த நாள் என்று நிகழ்தகவு என்ன? 725 00:43:40,720 --> 00:43:43,570 ஆனால் நாம், நிச்சயமாக, அந்த பதில் எடுத்து அதை சுற்றி புரட்ட முடியும் 726 00:43:43,570 --> 00:43:47,210 மற்றும் அந்த 1 கழித்து அனைத்து, நாம் இறுதியில் கிடைக்கும் வெளிப்பாடு செய்ய 727 00:43:47,210 --> 00:43:51,250 உங்கள் கணித நூல்கள் மீண்டும் நினைவில் இருந்தால், அது, இது போன்ற ஒரு சிறிய ஒன்று தெரிகிறது 728 00:43:51,250 --> 00:43:54,590 இது மிகவும் எளிதாக வரைபட விளக்கம். 729 00:43:54,590 --> 00:43:57,820 இங்கு இந்த கிராஃபிக், x அச்சில் பிறந்தநாள் எண்ணிக்கை உள்ளது 730 00:43:57,820 --> 00:44:02,030 அல்லது பிறந்த மக்கள், மற்றும் y அச்சில் எண்ணிக்கை ஒரு போட்டியில் நிகழ்தகவு ஆகும். 731 00:44:02,030 --> 00:44:06,060 என்ன இப்படி சொல்கிறான், நீங்கள் இருந்தால், கூட, தான் சொல்கிறேன் என்று 732 00:44:06,060 --> 00:44:10,860 22, 23 போன்ற ஏதாவது செய்யலாம். 733 00:44:10,860 --> 00:44:13,160 அறையில் 22 அல்லது 23 பேர், இருந்தால் 734 00:44:13,160 --> 00:44:17,100 அந்த சில பேர் இரண்டு அதே பிறந்த நாள் நடக்க போகிறது என்று நிகழ்தகவு 735 00:44:17,100 --> 00:44:19,560 combinatorially, உண்மையில் சூப்பர் அதிகமாக உள்ளது. 736 00:44:19,560 --> 00:44:23,450 50% முரண்பாடுகள் என்று நடைமுறையில் மட்டும் 22 பேர், ஒரு கருத்தரங்கு, ஒரு வர்க்கம், 737 00:44:23,450 --> 00:44:25,790 அந்த மக்கள் 2 அதே பிறந்த நாள் நடக்க போகிறது. 738 00:44:25,790 --> 00:44:28,520 ஏனெனில் நீங்கள் அதே பிறந்த முடியும் இதில் பல வழிகள் இருக்கிறது. 739 00:44:28,520 --> 00:44:31,110 இன்னும் மோசமாக, நீங்கள் தரவரிசையில் வலது பக்கத்தில் இருக்கும் என்றால், 740 00:44:31,110 --> 00:44:34,040 அந்த நேரத்தில் நீங்கள், அது 58 மாணவர்கள் ஒரு வர்க்கம் இல்லை 741 00:44:34,040 --> 00:44:39,270 ஒரு பிறந்த நாள் கொண்ட 2 பேர் நிகழ்தகவு சூப்பர், சூப்பர் உயர், கிட்டத்தட்ட 100% ஆகும். 742 00:44:39,270 --> 00:44:41,880 இப்போது, அந்த உண்மையான வாழ்க்கை பற்றி ஒரு வேடிக்கையான உண்மை வகையான தான். 743 00:44:41,880 --> 00:44:45,850 >> ஆனால் தாக்கங்கள், இப்போது, தரவு கட்டமைப்புகள் மற்றும் சேமிப்பதற்கென தகவல் 744 00:44:45,850 --> 00:44:51,100 நீங்கள் தரவு ஒரு நல்ல, சுத்தமான, சீருடை விநியோகம் இல்லை அனுமானித்து என்று அர்த்தம் 745 00:44:51,100 --> 00:44:53,650 நீங்கள் எல்லாம் ஒரு கூட்டத்தை பொருந்தும் ஒரு பெரிய போதுமான வரிசை உள்ளது 746 00:44:53,650 --> 00:44:59,360 நீங்கள் தனிப்பட்ட இடங்களில் மக்கள் போகிறோம் என்று அர்த்தமல்ல. 747 00:44:59,360 --> 00:45:03,810 நீங்கள் மோதல்கள் இருக்கலாம். , இது என என, ஹெஷிங் இந்த கருத்து மிகவும் 748 00:45:03,810 --> 00:45:07,450 "ஆலிஸ்" ஒரு உள்ளீடு எடுத்து சில வழியில் அதை அமுக்கு 749 00:45:07,450 --> 00:45:10,190 பின்னர் 0 அல்லது 1 அல்லது 2 ஒரு பதில் திரும்ப பெறுவது. 750 00:45:10,190 --> 00:45:17,500 அந்த விழாவில் இருந்து சில வெளியீடு திரும்பி பெற மோதல் இந்த நிகழ்தகவு பாதிக்கப்படுகிறது. 751 00:45:17,500 --> 00:45:19,530 நாம் எப்படி அந்த மோதல்கள் கையாள முடியும்? 752 00:45:19,530 --> 00:45:21,940 சரி, ஒரு வழக்கில், நாம் கருத்து என்று யோசனை ஆகும். 753 00:45:21,940 --> 00:45:25,100 நாம் மட்டும், இன்னும் கொஞ்சம் எளிமையாக, ஒருவேளை எல்லோரும் மாற்ற, அல்லது 754 00:45:25,100 --> 00:45:29,870 மாறாக வேறு நடவடிக்கை அனைவருக்கும் விட, இது தான் கிடைக்கும் இடத்தில் கீழே அனிதா நகர்த்த வேண்டும். 755 00:45:29,870 --> 00:45:32,810 ஆலிஸ் 0 இருக்கிறார் என்றால், பாப் 1 உள்ளது, சார்லி, 2 ஆகும் 756 00:45:32,810 --> 00:45:35,260 நாம் மட்டும் இடம் 3 மணிக்கு அனிதா வைக்கிறேன். 757 00:45:35,260 --> 00:45:38,860 இந்த ஆய்வு லீனியர் என்று தரவு கட்டமைப்புகள் ஒரு நுட்பமாகும். 758 00:45:38,860 --> 00:45:41,310 நீங்கள் இந்த வரியை நடைபயிற்சி, மற்றும் நீங்கள் ஆய்வு வகையான நீங்கள் நேரியல் ஏனெனில் 759 00:45:41,310 --> 00:45:43,640 தரவு கட்டமைப்பு இன்னும் புள்ளிகள் கிடைக்கும். 760 00:45:43,640 --> 00:45:46,210 நிச்சயமாக, இந்த ஓ (n) என்ற devolves. 761 00:45:46,210 --> 00:45:49,590 தரவு கட்டமைப்பு உண்மையில் முழு இருந்தால், அதை 25 பேர், ஏற்கனவே அங்கு 762 00:45:49,590 --> 00:45:54,120 பின்னர் அனிதா சேர்த்து வந்தால், அவர் இடம் Z என்ன மணிக்கு முடிவடைகிறது, மற்றும் அது நல்லது. 763 00:45:54,120 --> 00:45:56,540 அவள் இன்னும் பொருந்தும், நாம் பிறகு பார்க்கலாம். 764 00:45:56,540 --> 00:46:00,100 >> ஆனால் இந்த விஷயங்களை வேகமாக நோக்கம் மாறாக இருந்தது. 765 00:46:00,100 --> 00:46:02,530 நாம் பதிலாக இந்த மூன்றாவது பரிமாணம் அறிமுகப்படுத்தப்பட்டது அதனால் என்ன? 766 00:46:02,530 --> 00:46:06,400 அந்த நுட்பத்தை பொதுவாக தனி சங்கிலியாக்கல் என்று, அல்லது சங்கிலிகள் உள்ளன. 767 00:46:06,400 --> 00:46:10,030 மற்றும் ஒரு ஹாஷ் அட்டவணை இப்போது, இந்த அட்டவணை அமைப்பு என்ன ஆகும், 768 00:46:10,030 --> 00:46:13,450 உங்கள் அட்டவணை மட்டும் சுட்டிகள் ஒரு வரிசை ஆகும். 769 00:46:13,450 --> 00:46:18,230 ஆனால் என்ன அந்த சுட்டிகள் சுட்டி கணிப்பு என்ன? 770 00:46:18,230 --> 00:46:21,970 ஒரு இணைக்கப்பட்ட பட்டியலில். இந்த இரு உலகின் சிறந்த எடுத்து அதனால் என்ன? 771 00:46:21,970 --> 00:46:26,500 நாங்கள் ஆரம்ப குறியீடுகள் ஐந்து வரிசைகள் பயன்படுத்த 772 00:46:26,500 --> 00:46:32,070 தரவு கட்டமைப்பாக நாம் உடனடியாக, [1], [30] அல்லது நான்காவது [0] செல்லலாம் 773 00:46:32,070 --> 00:46:36,480 ஆனால் நாம் சில நெகிழ்வு நாம் அனிதா மற்றும் ஆலிஸ் மற்றும் ஆடம் பொருந்த முடியும் 774 00:46:36,480 --> 00:46:38,630 மற்றும் வேறு ஒரு பெயர், 775 00:46:38,630 --> 00:46:43,470 நாம் அதற்கு பதிலாக மற்ற அச்சு தன்னிச்சையாக வளரட்டும். 776 00:46:43,470 --> 00:46:47,340 நாம் இறுதியாக, திங்கள் வரை, தொடர்புடைய பட்டியல் என்று வெளிப்படுத்தும் திறனை கொண்டுள்ளன. 777 00:46:47,340 --> 00:46:49,530 நாம் தன்னிச்சையாக ஒரு தரவு கட்டமைப்பு வளர முடியும். 778 00:46:49,530 --> 00:46:52,450 மாறாக, நாம் தான், ஒரு பெரிய 2 பரிமாண அணிகளில் முடியும் 779 00:46:52,450 --> 00:46:57,190 ஆனால் அது ஒரு மோசமான நிலைமை இருக்க போகிறது 2 பரிமாண அணிகளில் வரிசைகளில் ஒரு 780 00:46:57,190 --> 00:47:01,280 அதன் பெயர் ஏ ஆரம்பிக்க நடக்கும் கூடுதல் நபருக்கு போதுமானதாக இல்லை 781 00:47:01,280 --> 00:47:04,200 கடவுள் நாம் ஒரு பெரிய 2 பரிமாண கட்டமைப்பை மறு வேண்டும் 782 00:47:04,200 --> 00:47:06,600 ஒரு பெயரில் பல மக்கள், அங்கு தான் 783 00:47:06,600 --> 00:47:09,480 Z ஒன்று என்ற மிக சில பேர் அங்கு குறிப்பாக போது. 784 00:47:09,480 --> 00:47:12,170 அது ஒரு மிக அடர்த்தியற்ற தரவு கட்டமைப்பு இருக்க போகிறது. 785 00:47:12,170 --> 00:47:15,400 அதனால் அது எந்த வகையில் சரியானது அல்ல, ஆனால் இப்போது நாம் குறைந்தது திறனை கொண்டுள்ளன 786 00:47:15,400 --> 00:47:19,090 ஆலிஸ் அல்லது அனிதா எங்கிருந்து உடனடியாக கண்டுபிடிக்க, 787 00:47:19,090 --> 00:47:21,090 குறைந்தது செங்குத்து அச்சு அடிப்படையில், 788 00:47:21,090 --> 00:47:25,850 மற்றும் நாம் இந்த இணைக்கப்பட்ட பட்டியலில் அனிதா அல்லது ஆலிஸ் வைத்து அங்கு முடிவெடுக்க வேண்டும். 789 00:47:25,850 --> 00:47:32,480 நாம் விஷயங்களை வரிசையாக்க பற்றி கவலை இல்லை என்றால், எவ்வளவு விரைவாக நாம் இந்த மாதிரி ஒரு அமைப்பு என்ற ஆலிஸ் நுழைக்க முடியும்? 790 00:47:32,480 --> 00:47:35,370 அதை தொடர்ந்து நேரம். [0] என நாம் குறியீட்டு, மற்றும் எந்த ஒரு இருக்கிறது என்றால், 791 00:47:35,370 --> 00:47:37,550 ஆலிஸ் என்று இணைக்கப்பட்ட பட்டியலில் ஆரம்பத்தில் செல்கிறது. 792 00:47:37,550 --> 00:47:40,000 ஆனால் ஒரு பெரிய விசயமில்லை. அனிதா பின்னர் உடன் வந்தால், ஏனெனில் 793 00:47:40,000 --> 00:47:42,160 படிகள் சில எண்ணை பின்னர், அனிதா அங்கு சொந்தம்? 794 00:47:42,160 --> 00:47:45,140 நன்றாக, [0]. Oop. ஆலிஸ் என்று இணைக்கப்பட்ட பட்டியலில் ஏற்கனவே உள்ளது. 795 00:47:45,140 --> 00:47:47,760 >> ஆனால் நாம் இந்த பெயர்கள் வரிசையாக்க பற்றி கவலை இல்லை என்றால், 796 00:47:47,760 --> 00:47:53,580 நாம் தான் ஆலிஸ் மீது, நுழைவு அனிதா நகர்த்த முடியும், ஆனால் கூட நிலையான நேரம். 797 00:47:53,580 --> 00:47:57,010 ஆலிஸ் மற்றும் ஆடம் மற்றும் அனைத்து இந்த மற்ற ஒரு பெயர்கள், அங்கு கூட 798 00:47:57,010 --> 00:47:59,410 அது உண்மையில் உடல் அவர்களை மாற்றுவதால் இல்லை. ஏன்? 799 00:47:59,410 --> 00:48:04,090 நாம் தான் தெரியும் யார் இணைக்கப்பட்ட பட்டியலில், இங்கு ஏனெனில் இந்த முனைகளில் எப்படியும்? 800 00:48:04,090 --> 00:48:06,550 நீங்கள் செய்ய வேண்டியது எல்லாம் ரொட்டி crumbs நகர்த்த வேண்டும். 801 00:48:06,550 --> 00:48:10,930 சுமார் அம்புகள் நகர்த்த; நீங்கள் உடல் முழுவதும் எந்த தரவு நகர்த்த இல்லை. 802 00:48:10,930 --> 00:48:14,610 எனவே நாம் உடனடியாக, அந்த வழக்கில், அனிதா சேர்த்துவிடும். மாறா நேரம். 803 00:48:14,610 --> 00:48:20,250 அதனால் நாங்கள் தொடர்ந்து நேர தேடல், மற்றும் அனிதா போன்ற யாரோ மாறா நேரம் செருகும் வேண்டும். 804 00:48:20,250 --> 00:48:22,740 ஆனால் உலக oversimplifying வகையான. 805 00:48:22,740 --> 00:48:28,510 நாம் பின்னர் ஆலிஸ் கண்டுபிடிக்க வேண்டும் என்றால்? 806 00:48:28,510 --> 00:48:31,050 நாம் பின்னர் ஆலிஸ் கண்டுபிடிக்க வேண்டும் என்றால்? 807 00:48:31,050 --> 00:48:35,690 எப்படி பல நடவடிக்கைகளை எடுத்து வருகிறது? 808 00:48:35,690 --> 00:48:37,850 [மாணவர் பதில், புரிந்து] 809 00:48:37,850 --> 00:48:40,950 சரியாக. இணைக்கப்பட்ட பட்டியலில் ஆலிஸ் முன் மக்கள் எண்ணிக்கை. 810 00:48:40,950 --> 00:48:45,420 எங்கள் தரவு கட்டமைப்பு, மீண்டும், இந்த செங்குத்து அணுகல் ஏனெனில் அது, மிக சரியான இல்லை 811 00:48:45,420 --> 00:48:50,240 பின்னர் அது தொங்கி இந்த இணைக்கப்பட்ட பட்டியலில் உள்ளது - உண்மையில், அது ஒரு வரிசை வரைய நாம். 812 00:48:50,240 --> 00:48:56,020 இந்த இணைக்கப்பட்ட பட்டியலில் இந்த ஒரு சிறிய ஏதோ இருக்கிறது என்று அதிலிருந்து தொங்கும். 813 00:48:56,020 --> 00:48:59,110 ஆனால் பிரச்சனை என்றால் ஆலிஸ் மற்றும் ஆடம் மற்றும் அனைத்து இந்த மற்ற ஒரு பெயர்கள் 814 00:48:59,110 --> 00:49:01,720 அங்கு இன்னும் முடிவுக்கு, 815 00:49:01,720 --> 00:49:04,810 யாரோ வழிமுறைகளை ஒரு கூட்டத்தை எடுத்து முடிவடையும் என்று கண்டுபிடித்து, 816 00:49:04,810 --> 00:49:06,670 , நீங்கள் இணைக்கப்பட்ட பட்டியலில் தொடரவேண்டும் bcause 817 00:49:06,670 --> 00:49:08,090 இது ஒரு நேரியல் செயல் ஆகும். 818 00:49:08,090 --> 00:49:14,270 எனவே உண்மையில், பின்னர், செருகும் நேரம் இறுதியில் n பட்டியலில் கூறுகள் எண்ணிக்கை ஓ (n), ஆகும். 819 00:49:14,270 --> 00:49:21,780 வகுக்கப்பட்ட, அது தன்னிச்சையாக அதை மீ தொடர்புடைய பட்டியல்கள் எண்ணிக்கை மீ, அழைப்பு விடு 820 00:49:21,780 --> 00:49:24,500 நாம் இந்த செங்குத்து அச்சு வேண்டும் என்று. 821 00:49:24,500 --> 00:49:27,180 வேறுவிதமாக கூறினால், நாம் உண்மையான பெயர்கள் ஒரு சீரான பரவலை என்றால், 822 00:49:27,180 --> 00:49:30,150 முற்றிலும் நம்பத்தகாத. மற்றவர்களை விட சில கடிதங்கள் வெளிப்படையாக இன்னும் இருக்கிறது. 823 00:49:30,150 --> 00:49:32,580 >> ஆனால் நாம் இப்போது ஒரு சீரான விநியோகம் கருதி இருந்தால், 824 00:49:32,580 --> 00:49:37,350 நாம் மொத்த மக்கள், மற்றும் சி மொத்த சங்கிலிகள் n 825 00:49:37,350 --> 00:49:40,630 இந்த சங்கிலியின் ஒவ்வொரு நமக்கு கிடைக்கும், பிறகு நீளம் 826 00:49:40,630 --> 00:49:44,380 மிகவும் எளிமையாக மொத்த, n சங்கிலிகள் எண்ணிக்கை வகுக்க போகிறது. 827 00:49:44,380 --> 00:49:48,900 எனவே n / மீ. நாம் அனைத்து கணித வீழ்வது இருக்க முடியும் ஆனால் இங்கே தான். 828 00:49:48,900 --> 00:49:53,030 இந்த ஒரு நிலையான எண் ஏனெனில் மீ, ஒரு நிலையான. 829 00:49:53,030 --> 00:49:54,620 நீங்கள், ஆரம்பத்தில் உங்கள் வரிசை அறிவிக்க போகிறீர்கள் 830 00:49:54,620 --> 00:49:58,450 நாம் பெரிதாக்க செங்குத்து அச்சு அல்ல. வரையறை, சரி என்று. 831 00:49:58,450 --> 00:50:01,220 அது மாறும் என்று, பேச, ஒரே கிடைமட்ட அச்சு தான். 832 00:50:01,220 --> 00:50:04,760 எனவே தொழில்நுட்ப, இந்த ஒரு நிலையாக இருக்கும். அதனால் இப்போது, செருகும் நேரம் 833 00:50:04,760 --> 00:50:09,700 அழகான மிகவும் ஓ (n) ஆகும். 834 00:50:09,700 --> 00:50:12,410 அதனால் அனைத்து அவ்வளவு நன்றாக இல்லை. 835 00:50:12,410 --> 00:50:14,940 ஆனால் உண்மையை இங்கே என்ன? சரி, இந்த நேரத்தில், வாரங்கள், 836 00:50:14,940 --> 00:50:20,640 நாம் சொல்லி ஓ (n ²). ஓ (n), 2 x n ², - n, 2 வகுக்கப்பட்ட. . . Ech. 837 00:50:20,640 --> 00:50:23,580 இது n ² தான். ஆனால் இப்போது, செமஸ்டர் இந்த பகுதியில், 838 00:50:23,580 --> 00:50:25,560 நாங்கள் மீண்டும் உண்மையான உலக பற்றி பேசவும் முடியாது. 839 00:50:25,560 --> 00:50:31,520 மற்றும் n / மீ மட்டும் தனியாக n விட முற்றிலும் வேகமாக உள்ளது. 840 00:50:31,520 --> 00:50:35,170 நீங்கள் ஒரு ஆயிரம் பெயர்கள், மற்றும் பல வாளிகள் அவற்றை உடைக்க வேண்டும் 841 00:50:35,170 --> 00:50:37,820 நீங்கள், இந்த சங்கிலியின் ஒவ்வொரு பத்து பெயர்கள் என்று 842 00:50:37,820 --> 00:50:41,670 முற்றிலும் பத்து விஷயங்களை தேடி ஆயிரம் விஷயங்களை விட வேகமாக இருக்கும். 843 00:50:41,670 --> 00:50:43,740 எனவே எதிர்வரும் பிரச்சனை தொகுப்பில் ஒன்றை நீங்கள் சவால் போகிறது 844 00:50:43,740 --> 00:50:46,100 சரியாக என்று நினைக்க கூட, yeah, 845 00:50:46,100 --> 00:50:49,520 தொலைத்தொடுகோட்டு மற்றும் கணித, இது தான் நேரான உள்ளது, 846 00:50:49,520 --> 00:50:51,700 பொருட்களை கண்டுபிடிக்க முயற்சிக்கும் போது, அது பொது உறிஞ்சப்பட்டு. 847 00:50:51,700 --> 00:50:54,530 உண்மையில், அது வேகமாக இருக்கிறது நடக்கிறது 848 00:50:54,530 --> 00:50:56,520 ஏனெனில் இந்த வகுக்குமெண் வேண்டும். 849 00:50:56,520 --> 00:50:58,310 எனவே மீண்டும் இந்த வர்த்தக பரிமாற்றம் இருப்பதாக நடக்கிறது 850 00:50:58,310 --> 00:51:01,390 மற்றும் கோட்பாடு மற்றும் உண்மையில் இடையில் இந்த மோதல், 851 00:51:01,390 --> 00:51:03,550 மற்றும் கைப்பிடிகளை ஒரு செமஸ்டர் இந்த கட்டத்தில் திருப்பு ஆரம்பிக்கும் 852 00:51:03,550 --> 00:51:07,510 நாம் அப்படி semster இறுதியில் தயார் என உண்மையில் ஒரு மேலும், 853 00:51:07,510 --> 00:51:09,280 நாம் வலை நிரலாக்க உலக அறிமுகப்படுத்த, என 854 00:51:09,280 --> 00:51:11,530 உங்கள் பயனர் போகிறீர்கள் ஏனெனில் அங்கு உண்மையில், செயல்திறன் எண்ணிக்கை போகிறது 855 00:51:11,530 --> 00:51:14,880 ஏழை வடிவமைப்பு முடிவுகள் நினைக்கிறேன் பாராட்ட தொடங்கும். 856 00:51:14,880 --> 00:51:19,950 >> நீங்கள் ஒரு இணைக்கப்பட்ட செயல்படுத்த பற்றி எப்படி போக - ஒரு ஹாஷ் அட்டவணை 31 தனிமங்களுடன்? 857 00:51:19,950 --> 00:51:22,600 முந்தைய எடுத்துக்காட்டாக பிறந்தநாட்களை பற்றி தன்னிச்சையாக இருந்தது. 858 00:51:22,600 --> 00:51:26,190 யாரோ ஜனவரி 1 அல்லது பிப்ரவரி 1 ஒரு நாள் இருந்தால், நாம் இந்த வாளி அவர்களுக்கு வைக்கிறேன். 859 00:51:26,190 --> 00:51:28,960 இது ஜனவரி 2, பிப்ரவரி 2, மார்ச் 2 இருந்தால், நாம் இந்த வாளி அவர்களுக்கு வைக்கிறேன். 860 00:51:28,960 --> 00:51:32,220 இது 31 அதனால் தான். எப்படி ஒரு ஹாஷ் அட்டவணை அறிவிக்க? 861 00:51:32,220 --> 00:51:37,480 அது மிகவும் எளிமையான முடியும், கணு * அட்டவணை அது என் தன்னிச்சையான பெயர், [31] ஆகும். 862 00:51:37,480 --> 00:51:42,400 இந்த, முனைகளில் என்னை 31 சுட்டிகள் கொடுக்கிறது 863 00:51:42,400 --> 00:51:45,370 என்னை இணைக்கப்பட்ட பட்டியலில் 31 சுட்டிகள் வேண்டும் அனுமதிக்கிறது 864 00:51:45,370 --> 00:51:48,800 அந்த சங்கிலியை ஆரம்பத்தில் NULL கூட. 865 00:51:48,800 --> 00:51:54,860 நான் சேமிக்க வேண்டும் என்றால் நான் "பாப்", "சார்லி" "ஆலிஸ்," வைத்து என்ன வேண்டும்? 866 00:51:54,860 --> 00:51:57,010 சரி, நாம் ஒரு கட்டமைப்பை அந்த விஷயங்களை மடிக்க வேண்டும் 867 00:51:57,010 --> 00:52:00,530 நாம் ஆலிஸ், பாப் சுட்டிக்காட்ட சார்லி சுட்டிக்காட்ட, மற்றும் முன்னும் பின்னுமாக. தேவை 868 00:52:00,530 --> 00:52:04,940 நாம் மட்டும் தனியாக பெயர்கள் முடியாது, அதனால் நான் இங்கே கணு என்ற புதிய அமைப்பை உருவாக்க முடியும். 869 00:52:04,940 --> 00:52:08,310 >> ஒரு உண்மையான முனை என்ன? இந்த புதிய இணைக்கப்பட்ட பட்டியலில் ஒரு முனை என்ன? 870 00:52:08,310 --> 00:52:11,840 வார்த்தை என்று முதல் விஷயம், நபரின் பெயர் உள்ளது. 871 00:52:11,840 --> 00:52:14,340 LENGTH, மறைமுகமாக, மனித பெயர் அதிகபட்ச நீளம் தொடர்புடையதாக 872 00:52:14,340 --> 00:52:18,210 என்று என்ன, 20, வேடிக்கையான மூலையில் நேரங்களில் 30, 40 எழுத்துகள், 873 00:52:18,210 --> 00:52:22,680 மற்றும் +1 என்ன ஆகும்? அது கூடுதல் NULL தன்மை, \ 0 தான். 874 00:52:22,680 --> 00:52:27,410 இந்த முனை, உள்ளே கூட "ஒன்று" போர்த்தப்படுகின்றது 875 00:52:27,410 --> 00:52:29,640 ஆனால் அது அடுத்த ஒரு சுட்டிக்காட்டி அறிவிக்கிறது 876 00:52:29,640 --> 00:52:32,580 நாம் சார்லி என்ற பாப் சங்கிலி ஆலிஸ் முடியும் மற்றும் முன்னும் பின்னுமாக என்று. 877 00:52:32,580 --> 00:52:36,700 NULL முடியும் ஆனால் அவசியம் இருக்க வேண்டும் இல்லை. 878 00:52:36,700 --> 00:52:40,110 இந்த புல அட்டவணைகள் எந்த கேள்விகள்? அப்படியா? 879 00:52:40,110 --> 00:52:46,190 [மாணவர் புரிந்து, கேள்வி கேட்டு] ஒரு வரிசை - நல்ல கேள்வி. 880 00:52:46,190 --> 00:52:50,120 ஏன் ஒரு வரிசைக்கு பதிலாக வெறும் எரிப்பதை * இந்த எரிப்பதை சொல்? 881 00:52:50,120 --> 00:52:53,830 இந்த ஓரளவு தன்னிச்சையாக எடுத்துக்காட்டாக, நான் நாட வேண்டும் விரும்பவில்லை 882 00:52:53,830 --> 00:52:56,190 அசல் பெயர்கள் ஒவ்வொரு malloc வேண்டும். 883 00:52:56,190 --> 00:52:59,530 நான் சரம் நினைவகம் அதிகபட்ச அளவு அறிவிக்க வேண்டும் 884 00:52:59,530 --> 00:53:06,020 நான் ஆலிஸ் \ 0 மற்றும் malloc மற்றும் இலவச போன்ற சமாளிக்க வேண்டும் கட்டமைப்பாக நகலெடுக்க முடியவில்லை. 885 00:53:06,020 --> 00:53:11,710 நான் வெளி பயன்பாடு இன்னும் நனவாக வேண்டும் என்றால் ஆனால் நான் அதை செய்ய முடியும். கேள்வி நல்ல. 886 00:53:11,710 --> 00:53:14,780 இந்த விலகி பொதுமைப்படுத்த முயற்சி செய்வோம் 887 00:53:14,780 --> 00:53:18,350 மேலும் பொதுவாக தரவு கட்டமைப்புகள் இன்று எஞ்சிய கவனம் 888 00:53:18,350 --> 00:53:21,170 நாம் ஒரே அடிப்படைகளை பயன்படுத்தி தீர்க்க முடியும் என்று மற்ற பிரச்சினைகள் 889 00:53:21,170 --> 00:53:24,590 கூட தரவு கட்டமைப்புகள் இருந்தாலும் தங்கள் விவரங்கள் வேறுபடுகின்றன கூடும். 890 00:53:24,590 --> 00:53:27,910 >> அது கணினி அறிவியல் அவுட் சுழல்கிறது, மரங்கள் மிகவும் பொதுவான. 891 00:53:27,910 --> 00:53:29,760 நீங்கள், ஒரு குடும்பம் மரம் போன்ற ஒரு மரம் மாதிரி யோசிக்க முடியும் 892 00:53:29,760 --> 00:53:31,830 சில வேர்கள், சில பெண் தலைவி அல்லது பிரதிபா, அங்கு தான் 893 00:53:31,830 --> 00:53:34,540 பாட்டி, அல்லது தாத்தா அல்லது முந்தைய திரும்பி, 894 00:53:34,540 --> 00:53:38,880 இதில் கீழே அம்மா, அப்பா அல்லது பல்வேறு உடன்பிறந்தவர்கள் அல்லது போல இருக்கும். 895 00:53:38,880 --> 00:53:42,500 எனவே, ஒரு மரம் கட்டமைப்பு முனைகள் மற்றும் குழந்தைகள் உள்ளன 896 00:53:42,500 --> 00:53:45,260 ஒவ்வொரு முனையின் வழக்கமாக 0 அல்லது அதற்கு மேற்பட்ட குழந்தைகள். 897 00:53:45,260 --> 00:53:47,320 மற்றும் வாசகங்கள் சில நீங்கள் இங்கே இந்த படத்தில் பார்க்கிறீர்கள் என்று 898 00:53:47,320 --> 00:53:50,630 இது முனைகளை சிறிய குழந்தைகள் அல்லது grandkids எந்த 899 00:53:50,630 --> 00:53:52,330 யார், அவர்களிடம் இருந்து வெளிப்படும் இல்லை அம்புகள் வேண்டும் 900 00:53:52,330 --> 00:53:55,070 அந்த என்று அழைக்கப்படும் இலைகள், மற்றும் உள்ளே யாரும் இல்லை 901 00:53:55,070 --> 00:53:58,790 ஒரு உள் முனை ஆகும்; அந்த வழிகளில் எதையும் அழைக்க முடியும். 902 00:53:58,790 --> 00:54:01,430 ஆனால் இந்த அமைப்பு மிகவும் பொதுவானது. இந்த ஒரு சிறிய தன்னிச்சையான தான். 903 00:54:01,430 --> 00:54:04,930 நாம், நாம் சரியான மூன்று குழந்தைகள், இடது ஒரு குழந்தை வேண்டும் 904 00:54:04,930 --> 00:54:06,830 கீழே இரண்டு குழந்தைகள் உள்ளன. 905 00:54:06,830 --> 00:54:10,740 எனவே, நாம் விஷயங்களை தரநிலையாக்கத்தை ஆரம்பித்தால் வெவ்வேறு அளவிலான மரங்கள், ஆனால் முடியும் 906 00:54:10,740 --> 00:54:15,330 நீங்கள் ஒரு முந்தைய குறுகிய இருந்து இரும தேடல் அன்று பேட்ரிக் வீடியோ இந்த நினைவு இருக்கும் 907 00:54:15,330 --> 00:54:19,490 ஆன்லைன், பைனரி தேடல் வரிசை மூலம் நடைமுறைப்படுத்தப்பட வேண்டும் இல்லை 908 00:54:19,490 --> 00:54:21,410 ஒரு blackboard காகிதம் அல்லது துண்டுகள். 909 00:54:21,410 --> 00:54:25,490 நீங்கள் ஒரு சிக்கலான தரவு கட்டமைப்பு உங்கள் எண்கள் சேமிக்க வேண்டும் என்று நினைக்கிறேன். 910 00:54:25,490 --> 00:54:27,680 இந்த மாதிரி ஒரு மரம் உருவாக்க முடியும். 911 00:54:27,680 --> 00:54:35,290 நீங்கள் சி அறிவித்தார் ஒரு முனை முடியும், மற்றும் கணு உள்ளே குறைந்தது இரண்டு கூறுகள் உள்ளன. 912 00:54:35,290 --> 00:54:39,470 நீங்கள் சேமிக்க விரும்பும் எண், மற்றும் வேறு - நன்றாக, நாம் இன்னும் வேண்டும். 913 00:54:39,470 --> 00:54:41,540 மற்ற அதன் குழந்தைகள் ஆகும். 914 00:54:41,540 --> 00:54:45,150 இங்கு மற்றொரு தரவு அமைப்பு தான். இந்த நேரத்தில், ஒரு முனை n ஒரு எண் சேமித்து வரையறுக்கப்படுகிறது 915 00:54:45,150 --> 00:54:49,060 பின்னர் இரண்டு குறிப்புகள்; இடது குழந்தை மற்றும் வலது குழந்தை. 916 00:54:49,060 --> 00:54:52,100 அவர்கள் தன்னிச்சையாக அல்ல. என்ன இந்த மரம் பற்றிய சுவாரஸ்யமான விஷயம்? 917 00:54:52,100 --> 00:55:00,550 >> நாம் பேட்ரிக் அவரது வீடியோ இது தான் தீட்டப்பட்டது எப்படி இந்த அமைக்கப்பட்டன அல்லது நீங்கள் எவ்வாறு முறை என்ன? 918 00:55:00,550 --> 00:55:02,790 அதை, இங்கே நடக்கிறது சில வரிசையாக்க இல்லை என்று வகையான கண்டிப்பாக 919 00:55:02,790 --> 00:55:04,460 ஆனால் விதியை என்ன? அப்படியா? 920 00:55:04,460 --> 00:55:08,350 [மாணவர் பதில், புரிந்து] 921 00:55:08,350 --> 00:55:12,040 ஆனால். இந்த ஏறெடுத்தும் பார்க்க, நீங்கள், இடது சிறிய எண்கள் பார்க்க 922 00:55:12,040 --> 00:55:14,690 பெரிய இடது எண்கள், ஆனால் ஒவ்வொரு முனையின் உண்மை. 923 00:55:14,690 --> 00:55:20,370 ஒவ்வொரு முனையின், அதை விட அதன் இடது குழந்தை குறைவாக, அதை விட அதன் சரியான குழந்தை அதிக. 924 00:55:20,370 --> 00:55:25,210 நான் பல 44, என்று, இந்த தரவு கட்டமைப்பு தேட விரும்பினால் என்ன, இந்த இப்போது அர்த்தம் உள்ளது 925 00:55:25,210 --> 00:55:29,320 நான், ஏனெனில் இப்போது இந்த சிக்கலான தரவு கட்டமைப்புகள் அனைத்தையும் போல, வேர் துவங்க வேண்டும் 926 00:55:29,320 --> 00:55:31,910 நாம் மட்டும் தொடக்கத்தில், ஒன்று ஒரு சுட்டிக்காட்டி இருக்கிறது. 927 00:55:31,910 --> 00:55:35,010 இந்த வழக்கில், தொடக்கத்தில் ரூட் உள்ளது. இது, இடது இறுதியில் இல்லை 928 00:55:35,010 --> 00:55:39,530 இந்த அமைப்பு வேர் தான். எனவே நான் இங்கு 55 தான் பார்க்க, நான் 44 தேடிக்கொண்டிருக்கிறேன். 929 00:55:39,530 --> 00:55:41,430 எந்த திசையில் நான் போக வேண்டும்? 930 00:55:41,430 --> 00:55:45,680 வெளிப்படையாக, வலது மிக பெரிய போகிறேன் ஏனெனில், நான், இடது போக வேண்டும். 931 00:55:45,680 --> 00:55:49,050 இங்கு கவனிக்க, நீங்கள் கருத்து பகுதியில் மரம் நறுக்குவதில் வகையான இருக்கும் 932 00:55:49,050 --> 00:55:51,700 நீங்கள் வலது பக்கத்தில் கீழே போவதில்லை என்பதால். 933 00:55:51,700 --> 00:55:55,410 எனவே இப்போது நான் 55 முதல் 33 செல்ல. இது பல மிக சிறிய விஷயம். 934 00:55:55,410 --> 00:56:01,590 நான் 44 தேடிக்கொண்டிருக்கிறேன், ஆனால் இப்போது நான் 44 இந்த மரம் இருந்தால், நான் வலது வெளிப்படையாக போகலாம் என்று. 935 00:56:01,590 --> 00:56:04,460 எனவே மீண்டும், நான் சீரமைப்பு பகுதியில் மரம் இருக்கிறது. 936 00:56:04,460 --> 00:56:06,780 இது தொலைபேசி புத்தகத்தில் கருத்து மிகவும் அதிகமாக ஒரே விஷயம். 937 00:56:06,780 --> 00:56:09,510 அதை, நாம் blackboard பேப்பர்கள் என்ன செய்தாள் ஒத்ததாக உள்ளது 938 00:56:09,510 --> 00:56:13,940 ஆனால் அது உண்மையில் செய்ய அனுமதிக்கிறது என்று ஒரு சிக்கலான அமைப்பு தான் 939 00:56:13,940 --> 00:56:16,880 இந்த, பிரித்து வழிமுறை வடிவமைப்பு மூலம் வெற்றி 940 00:56:16,880 --> 00:56:19,420 உண்மையில், இந்த மாதிரி ஒரு அமைப்பு பயணித்து - அச்சச்சோ. 941 00:56:19,420 --> 00:56:22,870 இந்த மாதிரி ஒரு அமைப்பு பயணித்து, அது எங்கே ", இந்த வழியில் செல்ல அல்லது அந்த வழியில் சென்று" 942 00:56:22,870 --> 00:56:26,870 பிரிவில் அதை செயல்படுத்தும் போது முதலில் உங்கள் மனதில் வளைந்து அனைத்து அந்த குறியீடு என்பது 943 00:56:26,870 --> 00:56:31,270 அல்லது, மறுநிகழ்வு அல்லது மறு செய்கை பயன்படுத்தி, பைனரி தேடுவதற்கு, வீட்டில் அது வழியாக நடைபயிற்சி 944 00:56:31,270 --> 00:56:35,060 அதை கழுத்தில் ஒரு வலி தான். நடுத்தர உறுப்பு கண்டறிய, உங்கள் ரவுண்டிங் அல்லது கீழே செய்வது. 945 00:56:35,060 --> 00:56:39,230 >> நாம் இப்போது மீண்டும் மறுநிகழ்வு பயன்படுத்த முடியும் என்பதால், ஒரு அழகு, இந்த இருக்கிறது 946 00:56:39,230 --> 00:56:43,760 ஆனால் மிகவும் சுத்தமாக. உண்மையில், நீங்கள் எண் 55 மணிக்கு மேலும் உங்களுக்கு 44 கண்டறிய வேண்டும் என்றால், 947 00:56:43,760 --> 00:56:48,450 இந்த வழக்கில் விட்டு போக, பின் என்ன செய்வது? நீங்கள் சரியான அதே வழிமுறையை ரன். 948 00:56:48,450 --> 00:56:51,560 நீங்கள் முனை மதிப்பு சரிபார்த்து, பிறகு இடது அல்லது வலது போக. 949 00:56:51,560 --> 00:56:53,670 நீங்கள் இடது அல்லது வலது போக, கணு மதிப்பு சரிபார்க்கவும். 950 00:56:53,670 --> 00:56:56,710 இந்த செய்தபின் மறுநிகழ்வு பொருத்தமானதாகும். 951 00:56:56,710 --> 00:57:00,920 அதனால் கூட கடந்த காலத்தில் நாம் மறுநிகழ்வு சம்பந்தப்பட்ட சில மிகவும் தன்னிச்சையான உதாரணங்கள் செய்துவிட்டேன் 952 00:57:00,920 --> 00:57:03,430 என்று, தரவு stuctures கொண்டு, சூத்திர வேண்டும் 953 00:57:03,430 --> 00:57:07,820 குறிப்பாக மரங்கள், அது, ஒரு பிரச்சினையை எடுத்து இந்த யோசனை ஒரு முழுமையான விண்ணப்ப படிவம் 954 00:57:07,820 --> 00:57:12,920 அது குறைந்து, பின்னர் அதே வகை, ஆனால் சிறிய, நிரல் தீர்க்கும். 955 00:57:12,920 --> 00:57:14,590 >> நாம் அறிமுகப்படுத்த முடியும் என்று மற்றொரு தரவு கட்டமைப்பு உள்ளது. 956 00:57:14,590 --> 00:57:18,760 இந்த ஒரு ரகசிய பார்க்க முதல் பார்வையில் வடிவமைக்கப்பட்டுள்ளது, ஆனால் இந்த ஒரு ஆச்சரியமான விஷயம் தான். 957 00:57:18,760 --> 00:57:25,090 எனவே இந்த வார்த்தை மீட்பு இருந்து பெறப்பட்ட ஒரு trie, trie, என்று ஒரு தரவு கட்டமைப்பு 958 00:57:25,090 --> 00:57:30,210 இது மீண்டும் முயற்சித்து-Val உச்சரிக்கப்படுகிறது, ஆனால் அந்த உலக இந்த விஷயங்களை அழைப்பது இல்லை. முயற்சிக்கிறது. டி r-i-e. 959 00:57:30,210 --> 00:57:35,190 இது சில வகையான மர கட்டமைப்பாக இருக்கிறது, ஆனால் ஒரு trie முனைகளுக்கிடையே ஒவ்வொரு 960 00:57:35,190 --> 00:57:41,280 என்ன தோன்றுகிறது? அதை சுருக்கமாக வகையான ஏனெனில் இந்த ஒரு பிட் தவறான. 961 00:57:41,280 --> 00:57:45,960 ஆனால் இந்த trie ஒவ்வொரு கணு உண்மையில் ஒரு வரிசை என்பது தெரிகிறது. 962 00:57:45,960 --> 00:57:48,840 மற்றும் கூட இந்த வரைபடம் ஆசிரியர், இது காட்டுகிறது 963 00:57:48,840 --> 00:57:54,130 இந்த வழக்கில், இந்த trie அதன் நோக்கம் வாழ்க்கையில் வார்த்தைகள் சேமிக்க ஒரு தரவு கட்டமைப்பு 964 00:57:54,130 --> 00:57:57,330 ஒரு-L-i-c-e அல்லது B-o-ப போல. 965 00:57:57,330 --> 00:58:02,480 மற்றும் வழியில் இதில் மிகவும் முன்னும் பின்னும் இந்த தரவு கடைகள் ஆலிஸ் மற்றும் பாப் மற்றும் சார்லி மற்றும் அனிதா மற்றும் 966 00:58:02,480 --> 00:58:06,970 அது, ஒரு trie அலைஸ் இன் சேமிக்க அதன்படி ஒரு வரிசை பயன்படுத்துகிறது 967 00:58:06,970 --> 00:58:09,820 நாம், ஒரு வரிசை போல் வேர் கணு துவங்க 968 00:58:09,820 --> 00:58:12,080 அது சுருக்கெழுத்து குறிமுறை எழுதப்பட்ட. 969 00:58:12,080 --> 00:58:15,070 என்று எந்த பெயர்கள் இருந்தன ஏனெனில் ஆசிரியர் abcdefg தவிர்க்கப்பட்டன. 970 00:58:15,070 --> 00:58:19,150 அவர்கள் தான் எம் மற்றும் பி மற்றும் டி காட்டியது, ஆனால் இந்த வழக்கில், 971 00:58:19,150 --> 00:58:22,780 அது இங்கே சில பெயர்களை விட்டு ஆலிஸ் மற்றும் பாப் மற்றும் சார்லி இருந்து நகர்த்த வேண்டும். 972 00:58:22,780 --> 00:58:25,670 மேக்ஸ்வெல் இந்த படத்தில் உண்மையில். 973 00:58:25,670 --> 00:58:29,570 எனவே எப்படி ஆசிரியர் அங்காடி செய்தது, M-a-x-W-e-l-l? 974 00:58:29,570 --> 00:58:36,990 அவர் வேர் கணு தொடங்கினார், மற்றும் சென்றார் [M], எனவே சுமார் 13, வரிசையில் 13 வது இடம். 975 00:58:36,990 --> 00:58:40,750 பின்னர் அங்கு இருந்து, ஒரு சுட்டிக்காட்டி இருக்கிறது. 976 00:58:40,750 --> 00:58:42,760 மற்றொரு வரிசைக்கு முக்கிய ஒரு சுட்டிக்காட்டி. 977 00:58:42,760 --> 00:58:47,880 அங்கு இருந்து ஆசிரியர், மேல் இடது அங்கு சித்தரிக்கப்பட்ட, இடம் ஒரு நேரத்தில் அந்த அணி மீது குறியிடப்படுவதாயினும் 978 00:58:47,880 --> 00:58:52,250 பின்னர் அவர், மற்றொரு வரிசை என்று சுட்டிக்காட்டி தொடர்ந்து 979 00:58:52,250 --> 00:58:55,460 மற்றும் இடம் எக்ஸ் நேரத்தில் சுட்டிக்காட்டி சென்றார் 980 00:58:55,460 --> 00:58:59,840 பின்னர் அதனால் இனிமேல் அடுத்த வரிசையில் இடம் W, மின், எல், எல், மற்றும், 981 00:58:59,840 --> 00:59:03,090 இறுதியாக, அது உண்மையில் இந்த படத்தை வைக்க முயற்சி செய்வோம். 982 00:59:03,090 --> 00:59:05,380 குறியீடு போன்ற ஒரு முனை ஆனால் என்ன செய்வது? 983 00:59:05,380 --> 00:59:11,820 ஒரு trie ஒரு முனை மேலும் முனைகளில் சுட்டிகளையும் ஒரு வரிசை உள்ளது. 984 00:59:11,820 --> 00:59:16,090 ஆனால் குறைந்த பட்சம் இந்த நடைமுறைப்படுத்துவதில், பூலியன் மதிப்பை சில வகையான இருக்கும் இருக்கிறது. 985 00:59:16,090 --> 00:59:18,770 நான் அதை is_word அழைக்க நடக்கும். ஏன்? 986 00:59:18,770 --> 00:59:22,670 நீங்கள் மேக்ஸ்வெல் சேர்த்த போது, நீங்கள் சேர்த்த ஏனெனில் 987 00:59:22,670 --> 00:59:25,300 இந்த தரவு அமைப்பிற்கு எதையும். 988 00:59:25,300 --> 00:59:27,480 நீங்கள் எக்ஸ் எழுத போவதில்லை எம் எழுதி 989 00:59:27,480 --> 00:59:30,240 நீங்கள் செய்கிறீர்கள் அனைத்து சுட்டிகளையும் தொடர்ந்து இருக்கிறது. 990 00:59:30,240 --> 00:59:33,360 பின்னர், M, ஒரு பிரதிபலிக்கிறது என்று சுட்டிக்காட்டி, பிரதிபலிக்கிறது என்று சுட்டிக்காட்டி 991 00:59:33,360 --> 00:59:36,310 பின்னர் எக்ஸ், W, மின், எல், எல், பிரதிபலிக்கிறது என்று சுட்டிக்காட்டி 992 00:59:36,310 --> 00:59:41,950 ஆனால் என்ன இறுதியில் செய்ய வேண்டும் என்பதை, செல்ல வகை, நான் இந்த இடத்தை அடைந்தது. 993 00:59:41,950 --> 00:59:45,560 தரவு கட்டமைப்பு இங்கு முடிவடைகிறது என்று ஒரு வார்த்தை இருந்தது. 994 00:59:45,560 --> 00:59:48,190 >> அதனால் என்ன ஒரு trie உண்மையில் நிரப்பப்பட்ட மற்றும் ஆசிரியர் பிரதிநிதித்துவம் தேர்வு 995 00:59:48,190 --> 00:59:51,880 சிறிய முக்கோணங்கள் இந்த terminuses. 996 00:59:51,880 --> 00:59:56,470 உண்மை இந்த தான் உண்மையில் இந்த முக்கோண இங்கே என்று பொருள், இந்த பூலியன் மதிப்பை 997 00:59:56,470 --> 00:59:59,200 நீங்கள் மரத்தில் பின்னோக்கி சென்றால், பொருள் 998 00:59:59,200 --> 01:00:02,420 என்று மேக்ஸ்வெல் இந்த உள்ளது என்ற வார்த்தைக்கு என்ன அர்த்தம். 999 01:00:02,420 --> 01:00:04,870 உதாரணமாக ஆனால் வார்த்தை foo,, 1000 01:00:04,870 --> 01:00:07,970 , மரம் இல்லை நான் மேலே இங்கு வேர் கணு மணிக்கு ஆரம்பித்தால், ஏனெனில், 1001 01:00:07,970 --> 01:00:14,030 இல்லை f சுட்டிக்காட்டி, இல்லை ஓ சுட்டிக்காட்டி, இல்லை ஓ சுட்டிக்காட்டி இருக்கிறது. Foo இந்த அகராதியில் ஒரு பெயர் அல்ல. 1002 01:00:14,030 --> 01:00:22,460 ஆனால் இதற்கு மாறாக, டர்னிங், T-U-R-i-n-கிராம். மீண்டும், நான் t அல்லது நல்ல அல்லது r அல்லது நான் அல்லது n அல்லது கிராம் சேமிக்க முடியவில்லை. 1003 01:00:22,460 --> 01:00:29,820 ஆனால் நான் இங்கு இந்த முனை உண்மையான வழியில் ஒரு மதிப்பு இந்த தரவு கட்டமைப்பில் கடை இல்லை - மரத்தில் 1004 01:00:29,820 --> 01:00:33,030 உண்மை is_word இந்த பூலியன் மதிப்பை அமைக்க. 1005 01:00:33,030 --> 01:00:35,740 எனவே ஒரு trie, இந்த சுவாரசியமான மெட்டா அமைப்பு வகை 1006 01:00:35,740 --> 01:00:39,810 நீங்கள் உண்மையில் அகராதியில் இந்த வகையான வார்த்தைகளை தங்களை சேமித்து எங்கே. 1007 01:00:39,810 --> 01:00:45,100 தெளிவாக இருக்க வேண்டும், நீங்கள் ஆம் அல்லது இல்லை சேமிக்க நீங்கள், இங்கே முடியும் என்று ஒரு வார்த்தை உள்ளது. 1008 01:00:45,100 --> 01:00:46,430 >> இப்போது உட்குறிப்பு என்ன? 1009 01:00:46,430 --> 01:00:51,120 நீங்கள் நினைவகத்தில் சேமிக்க முயற்சிக்கும் ஒரு அகராதியில் 150,000 வார்த்தைகள் இருந்தால் 1010 01:00:51,120 --> 01:00:53,400 ஒரு இணைக்கப்பட்ட பட்டியலில் போல பயன்படுத்தி, 1011 01:00:53,400 --> 01:00:56,870 உங்கள் இணைக்கப்பட்ட பட்டியலில் 150,000 முனைகளில் நடக்க போகிறது. 1012 01:00:56,870 --> 01:01:00,250 மற்றும் அகர வரிசைப்படி அந்த வார்த்தைகள் ஒரு கண்டறியும் ஓ (n) நேரம் ஆகலாம். 1013 01:01:00,250 --> 01:01:04,370 நேரியல் நேரம். ஆனால் ஒரு trie இங்கு வழக்கில், 1014 01:01:04,370 --> 01:01:09,210 ஒரு வார்த்தை கண்டறியும் இயங்கும் நேரம் என்ன? 1015 01:01:09,210 --> 01:01:17,390 அதை இங்கே அழகு மாறிவிடும் என்று நீங்கள் ஏற்கனவே இந்த அகராதியில் 149.999 வார்த்தைகள், இல்லை என்றால் 1016 01:01:17,390 --> 01:01:20,170 இந்த தரவு கட்டமைப்பு செயல்படுத்தப்படும், 1017 01:01:20,170 --> 01:01:25,560 அந்த வகையில், ஆலிஸ் போன்ற, ஆலிஸ் ஒரு நபரை கண்டுபிடிக்க அல்லது செருக அது எவ்வளவு நேரம் ஆகும்? 1018 01:01:25,560 --> 01:01:30,640 சரி, அதை பின் கதாபாத்திரத்தை ஒருவேளை 6 வழிமுறைகளை, 5 தான். 1019 01:01:30,640 --> 01:01:32,880 ஏனெனில் அமைப்பு மற்ற பெயர்கள் presense 1020 01:01:32,880 --> 01:01:35,340 ஆலிஸ் சேர்க்கைக்கு வழியில் இல்லை. 1021 01:01:35,340 --> 01:01:39,640 மேலும், ஆலிஸ் கண்டுபிடிப்பதில் இந்த அகராதியில் 150,000 வார்த்தைகள் உள்ளன முறை 1022 01:01:39,640 --> 01:01:41,960 , அனைத்து ஆலிஸ் கண்டறியும் உங்கள் வழியில் இல்லை 1023 01:01:41,960 --> 01:01:46,880 ஆலிஸ் என்பதால். . . . . இங்கே, ஏனெனில் நான் ஒரு பூலியன் மதிப்பை காணலாம். 1024 01:01:46,880 --> 01:01:50,920 எந்த பூலியன் உண்மை, பின் ஆலிஸ் இருந்தால் வார்த்தைகள் இந்த தரவு கட்டமைப்பு இல்லை. 1025 01:01:50,920 --> 01:01:56,220 வேறுவிதமாக கூறினால், இந்த புதிய முறையில் விஷயங்களை விஷயங்களை கண்டுபிடித்து சேர்க்க இயங்கும் நேரம் 1026 01:01:56,220 --> 01:02:01,920 trie தரவு அமைப்பு ஓ என்று - அதை n இல்லை. 1027 01:02:01,920 --> 01:02:05,730 150,000 மக்கள் presense ஆலிஸ் பாதிப்பு இல்லை, ஏனெனில், அது போல. 1028 01:02:05,730 --> 01:02:11,560 அது கே ஆங்கிலத்தில் ஒரு வார்த்தை அதிகபட்ச நீளம் எங்கே, k, அழைப்பு எனவே நாம் 1029 01:02:11,560 --> 01:02:14,050 இது பொதுவாக எந்த 20-ஏதாவது எழுத்துக்களை விட வேண்டும். 1030 01:02:14,050 --> 01:02:17,940 எனவே, k ஒரு நிலையாக இருக்கும். பரிசுத்த கிரெயில் நாம் இப்போது இல்லை போல் தெரிகிறது 1031 01:02:17,940 --> 01:02:26,000 செருகி ஒரு trie, மாறா நேரம் என்று நீக்கியதை பெற, ஐ க்கு உள்ளது. 1032 01:02:26,000 --> 01:02:29,170 ஏனெனில் ஏற்கனவே அமைப்பில் விஷயங்களை எண்ணிக்கை, 1033 01:02:29,170 --> 01:02:32,600 இது கூட உடல் அங்கு இல்லை. மீண்டும், அவர்கள் வெறும் ஆஃப் சோதிக்க வகையான நீங்கள், ஆம் அல்லது இல்லை, 1034 01:02:32,600 --> 01:02:35,050 அதன் எதிர்கால இயங்கும் நேரம் இல்லை தாக்கம் உள்ளது. 1035 01:02:35,050 --> 01:02:37,940 >> ஆனால் ஒரு கேட்ச் இருக்கும் இருக்கிறது, இல்லையென்றால் நாம் எவ்வளவு நேரம் வீணாகியது 1036 01:02:37,940 --> 01:02:41,460 இந்த மற்ற தரவு கட்டமைப்புகள் மட்டும் இறுதியாக ஆச்சரியமாக இருக்கிறது என்று இரகசிய ஒரு பெற. 1037 01:02:41,460 --> 01:02:46,410 அதனால் என்ன விலை நாம் இங்கே இந்த பெருமை அடைய கொடுக்கிறீர்கள்? விண்வெளி. 1038 01:02:46,410 --> 01:02:49,010 இந்த விஷயம் பெரும் ஆகும். மற்றும் காரணம் என்று நூலாசிரியர் 1039 01:02:49,010 --> 01:02:52,400 இங்கே அது இப்போது இல்லை, கவனிக்க வரிசைகள் போன்ற இந்த விஷயங்களை எல்லாம், 1040 01:02:52,400 --> 01:02:55,400 அவர் மரத்தின் ஓய்வு, trie மீதமுள்ள, வரைய இல்லை 1041 01:02:55,400 --> 01:02:58,060 அவர்கள் வெறும் கதை தொடர்புடைய இல்லை என்பதால். 1042 01:02:58,060 --> 01:03:01,870 ஆனால் இந்த முனைகளில் அனைத்து பரந்த சூப்பர், மற்றும் மரம் ஒவ்வொரு கணு எடுத்து 1043 01:03:01,870 --> 01:03:07,780 26 அல்லது உண்மையில், இந்த விஷயத்தில் நான் மேற்கோளைச் இடைவெளி உட்பட ஏனெனில் 27 எழுத்துகள் இருக்க முடியும் 1044 01:03:07,780 --> 01:03:09,980 அதனால் நாம் apostrophized வார்த்தைகள் உண்டு. 1045 01:03:09,980 --> 01:03:14,450 இந்த வழக்கில், இந்த பரந்த வரிசைகள் இருக்கும். அவர்கள் picutured கூட, 1046 01:03:14,450 --> 01:03:18,190 இந்த ரேம் ஒரு பாரிய அளவு எடுத்து. 1047 01:03:18,190 --> 01:03:20,670 இதில், நவீன வன்பொருள் especilly, நன்றாக இருக்கும் 1048 01:03:20,670 --> 01:03:25,650 ஆனால் அந்த பரிமாற்றம் தான். நாம் இன்னும் வெளி செலவு குறைவான நேரம் கிடைக்கும். 1049 01:03:25,650 --> 01:03:28,580 எனவே இந்த அனைத்து போகிறது? 1050 01:03:28,580 --> 01:03:32,640 நன்றாக, செய்வோம் - இங்கே பார்க்கலாம். 1051 01:03:32,640 --> 01:03:39,510 இங்கே இந்த பையன் ஒரு ஜம்ப் செய்வோம். 1052 01:03:39,510 --> 01:03:43,450 >> அதை நம்ப அல்லது, சி இப்போது சில நேரம் உள்ளது என வேடிக்கையாக, 1053 01:03:43,450 --> 01:03:48,130 நாம் நவீன விஷயங்களை மாற்றம் நேரம் அங்கு செமஸ்டர் உள்ள புள்ளி அடையும். 1054 01:03:48,130 --> 01:03:50,950 அதிக அளவில் விஷயங்கள். மேலும் வாரங்கள் அடுத்த இரண்டு என்றாலும் 1055 01:03:50,950 --> 01:03:54,580 நாம் இன்னும் சுட்டிகள் மற்றும் நினைவக மேலாண்மை உலகில் நம்மை மூழ்கடித்து தொடர்ந்து நான் 1056 01:03:54,580 --> 01:03:57,210 நாம் எழுப்ப முடியும் என்று ஆறுதல் பெற, 1057 01:03:57,210 --> 01:04:01,270 இறுதியில் விளையாட்டு இந்த மொழி, முரண்பாடாக, இல்லை அறிமுகப்படுத்த இறுதியில் உள்ளது. 1058 01:04:01,270 --> 01:04:03,330 நாம் HTML பற்றி 10 நிமிடங்கள் போல், செலவிட வேண்டும். 1059 01:04:03,330 --> 01:04:05,950 HTML என்பது ஒரு மொழி ஆகும், என்ன ஒரு மொழி ஆகும் 1060 01:04:05,950 --> 01:04:10,220 'இந்த தைரியமான செய்ய' என்று அந்த திறந்த அடைப்புக்குறிக்குள் மற்றும் மூடிய அடைப்புக்குறிக்குள் இந்த தொடர் 1061 01:04:10,220 --> 01:04:12,000 'இந்த மையமாக வைத்து' இந்த சாய்வு செய்ய '.' 1062 01:04:12,000 --> 01:04:14,250 இது அனைத்து என்பதை அறிவார்ந்த சுவாரசியமாக இல்லை, ஆனால் அது பயனுள்ள சூப்பர் தான். 1063 01:04:14,250 --> 01:04:16,650 அது நிச்சயமாக இந்த நாட்களில் எங்கும் நிறைந்திருக்கிற தான். 1064 01:04:16,650 --> 01:04:19,450 ஆனால் என்ன HTML உலக பற்றி சக்தி வாய்ந்தது, மற்றும் வலை நிரலாக்க பொதுவாக, 1065 01:04:19,450 --> 01:04:25,910 டைனமிக் விஷயங்கள் கட்டி; PHP அல்லது Python அல்லது ரூபி அல்லது ஜாவா அல்லது சி # போன்ற மொழிகளில் குறியீடு எழுதும். 1066 01:04:25,910 --> 01:04:30,360 உண்மையில், அதை தேர்வு உங்கள் மொழி, மற்றும் மாறும் HTML உருவாக்கும். 1067 01:04:30,360 --> 01:04:32,960 மாறும் CSS என்று ஒன்று உருவாக்குவது. 1068 01:04:32,960 --> 01:04:35,810 விழுத்தொடர் பாணி தாள்கள், அழகியல் பற்றி மேலும் இது. 1069 01:04:35,810 --> 01:04:41,360 அதனால் கூட, இன்று, நான், நன்கு Google.com போன்ற சில இணைய சென்றால் 1070 01:04:41,360 --> 01:04:46,100 மற்றும் நான், ஒருவேளை நீங்கள் முன்பு செய்த எந்த டெவலப்பர், பார்வை மூலம், பார்க்க சென்று 1071 01:04:46,100 --> 01:04:49,800 ஆனால் மூல பார்வையிட செல்லும், இந்த பொருட்கள் பெரும்பாலும் அழகாக புரிந்து தெரிகிறது. 1072 01:04:49,800 --> 01:04:55,320 ஆனால் இந்த Google.com செயல்படுத்தும் அடிப்படை குறியீடு உள்ளது. 1073 01:04:55,320 --> 01:04:57,940 முன் இறுதியில். உண்மையில் இந்த பஞ்சுபோன்ற அழகியல் பொருள். 1074 01:04:57,940 --> 01:05:01,740 இந்த இங்கே CSS உள்ளது. நான் கீழே ஸ்க்ரோலிங் வைத்து நாம் சில வண்ண குறியீட்டு பொருள் கிடைக்கும். 1075 01:05:01,740 --> 01:05:06,890 இந்த HTML ஆகும். , கூகிள் குறியீடு ஒரு குழப்பம் போல், ஆனால் நான் உண்மையில் வேறு சாளரத்தை திறக்க வேண்டும் 1076 01:05:06,890 --> 01:05:09,380 இந்த சில கட்டமைப்பு பார்க்க முடியும். 1077 01:05:09,380 --> 01:05:12,640 நான் இந்த திறந்து என்றால், இங்கே கவனிக்க, அது இன்னும் சிறிது படிக்க வேண்டும். 1078 01:05:12,640 --> 01:05:16,850 நாம் முன்னரே பார்க்க போகிறோம், [வார்த்தை] டேக் இல்லை, 1079 01:05:16,850 --> 01:05:23,520 HTML, தலை, உடல், கிராம, திரைக்கதை, உரை பகுதியில், span, மையமாக, DIV. 1080 01:05:23,520 --> 01:05:26,770 இந்த மேலும், முதல் பார்வையில் ரகசிய காணப்படும் வகை 1081 01:05:26,770 --> 01:05:30,890 ஆனால் இந்த குழப்பம் அனைத்து, சில முறைகள், மற்றும் மீண்டும் மீண்டும் முறைகள் பின்வருமாறு 1082 01:05:30,890 --> 01:05:33,850 ஒருமுறை நாங்கள் அடிப்படைகளை இறங்கி, எனவே நீங்கள் இந்த குறியீடு எழுத முடியும் 1083 01:05:33,850 --> 01:05:37,550 பின்னர் இங்கு என்று மற்றொரு மொழி, பயன்படுத்தி இந்த குறியீடு கையாள. 1084 01:05:37,550 --> 01:05:40,440 மற்றும் இங்கு ஒரு உலாவி உள்ளே இயங்கும் ஒரு மொழி 1085 01:05:40,440 --> 01:05:44,380 நாம் கூகிள் வரைபடங்கள் பயன்படுத்தும் போக்கை கடை கருவியாக ஹார்வர்ட் படிப்புகள், பயன்படுத்த இன்று 1086 01:05:44,380 --> 01:05:48,660 நீங்கள் சுறுசுறுப்பு ஒரு மொத்தமாக கொடுக்க, பேஸ்புக், உடனடி நிலை மேம்படுத்தல்கள் காட்ட நீங்கள் கொடுக்கும் 1087 01:05:48,660 --> 01:05:51,430 வேலை உடனடியாக நீங்கள் ட்வீட் காட்ட இது பயன்படுகிறது. 1088 01:05:51,430 --> 01:05:53,820 இந்த அனைத்து நாம் உள்ளே மூழ்கடித்து கொள்வாய் 1089 01:05:53,820 --> 01:05:57,190 ஆனால் அங்கு பெற, நாம் இணைய பற்றி ஒரு சிறிய ஒன்று புரிந்து கொள்ள வேண்டும். 1090 01:05:57,190 --> 01:06:01,130 இங்கே இந்த கிளி தான் நீண்ட ஒரு நிமிடம் தான், இப்போது இந்த உண்மையில், இது கருதி நாம், 1091 01:06:01,130 --> 01:06:08,380 இண்டர்நெட் வந்து பற்றி என்ன ஒரு டீஸர் பணிபுரிகிறார் எப்படி. நான் "நிகர என்ற வாரியர்ஸ்." கொடுக்க 1092 01:06:08,380 --> 01:06:14,720 >> [♫ ஸ்லோ கோரஸ் இசை ♫] 1093 01:06:14,720 --> 01:06:20,450 [ஆண் கதை] அவர் ஒரு செய்தி வந்தது. 1094 01:06:20,450 --> 01:06:23,770 ஒரு நெறிமுறை அவரது சொந்த கொண்டு. 1095 01:06:23,770 --> 01:06:37,270 [♫ விரைவான மின்னணு இசை ♫] 1096 01:06:37,270 --> 01:06:41,330 அவர், திசைவிகள் அக்கறையில்லாமலும், குளிர் ஃபயர்வால்கள் ஒரு உலக வந்தது 1097 01:06:41,330 --> 01:06:45,690 மரண விட மோசமாக ஆபத்துக்களை. 1098 01:06:45,690 --> 01:06:55,400 அவர் வேகமாக தான். அவர் வலுவான தான். அவர் TCP / IP, மற்றும் அவர் உங்கள் முகவரி இருக்கிறது. 1099 01:06:55,400 --> 01:06:59,250 நிகர போர்வீரர்கள். 1100 01:06:59,250 --> 01:07:05,290 [Malan] அடுத்த வாரம், பின்னர். இண்டர்நெட். வலை நிரலாக்க. இந்த CS50 உள்ளது. 1101 01:07:05,290 --> 01:07:08,290 [CS50.TV]