1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:01,900 [இசை] 3 00:00:01,900 --> 00:00:05,710 4 00:00:05,710 --> 00:00:09,150 >> டக் LLOYD: இப்போது நீங்கள் அணிகளை பற்றி நிறைய தெரியும், 5 00:00:09,150 --> 00:00:11,610 நீங்கள் இணைக்கப்பட்ட பட்டியல்கள் பற்றி நிறைய தெரியும். 6 00:00:11,610 --> 00:00:13,650 நாம் விவாதிக்க போயிருக்கிறோம் சாதக, நாம் நான் 7 00:00:13,650 --> 00:00:16,620 பட்டியல்கள் இணைக்கப்பட்ட என்று விவாதிக்கப்படும் பெரிய மற்றும் சிறிய பெற முடியும், 8 00:00:16,620 --> 00:00:18,630 ஆனால் அவர்கள் இன்னும் அளவு எடுத்து. 9 00:00:18,630 --> 00:00:22,359 வரிசைகள் மிகவும் ஒளிவு உள்ளன பயன்படுத்த, ஆனால் அவர்கள், மிகவும் கட்டுப்படுத்தப்பட்ட இருக்கிறோம் 10 00:00:22,359 --> 00:00:24,900 நாம் அளவு அமைக்க வேண்டும் என ஆரம்பத்தில் வரிசை 11 00:00:24,900 --> 00:00:26,910 பின்னர் நாம் அதனை மாட்டிக்கொண்டிருக்கிறோம். 12 00:00:26,910 --> 00:00:30,470 >> ஆனால் நாம் அழகான மிகவும் இருக்கிறது, இருக்கிறது எங்கள் தலைப்புகள் அனைத்து தீர்ந்துவிட்டது 13 00:00:30,470 --> 00:00:33,040 இணைக்கப்பட்ட பட்டியல்கள் மற்றும் அணிகளை பற்றி. 14 00:00:33,040 --> 00:00:34,950 அல்லது நாம் வேண்டும்? 15 00:00:34,950 --> 00:00:37,720 ஒருவேளை நாம் ஏதாவது செய்ய முடியும் இன்னும் படைப்பு. 16 00:00:37,720 --> 00:00:40,950 மேலும் வழங்கியிருக்கிறது அந்த மாதிரி ஒரு ஹாஷ் அட்டவணை யோசனை. 17 00:00:40,950 --> 00:00:46,680 >> எனவே ஒரு ஹாஷ் அட்டவணை நாங்கள் முயற்சி செய்ய போகிறோம் ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு வரிசை இணைக்க. 18 00:00:46,680 --> 00:00:49,520 நாம் நன்மைகள் எடுக்க போகிறோம் வரிசை, ரேண்டம் அக்சஸ் போன்ற, 19 00:00:49,520 --> 00:00:53,510 வெறும் வரிசை செல்ல முடியும் உறுப்பு 4 அல்லது அணி உறுப்பு 8 20 00:00:53,510 --> 00:00:55,560 முழுவதும் மீண்டும் கூறு இல்லாமல். 21 00:00:55,560 --> 00:00:57,260 அந்த உரிமை, அழகான வேகமாக? 22 00:00:57,260 --> 00:01:00,714 >> ஆனால் நாங்கள் எங்கள் தரவு வேண்டும் கட்டமைப்பு வளர மற்றும் சுருக்க முடியும். 23 00:01:00,714 --> 00:01:02,630 நாம் நாம் செய்ய தேவையில்லை தடை செய்ய வேண்டும். 24 00:01:02,630 --> 00:01:04,588 நாம் முடியும் வேண்டும் சேர்க்க மற்றும் பொருட்களை நீக்க 25 00:01:04,588 --> 00:01:08,430 மிக எளிதாக, இது நீங்கள் நினைவு என்றால், ஒரு வரிசை மிகவும் சிக்கலாக உள்ளது. 26 00:01:08,430 --> 00:01:11,650 நாம் இந்த அழைக்க முடியும் புதிய விஷயம் ஒரு ஹாஷ் அட்டவணை. 27 00:01:11,650 --> 00:01:15,190 >> என்றால், சரியாக செயல்படுத்தப்படவில்லை நாம் அப்படி எடுத்து வருகிறோம் 28 00:01:15,190 --> 00:01:18,150 இரு தரவு நன்மைகள் நீங்கள் ஏற்கனவே பார்த்த கட்டமைப்புகள், 29 00:01:18,150 --> 00:01:19,880 வரிசைகள் மற்றும் தொடர்புடைய பட்டியல்கள். 30 00:01:19,880 --> 00:01:23,070 செருகும் ஆரம்பிக்க முடியும் 1, தீட்டா நோக்கி முனைகின்றன. 31 00:01:23,070 --> 00:01:26,207 தீட்டா நாம் உண்மையில் விவாதிக்கப்பட்டது, ஆனால் தீட்டா வெறும் சராசரி வழக்கு, 32 00:01:26,207 --> 00:01:27,540 என்ன உண்மையில் என்ன நடக்க போகிறது. 33 00:01:27,540 --> 00:01:29,680 நீங்கள் எப்போதும் போவதில்லை மோசமான சூழ்நிலையில் வேண்டும், 34 00:01:29,680 --> 00:01:32,555 , எப்போதும் போவதில்லை சிறந்த வழக்கு சூழ்நிலையில், அதனால் என்ன 35 00:01:32,555 --> 00:01:33,900 சராசரி சூழ்நிலையில்? 36 00:01:33,900 --> 00:01:36,500 >> சரி சராசரியாக செருகும் ஒரு ஹாஷ் அட்டவணை 37 00:01:36,500 --> 00:01:39,370 நெருங்கிய நேர மாறிலி பெற ஆரம்பிக்க முடியும். 38 00:01:39,370 --> 00:01:41,570 மற்றும் நீக்குதல் பெற முடியும் நேர மாறிலி அருகில். 39 00:01:41,570 --> 00:01:44,440 மற்றும் தேடல் பெற முடியும் நேர மாறிலி அருகில். 40 00:01:44,440 --> 00:01:48,600 அதைத்தான் நாம் ஒரு தரவு இல்லை அமைப்பு இன்னும் அந்த செய்ய முடியும் என்று, 41 00:01:48,600 --> 00:01:51,180 எனவே இந்த ஏற்கனவே தெரிகிறது ஒரு அழகான பெரிய விஷயம் போல். 42 00:01:51,180 --> 00:01:57,010 நாம் உண்மையில் மட்டுப்படுத்தப்படுகிறது விட்டேன் அதன் சொந்த ஒவ்வொரு தீமைகள். 43 00:01:57,010 --> 00:01:59,160 >> இந்த செயல்திறன் பெற , எனினும் நாம் மேம்படுத்த 44 00:01:59,160 --> 00:02:03,580 நாம் சேர்க்க எப்படி முடிவை மறு பரிசீலனை செய்ய வேண்டும் கட்டமைப்பாக தரவு. 45 00:02:03,580 --> 00:02:07,380 குறிப்பாக நாம் விரும்பும் தரவு தன்னை எங்களுக்கு சொல்ல 46 00:02:07,380 --> 00:02:09,725 அங்கு அது கட்டமைப்பில் செல்ல வேண்டும். 47 00:02:09,725 --> 00:02:12,850 மற்றும் நாம் அதை தான் நாம் பார்க்க வேண்டும் என்றால் கட்டமைப்பு, நாம் அதை கண்டுபிடிக்க வேண்டும் என்றால், 48 00:02:12,850 --> 00:02:16,610 நாங்கள் தரவு பார்க்க வேண்டும் மீண்டும் திறம்பட செய்ய முடியும், 49 00:02:16,610 --> 00:02:18,910 தரவு பயன்படுத்தி, தோராயமாக அதை அணுக. 50 00:02:18,910 --> 00:02:20,700 வெறும் பார்த்து தரவு நாம் இருக்க வேண்டும் 51 00:02:20,700 --> 00:02:25,890 சரியாக நாம் இருக்கிறோம் அங்கு ஒரு யோசனை ஹாஷ் அட்டவணை அதை கண்டுபிடிக்க போவதில்லை. 52 00:02:25,890 --> 00:02:28,770 >> ஒரு ஹாஷ் இப்போது எதிர்மறையாக அட்டவணை அவர்கள் உண்மையிலேயே என்று ஆகிறது 53 00:02:28,770 --> 00:02:31,770 வரிசைப்படுத்தும் அல்லது தரவை வரிசையாக்கம் மணிக்கு மோசமாக. 54 00:02:31,770 --> 00:02:34,970 உண்மையில், நீங்கள் ஆரம்பித்தால் உத்தரவிடும் அல்லது வகையான அவற்றை பயன்படுத்த 55 00:02:34,970 --> 00:02:37,990 தரவு நீங்கள் அனைத்து இழக்க நன்மைகள் முன்னர் நீங்கள் 56 00:02:37,990 --> 00:02:40,710 செருகும் மற்றும் நீக்குதல் ஆகியவற்றில் இருந்து. 57 00:02:40,710 --> 00:02:44,060 நேரம் அருகில் ஆகிறது n, தீட்டா, நாம் அடிப்படையில் போயிருக்கின்றன 58 00:02:44,060 --> 00:02:45,530 ஒரு இணைக்கப்பட்ட பட்டியலில் பின்னடைவு. 59 00:02:45,530 --> 00:02:48,850 எனவே நாம் மட்டும் புல பயன்படுத்த வேண்டும் அட்டவணைகள் நாம் பற்றி கவலை இல்லை என்றால் 60 00:02:48,850 --> 00:02:51,490 தரவு வரிசையாக்கம் என்பதை. 61 00:02:51,490 --> 00:02:54,290 சூழல் இதில் நீங்கள் CS50 அவற்றை பயன்படுத்த வேண்டும் 62 00:02:54,290 --> 00:02:58,900 ஒருவேளை நீங்கள் கவலை இல்லை தரவு வரிசைப்படுத்தப்பட்ட என்று. 63 00:02:58,900 --> 00:03:03,170 >> எனவே ஒரு ஹாஷ் அட்டவணை ஒரு கலவையாக உள்ளது இரண்டு வேறுபட்ட துண்டுகள் 64 00:03:03,170 --> 00:03:04,980 இதில் நாம் நன்கு அறிவோம். 65 00:03:04,980 --> 00:03:07,930 முதல் ஒரு செயல்பாடு, இது நாம் பொதுவாக ஒரு ஹாஷ் சார்பு அழைக்க. 66 00:03:07,930 --> 00:03:11,760 அந்த ஹாஷ் சார்பு போகிறது சில அல்லாத எதிர்மறை முழு திரும்ப இது 67 00:03:11,760 --> 00:03:14,870 நாம் பொதுவாக சரி, ஒரு Hashcode அழைப்பு? 68 00:03:14,870 --> 00:03:20,230 இரண்டாவது துண்டு இது ஒரு வரிசை, ஆகிறது வகை நாம் சேமித்து தரவு திறன் 69 00:03:20,230 --> 00:03:22,190 தரவு அமைப்பு வைக்க வேண்டும். 70 00:03:22,190 --> 00:03:24,310 நாம் அன்று நடத்த வேண்டும் இப்போது பட்டியல் உறுப்பு இணைக்கப்பட்ட 71 00:03:24,310 --> 00:03:27,810 மற்றும் ஒரு அடிப்படைகள் தொடங்கும் அதை சுற்றி உங்கள் தலையில் பெற அட்டவணை புல, 72 00:03:27,810 --> 00:03:30,210 மற்றும் நாம் ஒருவேளை ஊதி வேண்டும் உங்கள் மனதில் சிறிது போது நாம் 73 00:03:30,210 --> 00:03:32,920 ஒன்றாக வரிசைகள் மற்றும் இணைப்பு பட்டியல்கள் இணைக்க. 74 00:03:32,920 --> 00:03:35,590 >> அடிப்படை யோசனை என்றாலும் நாம் சில தரவு எடுத்து உள்ளது. 75 00:03:35,590 --> 00:03:37,860 நாம் என்று தரவு மூலம் இயக்க ஹாஷ் சார்பு. 76 00:03:37,860 --> 00:03:41,980 எனவே தரவு பதப்படுத்தப்பட்ட அது சரி, ஒரு எண் வெளியே துப்பி? 77 00:03:41,980 --> 00:03:44,890 பின்னர் அந்த எண் நாம் தான் தரவு சேமிக்க 78 00:03:44,890 --> 00:03:48,930 நாம் சேமிக்க வேண்டும் அந்த இடத்தில் வரிசை. 79 00:03:48,930 --> 00:03:53,990 எனவே எடுத்துக்காட்டாக நாம் ஒருவேளை வேண்டும் சரங்களை இந்த ஹாஷ் அட்டவணை. 80 00:03:53,990 --> 00:03:57,350 அது, அது 10 உறுப்புகள் கிடைத்தது நாம் அது 10 சரங்களை பொருத்த முடியும். 81 00:03:57,350 --> 00:03:59,320 >> நாம் ஜான் புல வேண்டும் என்று சொல்கிறேன். 82 00:03:59,320 --> 00:04:02,979 ஜான் எனவே தரவு நாம் சேர்க்க வேண்டும் எங்காவது இந்த ஹாஷ் அட்டவணை. 83 00:04:02,979 --> 00:04:03,770 நாங்கள் அதை எங்கே வைக்க வேண்டும்? 84 00:04:03,770 --> 00:04:05,728 சரி பொதுவாக ஒரு வரிசை இதுவரை நாம் அநேகமாக 85 00:04:05,728 --> 00:04:07,610 வரிசையில் இடம் 0 அதை வைக்க வேண்டும். 86 00:04:07,610 --> 00:04:09,960 ஆனால் இப்போது நாம் இந்த புதிய ஹாஷ் சார்பு. 87 00:04:09,960 --> 00:04:13,180 >> மற்றும் நாம் ஜான் ரன் என்று சொல்கிறேன் இந்த ஹாஷ் செயல்பாடு மூலம் 88 00:04:13,180 --> 00:04:15,417 மற்றும் 4 வெளியே துப்பி. 89 00:04:15,417 --> 00:04:17,500 நாங்கள் இருக்கும் இடத்தில் சரி என்று தான் ஜான் வைக்க வேண்டும் போகிறது. 90 00:04:17,500 --> 00:04:22,050 நாம் வரிசை இடம் உள்ள ஜான் வைக்க வேண்டும் 4, நாம் மீண்டும் ஜான் புல என்றால், ஏனெனில் 91 00:04:22,050 --> 00:04:23,810 பின்னர் நாங்கள் சொல்கிறேன் தேடல் மற்றும் பார்க்க வேண்டும் 92 00:04:23,810 --> 00:04:26,960 ஜான் இந்த ஹாஷ் உள்ளது என்றால் நாம் என்ன செய்ய வேண்டும் அனைத்து அட்டவணை 93 00:04:26,960 --> 00:04:30,310 அதே ஹாஷ் மூலம் இயக்க விழாவில், எண் 4 வெளியே 94 00:04:30,310 --> 00:04:33,929 மற்றும் ஜான் கண்டுபிடிக்க முடியும் உடனடியாக எங்கள் தரவு கட்டமைப்பு இல்லை. 95 00:04:33,929 --> 00:04:34,720 அந்த அழகான நல்லது. 96 00:04:34,720 --> 00:04:36,928 >> நாம் இப்போது இதை செய்ய சொல்கிறேன் மீண்டும், நாம் பால் புல வேண்டும். 97 00:04:36,928 --> 00:04:39,446 நாம் பால் சேர்க்க வேண்டும் இந்த ஹாஷ் அட்டவணை. 98 00:04:39,446 --> 00:04:42,070 இந்த நேரத்தில் நாம் ரன் என்று சொல்கிறேன் ஹாஷ் சார்பு மூலம் பவுல் 99 00:04:42,070 --> 00:04:44,600 உருவாக்கப்படும் என்று Hashcode 6 ஆகும். 100 00:04:44,600 --> 00:04:47,340 சரி இப்போது நாம் பால் வைக்க முடியாது வரிசையில் இடம் 6. 101 00:04:47,340 --> 00:04:50,040 நாம் என்பதை பார்க்க வேண்டும் என்றால் பவுல் இந்த ஹாஷ் அட்டவணை உள்ளது, 102 00:04:50,040 --> 00:04:53,900 நாம் என்ன செய்ய வேண்டும் அனைத்து பால் ரன் ஹாஷ் சார்பு மூலம் மீண்டும் 103 00:04:53,900 --> 00:04:55,830 நாம் வெளியே மீண்டும் 6 பெற போகிறோம். 104 00:04:55,830 --> 00:04:57,590 >> மற்றும் நாம் இப்போது பார்க்க வரிசையில் இடம் 6. 105 00:04:57,590 --> 00:04:58,910 பால் இருக்கிறதா? 106 00:04:58,910 --> 00:05:00,160 அப்படியானால், அவர் ஹாஷ் அட்டவணை தான். 107 00:05:00,160 --> 00:05:01,875 பால் அங்கு இல்லையா? 108 00:05:01,875 --> 00:05:03,000 அவர் ஹாஷ் அட்டவணை இல்லை. 109 00:05:03,000 --> 00:05:05,720 அது மிகவும் நேரடியான தான். 110 00:05:05,720 --> 00:05:07,770 >> இப்போது எப்படி நீங்கள் ஒரு ஹாஷ் சார்பு வரையறை என்ன? 111 00:05:07,770 --> 00:05:11,460 சரி உண்மையில் எல்லை இல்லை சாத்தியமான ஹாஷ் செயல்பாடுகளை எண்ணிக்கை. 112 00:05:11,460 --> 00:05:14,350 உண்மையில் ஒரு எண், உண்மையில் இல்லை இணையத்தில் உண்மையில் நல்ல தான். 113 00:05:14,350 --> 00:05:17,560 ஒரு எண், உண்மையில் உள்ளது இணையத்தில் மிகவும் மோசமாக தான். 114 00:05:17,560 --> 00:05:21,080 இது மிகவும் எளிது ஒரு மோசமான ஒரு எழுத. 115 00:05:21,080 --> 00:05:23,760 >> அதனால் என்ன ஒரு நல்ல வரை செய்கிறது ஹாஷ் சார்பு, சரியான? 116 00:05:23,760 --> 00:05:27,280 சரி ஒரு நல்ல ஹாஷ் சார்பு வேண்டும் தரவு hashed வருகின்றன பயன்படுத்த, 117 00:05:27,280 --> 00:05:29,420 மற்றும் தரவு அனைத்து தயார் செய்தனர். 118 00:05:29,420 --> 00:05:32,500 எனவே நாம் ஒன்றுமே பயன்படுத்த வேண்டும் நாம் எதையும் இணைத்துக்கொள்ள 119 00:05:32,500 --> 00:05:35,560 தரவு தவிர வேறு. 120 00:05:35,560 --> 00:05:37,080 நாம் தரவு அனைத்து பயன்படுத்த வேண்டும். 121 00:05:37,080 --> 00:05:39,830 நாம் ஒரு துண்டு பயன்படுத்த விரும்பவில்லை அது, நாம் அதை பயன்படுத்த வேண்டும். 122 00:05:39,830 --> 00:05:41,710 ஒரு ஹாஷ் சார்பு வேண்டும் மேலும் நிர்ணயிக்கப்பட்ட இருக்க. 123 00:05:41,710 --> 00:05:42,550 அதற்கு என்ன பொருள்? 124 00:05:42,550 --> 00:05:46,200 சரி அது அர்த்தம் என்று ஒவ்வொரு முறையும் நாம் தரவு அதே துண்டு கடந்து 125 00:05:46,200 --> 00:05:50,040 ஹாஷ் சார்பு நாம் எப்போதும் அதே Hashcode வெளியே. 126 00:05:50,040 --> 00:05:52,870 நான் ஒரு ஜான் கடந்து இருந்தால் ஹாஷ் சார்பு நான் 4 வெளியே. 127 00:05:52,870 --> 00:05:56,110 நான் அதை செய்ய முடியும் 10,000 முறை நான் எப்போதும் 4 கிடைக்கும். 128 00:05:56,110 --> 00:06:00,810 எனவே எந்த சீரற்ற எண்கள் திறம்பட எங்கள் ஹாஷ் ஈடுபட்டு tables-- 129 00:06:00,810 --> 00:06:02,750 எங்கள் ஹாஷ் செயல்பாடுகளை. 130 00:06:02,750 --> 00:06:05,750 >> ஒரு ஹாஷ் சார்பு மேலும் வேண்டும் சீராக தரவு விநியோகிக்கிறது. 131 00:06:05,750 --> 00:06:09,700 ஒவ்வொரு முறையும் நீங்கள் மூலம் தரவு ரன் என்றால் ஹாஷ் சார்பு, Hashcode 0 கிடைக்கும் 132 00:06:09,700 --> 00:06:11,200 அந்த உரிமை, ஒருவேளை மிக பெரிய இல்லை? 133 00:06:11,200 --> 00:06:14,600 நீங்கள் ஒருவேளை பெரிய வேண்டும் புல குறியீடுகள் ஒரு எல்லை. 134 00:06:14,600 --> 00:06:17,190 மேலும் விஷயங்களை பரவியது அட்டவணை முழுவதும். 135 00:06:17,190 --> 00:06:23,210 மேலும் இது என்றால் உண்மையில் நன்றாக இருக்கும் ஜான் மற்றும் ஜொனாதன் போன்ற ஒத்த தரவு, 136 00:06:23,210 --> 00:06:26,320 ஒருவேளை எடையை வெளியே பரவியது ஹாஷ் அட்டவணை வெவ்வேறு இடங்களில். 137 00:06:26,320 --> 00:06:28,750 என்று ஒரு நல்ல நன்மை இருக்கும். 138 00:06:28,750 --> 00:06:31,250 >> இங்கே ஒரு ஹாஷ் சார்பு ஒரு எடுத்துக்காட்டு. 139 00:06:31,250 --> 00:06:33,150 நான் முன்பு இந்த ஒரு வரை எழுதினார். 140 00:06:33,150 --> 00:06:35,047 இது ஒரு குறிப்பாக இல்லை நல்ல ஹாஷ் சார்பு 141 00:06:35,047 --> 00:06:37,380 உண்மையில் இல்லை என்று காரணங்களுக்காக இப்போது செல்லும் தாங்க. 142 00:06:37,380 --> 00:06:41,040 ஆனால் நீங்கள் இங்கே என்ன நடக்கிறது பார்க்க வேண்டும்? 143 00:06:41,040 --> 00:06:44,420 நாம் ஒரு மாறி அறிவித்தார் போல் தெரிகிறது தொகை மற்றும் 0 சமமாக அதை அமைக்க அழைத்தார். 144 00:06:44,420 --> 00:06:50,010 பின்னர் வெளிப்படையாக நான் ஏதாவது செய்கிறேன் நான் எனவே நீண்ட strstr [ஜே] சமமாக இல்லை என 145 00:06:50,010 --> 00:06:52,490 0 பின்சாய்வுக்கோடானது. 146 00:06:52,490 --> 00:06:54,870 நான் அங்கு என்ன செய்து கொண்டிருக்கிறேன்? 147 00:06:54,870 --> 00:06:57,440 >> இந்த அடிப்படையில் மற்றொரு ஆகிறது [செயல்படுத்தும் வழி? strl?] 148 00:06:57,440 --> 00:06:59,773 வந்துவிடும்.ஓ போது கண்டறிவதை சரம் இறுதியில் அடைந்தது. 149 00:06:59,773 --> 00:07:02,480 எனவே நான் உண்மையில் இல்லை சரம் நீளம் கணக்கிட, 150 00:07:02,480 --> 00:07:05,640 நான் ஹிட் போது நான் தான் பயன்படுத்தி பின்சாய்வுக்கோடானது 0 பாத்திரம் எனக்கு தெரியும் 151 00:07:05,640 --> 00:07:07,185 நான் சரம் இறுதியில் அடைந்தது. 152 00:07:07,185 --> 00:07:09,560 பின்னர் நான் வைத்து போகிறேன் அந்த சரம் மூலம் தேடி, 153 00:07:09,560 --> 00:07:15,310 strstr [ஜே] சேர்த்து பின்னர் தொகைக்கு, மற்றும் நாள் முடிவில் தொகை மோட் திரும்ப போகிறது 154 00:07:15,310 --> 00:07:16,200 HASH_MAX. 155 00:07:16,200 --> 00:07:18,700 >> அடிப்படையில் அனைத்து இந்த ஹாஷ் செயல்பாடு வரை சேர்த்து வருகிறது செய்து 156 00:07:18,700 --> 00:07:23,450 என்ற ASCII மதிப்புகள் அனைத்து என் சரம், பின்னர் அது தான் 157 00:07:23,450 --> 00:07:26,390 சில Hashcode திரும்பிய HASH_MAX மூலம் modded. 158 00:07:26,390 --> 00:07:29,790 இது அநேகமாக அளவு தான் என் வரிசை, சரியான? 159 00:07:29,790 --> 00:07:33,160 நான் ஹாஷ் பெற வேண்டும் விரும்பவில்லை குறியீடுகள் என் வரிசை அளவு 10 என்றால், 160 00:07:33,160 --> 00:07:35,712 நான் பெறுவது விரும்பவில்லை வெளியே புல குறியீடுகள் 11, 12, 161 00:07:35,712 --> 00:07:38,690 13, நான் விஷயங்களை வைத்து முடியாது வரிசை அந்த இடங்களில், 162 00:07:38,690 --> 00:07:39,790 என்று சட்ட விரோதமாகும். 163 00:07:39,790 --> 00:07:42,130 நான் ஒரு அடுக்கு தவறு பாதிக்கப்படுகின்றனர் என்று. 164 00:07:42,130 --> 00:07:45,230 >> இப்போது இங்கே மற்றொரு விரைவான ஒதுக்கி உள்ளது. 165 00:07:45,230 --> 00:07:48,470 பொதுவாக ஒருவேளை நீங்கள் போவதில்லை உங்கள் சொந்த ஹாஷ் செயல்பாடுகளை எழுத வேண்டும். 166 00:07:48,470 --> 00:07:50,997 அது உண்மையில் ஒரு பிட் உள்ளது ஒரு கலை, ஒரு அறிவியல். 167 00:07:50,997 --> 00:07:52,580 அவர்களில் செல்கிறது என்று நிறைய இருக்கிறது. 168 00:07:52,580 --> 00:07:55,288 நான் சொன்னது போல் இணைய, முழு உள்ளது உண்மையில் நல்ல ஹாஷ் செயல்பாடுகளை, 169 00:07:55,288 --> 00:07:58,470 நீங்கள் இணைய பயன்படுத்த வேண்டும் அது உண்மையில் ஏனெனில் ஹாஷ் செயல்பாடுகளை கண்டுபிடிக்க 170 00:07:58,470 --> 00:08:03,230 வெறும் வகையான ஒரு தேவையற்ற நேரம் கழிவு உங்கள் சொந்த உருவாக்க. 171 00:08:03,230 --> 00:08:05,490 >> நீங்கள் எளிய தான் எழுத முடியும் சோதனை நோக்கங்களுக்காக. 172 00:08:05,490 --> 00:08:08,323 ஆனால் நீங்கள் உண்மையில் போகிறோம் போது தரவு hashing மற்றும் அதை சேமித்து தொடங்க 173 00:08:08,323 --> 00:08:10,780 நீங்கள் ஒரு ஹாஷ் அட்டவணை ஒருவேளை வேண்டும் போகிறீர்கள் 174 00:08:10,780 --> 00:08:14,580 உருவாக்கப்படும் என்று சில செயல்பாடு பயன்படுத்த , என்று இணையத்தில் உள்ளது. 175 00:08:14,580 --> 00:08:17,240 நீங்கள் உறுதியாக இருக்க என்றால் உங்கள் குரல்களை. 176 00:08:17,240 --> 00:08:21,740 எந்த காரணமும் இல்லை இங்கே எதையும் காப்பி அடிக்கிறார்கள். 177 00:08:21,740 --> 00:08:25,370 >> கணினி அறிவியல் சமூகம் நிச்சயமாக மதிப்புகள் வளர்ந்து, மற்றும் உண்மையில் 178 00:08:25,370 --> 00:08:28,796 திறந்த மூல, அது மிக முக்கியம் உங்கள் குரல்களை என்று மக்கள் 179 00:08:28,796 --> 00:08:30,670 உரிப்பளிப்புகளின் பெற முடியும் அவர்கள் அந்த வேலை 180 00:08:30,670 --> 00:08:32,312 பொது மக்களின் நன்மைக்காக செய்து. 181 00:08:32,312 --> 00:08:34,020 எனவே எப்போதும் உறுதி இருக்க மற்றும் மட்டும் புல க்கான 182 00:08:34,020 --> 00:08:37,270 செயல்பாடுகளை, ஆனால் பொதுவாக போது நீங்கள் வெளியில் இருந்து குறியீடு பயன்படுத்த, 183 00:08:37,270 --> 00:08:38,299 எப்போதும் உங்கள் மூல மேற்கோள். 184 00:08:38,299 --> 00:08:43,500 செய்த நபர் கடன் கொடுக்க வேலை சில எனவே நீங்கள் இல்லை. 185 00:08:43,500 --> 00:08:46,720 >> சரி எனவே இந்த மீண்டும் நாம் இரண்டாவது ஹாஷ் அட்டவணை. 186 00:08:46,720 --> 00:08:48,780 நாம் விட்டு, அங்கு இது நாம் சேர்க்கப்பட்டது பிறகு ஆஃப் 187 00:08:48,780 --> 00:08:53,300 இந்த ஹாஷ் அட்டவணை ஜான் பால். 188 00:08:53,300 --> 00:08:55,180 நீங்கள் இங்கே ஒரு பிரச்சினை பார்க்க வேண்டும்? 189 00:08:55,180 --> 00:08:58,410 நீங்கள் இரண்டு பார்க்க வேண்டும். 190 00:08:58,410 --> 00:09:02,240 ஆனால் குறிப்பாக, நீங்கள் செய்ய இது சாத்தியம் பிரச்சனை பார்க்க? 191 00:09:02,240 --> 00:09:06,770 >> என்ன நான் ரிங்கோ புல, அது என்றால் பின்னர் செயலாக்க என்று மாறிவிடும் 192 00:09:06,770 --> 00:09:14,000 ஹாஷ் சார்பு மூலம் தரவு ரிங்கோ மேலும் Hashcode 6 உருவாக்கப்படும். 193 00:09:14,000 --> 00:09:16,810 நான் ஏற்கனவே தரவு கிடைத்துவிட்டது hashcode-- வரிசையில் இடம் 6. 194 00:09:16,810 --> 00:09:22,000 அது அநேகமாக ஒரு பிட் இருக்கும் நடக்கிறது இப்போது எனக்கு ஒரு பிரச்சினை, சரியான? 195 00:09:22,000 --> 00:09:23,060 >> நாம் ஒரு மோதல் அழைக்கிறோம். 196 00:09:23,060 --> 00:09:26,460 மற்றும் மோதல் போது இரண்டு ஏற்படுகிறது தரவு துண்டுகள் அதே ஹாஷ் மூலம் இயக்க 197 00:09:26,460 --> 00:09:29,200 செயல்பாடு ஒன்று Hashcode விளைவிக்கும். 198 00:09:29,200 --> 00:09:32,850 மறைமுகமாக நாம் இன்னும் இரு பெற வேண்டும் ஹாஷ் அட்டவணை தரவு துண்டுகள், 199 00:09:32,850 --> 00:09:36,330 இல்லையெனில் நாம் ரிங்கோ இயங்கும் தன்னிச்சையாக ஹாஷ் சார்பு மூலம். 200 00:09:36,330 --> 00:09:40,870 நாம் மறைமுகமாக பெற வேண்டும் அந்த அணி மீது ரிங்கோ. 201 00:09:40,870 --> 00:09:46,070 >> நாம் என்றாலும் அது எப்படி முடியும், அவர் என்றால் பவுலும் மகசூல் Hashcode 6? 202 00:09:46,070 --> 00:09:49,520 நாம் பால் மேலெழுத விரும்பவில்லை, நாம் பால் மிகவும் அங்கு இருக்க வேண்டும். 203 00:09:49,520 --> 00:09:52,790 எனவே நாம் பெற ஒரு வழி கண்டுபிடிக்க வேண்டும் ஹாஷ் அட்டவணை உறுப்புகள் என்று 204 00:09:52,790 --> 00:09:56,550 இன்னும் எங்கள் விரைவான காக்கிறது செருகும் மற்றும் விரைவான தோற்றத்தை. 205 00:09:56,550 --> 00:10:01,350 மற்றும் அதை சமாளிக்க ஒரு வழி உள்ளது ஆய்வு லீனியர் என்று ஏதாவது செய்ய. 206 00:10:01,350 --> 00:10:04,170 >> நாம் ஒரு இருந்தால் இந்த முறையை பயன்படுத்தி மோதல், நன்றாக, நாம் என்ன செய்ய வேண்டும்? 207 00:10:04,170 --> 00:10:08,580 சரி நாம் வரிசையில் இடம் அவரை வைக்க முடியாது 6, அல்லது என்ன Hashcode உருவாக்கப்படும், 208 00:10:08,580 --> 00:10:10,820 தான் Hashcode பிளஸ் 1 அவரை வைத்து விடுங்கள். 209 00:10:10,820 --> 00:10:13,670 அந்த முழு நாம் என்றால் Hashcode பிளஸ் 2 அவரை வைத்து. 210 00:10:13,670 --> 00:10:17,420 இதை சொல்லிக் நலனுக்காக அவர் என்றால் இல்லை சரியாக நாம் அவர் நினைப்பதை எங்கே, 211 00:10:17,420 --> 00:10:20,850 மற்றும் நாம் தேடி தொடங்க வேண்டும், ஒருவேளை நாம் வெகு தூரம் போக வேண்டியது இல்லை. 212 00:10:20,850 --> 00:10:23,900 ஒருவேளை நாம் தேட வேண்டும் ஹாஷ் அட்டவணை அனைத்து n உறுப்புகள். 213 00:10:23,900 --> 00:10:25,790 ஒருவேளை நாம் தேட வேண்டும் அவர்கள் ஒரு ஜோடி. 214 00:10:25,790 --> 00:10:30,680 >> எனவே நாம் இன்னும் நோக்கி தன்மை சராசரி நிலை 1 நெருங்கிய எதிராக இருப்பது 215 00:10:30,680 --> 00:10:34,280 n க்கு நெருக்கமான, அதனால் அந்த வேலை கிடைக்கும். 216 00:10:34,280 --> 00:10:38,010 எனவே எப்படி இந்த பார்ப்போம் யதார்த்தத்தில் வேலை என்று. 217 00:10:38,010 --> 00:10:41,460 ஒருவேளை நாம் கண்டறிய முடியும் என்றால் நாம் பார்ப்போம் இங்கே நிகழலாம் என்று பிரச்சனை. 218 00:10:41,460 --> 00:10:42,540 >> நாம் பார்ட் புல சொல்கிறேன். 219 00:10:42,540 --> 00:10:45,581 எனவே இப்போது நாம் ஒரு புதிய தொகுப்பு இயக்க போகிறீர்கள் ஹாஷ் சார்பு மூலம் சரங்களை, 220 00:10:45,581 --> 00:10:48,460 நாம் புல மூலம் பார்ட் ரன் செயல்பாடு, நாம் Hashcode 6 கிடைக்கும். 221 00:10:48,460 --> 00:10:52,100 நாங்கள் பாருங்கள், நாம் 6 பார்க்க காலியாக எனவே அங்கு பார்ட் வைக்க முடியாது. 222 00:10:52,100 --> 00:10:55,410 >> இப்போது நாம் லிசா மற்றும் அந்த புல மேலும் Hashcode 6 உருவாக்குகிறது. 223 00:10:55,410 --> 00:10:58,330 சரி இப்போது நாம் இந்த பயன்படுத்தி வருகிறோம் என்று நேரியல், நாம் 6 மணிக்கு தொடங்கும் முறை ஆய்வு 224 00:10:58,330 --> 00:10:59,330 நாங்கள் 6 முழு என்று பார்க்கிறோம். 225 00:10:59,330 --> 00:11:00,990 நாங்கள் 6 லிசா வைக்க முடியாது. 226 00:11:00,990 --> 00:11:02,090 எனவே நாம் அங்கு செல்ல வேண்டும்? 227 00:11:02,090 --> 00:11:03,280 7 போகலாம். 228 00:11:03,280 --> 00:11:04,610 7 வெற்று, அதனால் வேலை என்று. 229 00:11:04,610 --> 00:11:06,510 எனவே அங்கு லிசா வைத்து விடுங்கள். 230 00:11:06,510 --> 00:11:10,200 >> இப்போது நாம் ஹோமர் புல நாம் 7 கிடைக்கும். 231 00:11:10,200 --> 00:11:13,380 சரி நாங்கள் நன்கறிவோம் 7 முழு என்று இப்போது, நாம் அங்கு ஹோமர் வைக்க முடியாது. 232 00:11:13,380 --> 00:11:14,850 எனவே 8 செல்லலாம். 233 00:11:14,850 --> 00:11:15,664 8 கிடைக்கும்? 234 00:11:15,664 --> 00:11:18,330 ஆமாம், மற்றும் 7 8 நெருங்கிய ஆமெனில், நாம் இருக்கிறோம் தேடி தொடங்க வேண்டும் 235 00:11:18,330 --> 00:11:20,020 நீண்ட தூரம் செல்ல வேண்டும் போவதில்லை. 236 00:11:20,020 --> 00:11:22,860 அதனால் தான் 8 ஹோமர் வைத்து விடுங்கள். 237 00:11:22,860 --> 00:11:25,151 >> இப்போது நாம் புல மாகி மற்றும் 3 கொடுக்கிறது, நல்ல நன்றி 238 00:11:25,151 --> 00:11:26,650 நாங்கள் அங்கு மேகி வைக்க முடியும் என்றால். 239 00:11:26,650 --> 00:11:29,070 நாம் எந்த செய்ய வேண்டும் அப்படி என்று ஆய்வு. 240 00:11:29,070 --> 00:11:32,000 இப்போது நாம் மார்ஜ் புல, மற்றும் மார்ஜ் மேலும் 6 கொடுக்கிறது. 241 00:11:32,000 --> 00:11:39,560 >> சரி 6, 8 முழு உள்ளது, 7 முழு உள்ளது, முழு உள்ளது 9, அனைத்து சரி, 9 காலியாக உள்ளது, கடவுளுக்கு நன்றி. 242 00:11:39,560 --> 00:11:41,600 நான் 9 மணிக்கு மார்ஜ் வைக்க முடியாது. 243 00:11:41,600 --> 00:11:45,280 ஏற்கனவே நாம் ஆரம்பிக்கும் என்று பார்க்க முடியும் நாங்கள் இருக்கும் இடத்தில் இப்போது இந்தச் சிக்கல் 244 00:11:45,280 --> 00:11:48,780 நல்ல காரியங்களைச் நீட்டி தொடங்கி என்ற தொலைவில் தங்கள் புல குறியீடுகள். 245 00:11:48,780 --> 00:11:52,960 மற்றும் 1 தீட்டா, என்று சராசரி நிலையான நேரம் என்ற வழக்கு, 246 00:11:52,960 --> 00:11:56,560 ஒரு சிறிய more-- பெற தொடங்கி உள்ளது மேலும் ஒரு சிறிய முனைகின்றன தொடங்கி 247 00:11:56,560 --> 00:11:58,050 n, தீட்டா நோக்கி. 248 00:11:58,050 --> 00:12:01,270 நாம் அந்த இழக்க தொடங்கி புல அட்டவணைகள் பயன்படுத்தி. 249 00:12:01,270 --> 00:12:03,902 >> நாம் தான் பார்த்தேன் என்று இந்த பிரச்சனை தொகுப்பு என அழைக்கப்படும் ஒன்று உள்ளது. 250 00:12:03,902 --> 00:12:06,360 ஏறக்குறைய மிகவும் மோசமாக என்ன கொத்தாக்கலும் நீங்கள் ஒருமுறை இப்போது 251 00:12:06,360 --> 00:12:09,606 பக்க இருக்கும் என்று இரண்டு உறுப்புகள் மூலம் வேண்டும் அது இன்னும் கடினம் எனக் பக்க, 252 00:12:09,606 --> 00:12:11,480 நீங்கள் இரட்டை வேண்டும் வாய்ப்பு, நீங்கள் வேண்டும் போகிறோம் என்று 253 00:12:11,480 --> 00:12:13,516 மற்றொரு மோதல் வேண்டும் குலையை கொண்டு, 254 00:12:13,516 --> 00:12:14,890 கொத்துக் ஒரு வளரும். 255 00:12:14,890 --> 00:12:19,640 நீங்கள் வளர்ந்து வரும் மற்றும் வளர்ந்து வரும் வைத்திருக்க வேண்டும் ஒரு மோதல் என்ற உங்கள் வாய்ப்பு. 256 00:12:19,640 --> 00:12:24,470 இறுதியில் அது போல் மோசமாக இருக்கிறது போன்ற அனைத்து தகவல்களையும் வரிசைப்படுத்த. 257 00:12:24,470 --> 00:12:27,590 >> மற்ற பிரச்சினை என்றாலும் நாம் ஆகிறது இன்னும், இதுவரை இந்த புள்ளி வரை, 258 00:12:27,590 --> 00:12:30,336 நாங்கள் தான் அப்படி வந்துள்ளேன் ஒரு ஹாஷ் அட்டவணை உள்ளது என்ன புரிந்து, 259 00:12:30,336 --> 00:12:31,960 நாம் இன்னும் ஒரே 10 சரங்களை அறை உள்ளது. 260 00:12:31,960 --> 00:12:37,030 நாங்கள் புல தொடர விரும்பினால் ஸ்ப்ரிங் குடிமக்கள், 261 00:12:37,030 --> 00:12:38,790 நாம் மட்டுமே அங்கு அவர்கள் 10 பெற முடியும். 262 00:12:38,790 --> 00:12:42,619 நாம் முயற்சி மற்றும் ஒரு 11 அல்லது 12, சேர்க்க வேண்டும் நாம் அவர்களை வைத்து ஒரு இடத்தில் இல்லை. 263 00:12:42,619 --> 00:12:45,660 நாம் சுற்றி சுழலும் வட்டங்கள், ஒரு வெற்று இடத்தை கண்டுபிடிக்க முயற்சி 264 00:12:45,660 --> 00:12:49,000 நாம் ஒருவேளை மாட்டி ஒரு முடிவிலா சுழற்சியில். 265 00:12:49,000 --> 00:12:51,810 >> எனவே யோசனை தருகிறது இந்த வகையான ஏதாவது பிணைப்பு என்று. 266 00:12:51,810 --> 00:12:55,790 இந்த நாங்கள் கொண்டு செல்கிறோம் எங்கே மீண்டும் படம் இணைக்கப்பட்ட பட்டியல்கள். 267 00:12:55,790 --> 00:13:01,300 என்ன என்றால், அதற்கு பதிலாக வெறும் சேமித்து அணிகளில் தரவு தன்னை, 268 00:13:01,300 --> 00:13:04,471 வரிசை ஒவ்வொரு உறுப்பு முடியும் பல துண்டுகளாக தரவு நடத்த? 269 00:13:04,471 --> 00:13:05,970 சரி அந்த உரிமையை, பயன் இல்லை? 270 00:13:05,970 --> 00:13:09,280 நாம் என்று ஒரு வரிசை மட்டும் முடியாது என்று எனக்கு தெரியும் ஒரு வரிசை ஒவ்வொரு உறுப்பு hold-- 271 00:13:09,280 --> 00:13:12,930 ஒரே ஒரு துண்டு நடத்த முடியும் தரவு வகை தரவு. 272 00:13:12,930 --> 00:13:16,750 >> ஆனால் என்ன தரவு வகை ஒரு இணைக்கப்பட்ட பட்டியலில், சரியா? 273 00:13:16,750 --> 00:13:19,830 அதனால் என்ன என்றால், ஒவ்வொரு வரிசைக்கு உறுப்பு இருந்தது 274 00:13:19,830 --> 00:13:22,790 ஒரு இணைக்கப்பட்ட பட்டியலில் தலையில் ஒரு சுட்டிக்காட்டி? 275 00:13:22,790 --> 00:13:24,680 பின்னர் நாம் உருவாக்க முடியும் அந்த தொடர்புடைய பட்டியல்கள் 276 00:13:24,680 --> 00:13:27,120 மற்றும், தன்னிச்சையாக அவர்கள் வளர தொடர்புடைய பட்டியல்கள் அனுமதிக்க ஏனெனில் 277 00:13:27,120 --> 00:13:32,090 நாம் வளர மற்றும் இன்னும் நிறைய சுருக்க ஒரு வரிசை இல்லை விட. 278 00:13:32,090 --> 00:13:34,210 அதனால் என்ன, நாம் இப்போது பயன்படுத்தினால், நாம் சரி, இந்த அந்நிய? 279 00:13:34,210 --> 00:13:37,760 நாம் இந்த சங்கிலிகள் வளர ஆரம்பிக்கிறோம் இந்த வரிசை இடங்களில் இருந்து. 280 00:13:37,760 --> 00:13:40,740 >> இப்போது நாம் ஒரு முடிவிலா பொருத்த முடியும் தரவு அளவு, அல்லது, எல்லையற்ற, 281 00:13:40,740 --> 00:13:44,170 ஒரு தன்னிச்சையான தொகை தரவு, எங்கள் ஹாஷ் அட்டவணை 282 00:13:44,170 --> 00:13:47,760 எப்போதும் எதுவும் இல்லாமல் மோதல் பிரச்சனை. 283 00:13:47,760 --> 00:13:50,740 நாம் நீக்கப்பட்டிருக்கிறது இதை செய்து கொத்தாக்கலும். 284 00:13:50,740 --> 00:13:54,380 நன்றாக நாம் சேர்க்க போது என்று எனக்கு தெரியும் ஒரு இணைக்கப்பட்ட பட்டியலில், நீங்கள் நினைவு என்றால் 285 00:13:54,380 --> 00:13:57,779 தனித்தனி இணைக்கப்பட்ட பட்டியல்கள், நம் வீடியோ இருந்து இணைக்கப்பட்ட பட்டியல்கள் மற்றும் இரட்டை இணைக்கப்பட்ட பட்டியல்கள், 286 00:13:57,779 --> 00:13:59,070 அது ஒரு மாறா நேரம் அறுவை சிகிச்சை தான். 287 00:13:59,070 --> 00:14:00,710 நாம் தான் முன் சேர்த்து வருகிறோம். 288 00:14:00,710 --> 00:14:04,400 >> மற்றும் பார் வரை, நன்கு நாங்கள் தெரிகிறோம் அந்த ஒரு இணைக்கப்பட்ட பட்டியலில் வரை பார்க்க 289 00:14:04,400 --> 00:14:05,785 சரி, ஒரு பிரச்சினை இருக்க முடியும்? 290 00:14:05,785 --> 00:14:07,910 நாம் மூலம் தேட வேண்டும் ஆரம்பத்தில் இருந்து அதை முடிவுக்கு. 291 00:14:07,910 --> 00:14:10,460 எந்த சீரற்ற இருக்கிறது ஒரு இணைக்கப்பட்ட பட்டியலில் அணுகல். 292 00:14:10,460 --> 00:14:15,610 ஆனால் அதற்கு பதிலாக ஒரு கொண்ட இணைக்கப்பட்ட ஒரு தேடல் n, ஓ என்று அங்கு பட்டியலில், 293 00:14:15,610 --> 00:14:19,590 நாம் இப்போது 10 இணைக்கப்பட்ட பட்டியலில், அல்லது 1,000 இணைக்கப்பட்ட பட்டியல்கள், 294 00:14:19,590 --> 00:14:24,120 இப்போது அது 10 ஆல் வகுக்க n, ஓ, அல்லது n ஓ 1,000 வகுக்கப்பட்ட. 295 00:14:24,120 --> 00:14:26,940 >> நாம் பேசிக்கொண்டிருக்கும்போதே கோட்பாட்டளவில் சிக்கலான பற்றி 296 00:14:26,940 --> 00:14:30,061 நாம் உண்மையான உள்ள, மாறிலிகள் புறக்கணித்து இந்த விஷயங்கள் உண்மையில் ஒரு விஷயமே உலக, 297 00:14:30,061 --> 00:14:30,560 சரியா? 298 00:14:30,560 --> 00:14:33,080 நாம் உண்மையில் கவனிப்போம் இந்த நடக்கும் என்று 299 00:14:33,080 --> 00:14:36,610 வேகமாக 10 முறை இயக்க வேண்டும், அல்லது 1000 மடங்கு அதிகமான, 300 00:14:36,610 --> 00:14:41,570 நாங்கள் நீண்ட ஒரு விநியோகித்து ஏனெனில் 1,000 சிறிய சங்கிலிகள் முழுவதும் சங்கிலி. 301 00:14:41,570 --> 00:14:45,090 எனவே நாம் ஒவ்வொரு முறை தேட நாம் முடியும் அந்த சங்கிலிகள் ஒரு வழியாக 302 00:14:45,090 --> 00:14:50,290 நாங்கள் கவலைப்பட மாட்டோம் 999 சங்கிலிகள் புறக்கணிக்க பற்றி, மற்றும் அந்த வகையில் ஒரு தேடல். 303 00:14:50,290 --> 00:14:53,220 >> எந்த சராசரி உள்ளது 1000 மடங்கு குறைவாக இருக்கும். 304 00:14:53,220 --> 00:14:56,460 எனவே நாம் இன்னும், அப்படி இருக்கிறோம் இந்த சராசரி வழக்கு நோக்கி தன்மை 305 00:14:56,460 --> 00:15:01,610 நிலையான நேரம் இருப்பது, ஆனால் மட்டுமே நாம் ஊக்கம் ஏனெனில் 306 00:15:01,610 --> 00:15:03,730 சில பெரிய நிலையான காரணியாக பிளவு. 307 00:15:03,730 --> 00:15:05,804 எப்படி இந்த வலிமை என்று பார்ப்போம், உண்மையில் என்றாலும் இருக்கிறது. 308 00:15:05,804 --> 00:15:08,720 எனவே இந்த நேரத்தில் நாம் இருந்தது ஹாஷ் அட்டவணை இருந்தது நாம் ஒரு ஹாஷ் அட்டவணை அறிவித்தார் முன் அந்த 309 00:15:08,720 --> 00:15:10,270 10 சரங்களை சேமித்து திறன் இருந்தது. 310 00:15:10,270 --> 00:15:11,728 நாம் இனி அதை செய்ய போவதில்லை. 311 00:15:11,728 --> 00:15:13,880 நாம் ஏற்கனவே தெரியும் அந்த முறையை வரம்புகள். 312 00:15:13,880 --> 00:15:20,170 இப்போது எங்கள் ஹாஷ் அட்டவணை இருக்கும் நடக்கிறது 10 முனைகளில் சுட்டிகள் ஒரு வரிசை 313 00:15:20,170 --> 00:15:22,120 தொடர்புடைய பட்டியல்கள் தலைவர்கள். 314 00:15:22,120 --> 00:15:23,830 >> இப்போது அது வெற்று. 315 00:15:23,830 --> 00:15:26,170 அந்த 10 சுட்டிகள் ஒவ்வொரு ஒரு பூஜ்ய உள்ளது. 316 00:15:26,170 --> 00:15:29,870 எதுவும் எங்கள் இருக்கிறது இப்போது அட்டவணை புல. 317 00:15:29,870 --> 00:15:32,690 >> இப்போது தான் சில வைத்து ஆரம்பிப்போம் இந்த ஹாஷ் அட்டவணை விஷயங்கள். 318 00:15:32,690 --> 00:15:35,440 மற்றும் இந்த முறை எப்படி பார்க்க அனுமதிக்க எங்களுக்கு கொஞ்சம் நன்மை செய்ய போகிறோம். 319 00:15:35,440 --> 00:15:36,760 இப்போது ஜோயி புல நாம். 320 00:15:36,760 --> 00:15:40,210 சரம் நாம் ஜோயி மூலம் இயக்க ஒரு ஹாஷ் சார்பு நாம் 6 திரும்ப. 321 00:15:40,210 --> 00:15:41,200 சரி இப்போது நாம் என்ன செய்ய வேண்டும்? 322 00:15:41,200 --> 00:15:44,090 >> சரி இப்போது இணைக்கப்பட்ட பட்டியல்கள் வேலை, நாம் வரிசைகள் வேலை. 323 00:15:44,090 --> 00:15:45,881 நாம் பணிபுரியும் போது, இணைக்கப்பட்ட பட்டியல்கள் நாங்கள் 324 00:15:45,881 --> 00:15:49,790 நாம் மாறும் தொடங்க வேண்டும் தெரிகிறது விண்வெளி மற்றும் கட்டிட சங்கிலிகள் ஒதுக்கீடு. 325 00:15:49,790 --> 00:15:54,020 அந்த மாதிரியான அந்த மைய how-- தான் ஒரு இணைக்கப்பட்ட பட்டியலில் கட்டி உறுப்புகள். 326 00:15:54,020 --> 00:15:57,670 எனவே மாறும் நாம் ஜோயி இடத்தை ஒதுக்க, 327 00:15:57,670 --> 00:16:00,390 பின்னர் சங்கிலி அவரை சேர்க்க. 328 00:16:00,390 --> 00:16:03,170 >> எனவே இப்போது நாம் என்ன செய்தேன் பாருங்கள். 329 00:16:03,170 --> 00:16:06,440 நாங்கள் ஜோயி புல போது நாம் Hashcode 6 கிடைத்தது. 330 00:16:06,440 --> 00:16:11,790 வரிசையில் இடம் 6 இப்போது சுட்டிக்காட்டி ஒரு இணைக்கப்பட்ட பட்டியலில் தலையில் காட்டுகிறார், 331 00:16:11,790 --> 00:16:14,900 இப்போது அதை மட்டும் தான் ஒரு இணைக்கப்பட்ட பட்டியலில் உறுப்பு. 332 00:16:14,900 --> 00:16:18,350 அந்த முனை இணைக்கப்பட்ட பட்டியலில் ஜோயி உள்ளது. 333 00:16:18,350 --> 00:16:22,300 >> நாங்கள் ஜோயி பார்க்க வேண்டும் என்றால் பின்னர், நாங்கள் தான் மீண்டும் ஜோயி புல, 334 00:16:22,300 --> 00:16:26,300 நாங்கள் எங்கள் ஏனெனில் மீண்டும் 6 பெற ஹாஷ் சார்பு நிர்ணயிக்கப்பட்ட உள்ளது. 335 00:16:26,300 --> 00:16:30,400 பின்னர் நாம் தலை மணிக்கு தொடங்கும் இணைக்கப்பட்ட பட்டியலில் சுட்டிக்காட்டினார் 336 00:16:30,400 --> 00:16:33,360 வரிசையில் இடம் மூலம் 6, மற்றும் நாம் மீண்டும் கூறு முடியாது 337 00:16:33,360 --> 00:16:35,650 ஜோயி கண்டுபிடிக்க முயற்சி என்று முழுவதும். 338 00:16:35,650 --> 00:16:37,780 நாம் கட்டினால் எங்கள் திறம்பட அட்டவணை புல, 339 00:16:37,780 --> 00:16:41,790 மற்றும் எங்கள் ஹாஷ் சார்பு திறம்பட நன்கு தரவு விநியோகிக்க, 340 00:16:41,790 --> 00:16:45,770 சராசரி அந்த ஒவ்வொரு இணைக்கப்பட்ட ஒவ்வொரு வரிசை இடத்தில் பட்டியல்கள் 341 00:16:45,770 --> 00:16:50,110 என்றால் அளவு 1/10 இருக்கும் நாங்கள் ஒரு ஒற்றை பெரிய அதை இருந்தது 342 00:16:50,110 --> 00:16:51,650 அது எல்லாம் இணைக்கப்பட்ட பட்டியல். 343 00:16:51,650 --> 00:16:55,670 >> நாம் பெரிய இணைக்கப்பட்ட அந்த விநியோகிக்க 10 இணைக்கப்பட்ட பட்டியல்கள் முழுவதும் பட்டியல் 344 00:16:55,670 --> 00:16:57,760 ஒவ்வொரு பட்டியலில் 1/10 அளவு இருக்கும். 345 00:16:57,760 --> 00:17:01,432 இவ்வாறே 10 மடங்கு விரைவாக மூலம் தேட. 346 00:17:01,432 --> 00:17:02,390 எனவே மீண்டும் இந்த செய்வோம். 347 00:17:02,390 --> 00:17:04,290 இப்போது ராஸ் புல நாம். 348 00:17:04,290 --> 00:17:07,540 >> மற்றும் நாம் செய்யும் போது ரோஸ், சொல்கிறேன் நாம் மீண்டும் ஹாஷ் குறியீடு 2. 349 00:17:07,540 --> 00:17:10,630 சரி இப்போது நாம் மாறும் ஒரு ஒதுக்க புதிய கணு, நாம், அந்த முனை ரோஸ் வைத்தோம் 350 00:17:10,630 --> 00:17:14,900 நாம் வரிசை இடம் இப்போது சொல்ல 2 பூஜ்ஜிய, அதற்கு பதிலாக, 351 00:17:14,900 --> 00:17:18,579 ஒரு இணைக்கப்பட்ட தலைவர் சுட்டிக்காட்டுகிறது யாருடைய மட்டுமே முனை பட்டியலில் ரோஸ். 352 00:17:18,579 --> 00:17:22,660 நாம் செய்தால், நாம் இந்த ஒரு முறை செய்ய முடியும் ரேச்சல் புல மற்றும் Hashcode 4 பெற முடியும். 353 00:17:22,660 --> 00:17:25,490 ரேச்சல் வைத்து, ஒரு புதிய கணு malloc முனை, மற்றும் ஒரு வரிசையில் இடம் சொல்கிறது 354 00:17:25,490 --> 00:17:27,839 4 இப்போது தலை சுட்டிக்காட்டினால் அதன் ஒரு இணைக்கப்பட்ட பட்டியலில் 355 00:17:27,839 --> 00:17:31,420 ஒரே உறுப்பு ரேச்சல் இருக்கும் நடக்கிறது. 356 00:17:31,420 --> 00:17:33,470 >> சரி ஆனால் என்ன நடக்கும் நாம் ஒரு மோதல் இல்லை? 357 00:17:33,470 --> 00:17:38,560 நாம் மோதல்கள் கையாள எப்படி என்று பார்ப்போம் தனி பிணைப்பு முறையை பயன்படுத்தி. 358 00:17:38,560 --> 00:17:39,800 தான் ஃபோ புல நாம். 359 00:17:39,800 --> 00:17:41,094 நாம் Hashcode 6 கிடைக்கும். 360 00:17:41,094 --> 00:17:44,010 எங்கள் முந்தைய எடுத்துக்காட்டாக நாம் இருந்தனர் வரிசை சரங்களை சேமிக்கும். 361 00:17:44,010 --> 00:17:45,980 இந்த பிரச்சனை இருந்தது. 362 00:17:45,980 --> 00:17:48,444 >> நாம் மெழுகுதல் விரும்பவில்லை ஜோயி, மற்றும் நாம் ஏற்கனவே போயிருக்கின்றன 363 00:17:48,444 --> 00:17:51,110 நாம் சில கொத்தாக்கலும் பெற முடியும் என்று நான் பிரச்சினைகள் நாங்கள் முயற்சி செய்தால் மற்றும் படி 364 00:17:51,110 --> 00:17:52,202 மூலம் மற்றும் probe. 365 00:17:52,202 --> 00:17:54,660 ஆனால் என்ன நாம் வெறும் வகையான இந்த உரிமை, அதே வழியில் நடத்துகிறாய்? 366 00:17:54,660 --> 00:17:57,440 அது ஒரு உறுப்பு சேர்த்து போல ஒரு இணைக்கப்பட்ட பட்டியலில் தலையில். 367 00:17:57,440 --> 00:18:00,220 ஃபோ க்கான தான் malloc இடத்தில் நாம். 368 00:18:00,220 --> 00:18:04,764 >> நாம் ஃபோ அடுத்த சுட்டிக்காட்டி புள்ளிகள் சொல்ல வேண்டும் இணைக்கப்பட்ட பட்டியலில் பழைய தலையில், 369 00:18:04,764 --> 00:18:07,180 பின்னர் 6 வெறும் சுட்டிக்காட்டினால் இணைக்கப்பட்ட பட்டியலில் புதிய தலைவர். 370 00:18:07,180 --> 00:18:10,150 இப்போது நாம் ஃபோ மாறிவிட்டேன் இருக்கிறது. 371 00:18:10,150 --> 00:18:14,210 நாம் இப்போது இரண்டு சேமிக்க முடியும் Hashcode 6 உறுப்புகள், 372 00:18:14,210 --> 00:18:17,170 மற்றும் நாம் எந்த பிரச்சினையும் இல்லை. 373 00:18:17,170 --> 00:18:20,147 >> அந்த அழகான மிகவும் இருக்கிறது பிணைப்பு உள்ளது. 374 00:18:20,147 --> 00:18:21,980 மற்றும் பிணைப்பு நிச்சயம் என்று முறை 375 00:18:21,980 --> 00:18:27,390 நீங்கள் என்றால் மிகவும் பயனுள்ள இருக்க போகிறது நீங்கள் ஒரு ஹாஷ் அட்டவணை தரவு சேமித்து. 376 00:18:27,390 --> 00:18:30,890 ஆனால் இந்த கலவையை வரிசைகள் மற்றும் தொடர்புடைய பட்டியல்கள் 377 00:18:30,890 --> 00:18:36,080 ஒன்றாக உண்மையில் ஒரு ஹாஷ் அட்டவணை அமைக்க திடீரென்று உங்கள் திறனை அதிகரிக்கிறது 378 00:18:36,080 --> 00:18:40,550 தரவு பெரிய அளவு சேமிக்க, மற்றும் மிகவும் விரைவாகவும் திறமையாகவும் தேட 379 00:18:40,550 --> 00:18:41,630 தரவு மூலம். 380 00:18:41,630 --> 00:18:44,150 >> இன்னும் ஒரு இன்னும் இருக்கிறது அங்கு தரவு கட்டமைப்பு 381 00:18:44,150 --> 00:18:48,700 என்று கூட ஒரு பிட் இருக்கலாம் உத்தரவாதம் அடிப்படையில் சிறந்த 382 00:18:48,700 --> 00:18:51,920 என்று எங்கள் புகுத்தியது, நீக்கல், மற்றும் பார்க்க முறை கூட வேகமாக இருக்கும். 383 00:18:51,920 --> 00:18:55,630 மற்றும் நாம் முயற்சிகளின் ஒரு வீடியோ பார்க்க வேண்டும் என்று. 384 00:18:55,630 --> 00:18:58,930 நான் டக் லாயிட் நான், இந்த CS50 உள்ளது. 385 00:18:58,930 --> 00:19:00,214