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 That's-- અમે માહિતી નથી માળખું હજુ સુધી કે કરી શકો છો, 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 એક કડી થયેલ યાદી માં regressed. 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 અમે સામાન્ય રીતે ઠીક છે, એક હૅશકોડ કૉલ? 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 અને તેથી માહિતી પ્રક્રિયા છે અને તે ઠીક છે, એક નંબર બહાર spits? 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 બહાર spits છે. 89 00:04:15,417 --> 00:04:17,500 અમે છો જ્યાં વેલ કે છે જ્હોન મૂકેલ જઈ રહી છે. 90 00:04:17,500 --> 00:04:22,050 અમે એરે સ્થાન જ્હોન મૂકેલ 4, અમે again-- જ્હોન હેશ કારણ કે જો 91 00:04:22,050 --> 00:04:23,810 પાછળથી અમે કહી દો શોધ અને જોવા માંગો છો 92 00:04:23,810 --> 00:04:26,960 જ્હોન આ હેશ અસ્તિત્વમાં હોય તો અમે શું કરવાની જરૂર બધા table-- 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 પેદા થાય છે કે હૅશકોડ 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 અને માહિતી તમામ hashed આવી રહી છે. 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 હેશ વિધેય માં અમે હંમેશા એ જ હૅશકોડ નીકળી જાય છે. 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 દરેક વખતે જ્યારે તમે મારફતે માહિતી ચલાવો, તો હેશ વિધેય તમે હૅશકોડ 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 [J] બરાબર નથી કારણ કે 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 [J] ઉમેરીને પછી ટૂંકમાં, અને દિવસ ઓવરને અંતે રકમ ફેરફારની પાછા જઈ 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 કેટલાક હૅશકોડ પરત 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 પરંતુ તમે ખરેખર કરવા જઇ રહ્યા છે ત્યારે માહિતી હેશીંગ અને સ્ટોર શરૂ 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 તેથી હંમેશા sure-- હોઈ અને માત્ર હેશ માટે 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 હેશ વિધેય મારફતે માહિતી રીંગો પણ હૅશકોડ 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 કાર્ય એ જ હૅશકોડ પેદા. 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 >> અમે જોકે તેને કેવી રીતે કરવું, તે તો અને પૌલ બંને ઉપજ હૅશકોડ 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, અથવા ગમે હૅશકોડ પેદા કરવામાં આવી હતી, 208 00:10:08,580 --> 00:10:10,820 માતાનો હૅશકોડ વત્તા 1 તેને મૂકી દો. 209 00:10:10,820 --> 00:10:13,670 અને તે સંપૂર્ણ ચાલો તો હૅશકોડ વત્તા 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 એ નજીક છે, તેથી કદાચ કે કામ કરીશું. 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 અને અમે હેશ દ્વારા બાર્ટ ચલાવવા કાર્ય, અમે હૅશકોડ 6 છે. 221 00:10:48,460 --> 00:10:52,100 અમે એક નજર, અમે 6 જુઓ ખાલી છે, તેથી અમે ત્યાં બાર્ટ મૂકી શકો છો. 222 00:10:52,100 --> 00:10:55,410 >> હવે અમે લિસા અને કે હેશ પણ હૅશકોડ 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 >> તેથી તે વિચાર કરવા માટે પૂરું પાડે છે આ પ્રકારની કંઈક chaining કહેવાય છે. 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 વખત ઝડપી ચલાવવા માટે, અથવા 1,000 વખત ઝડપી, 300 00:14:36,610 --> 00:14:41,570 અમે લાંબા એક વિતરણ કરી રહ્યાં છો કારણ કે 1000 નાના સાંકળો સમગ્ર સાંકળ. 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 >> જે સરેરાશ છે 1,000 વખત ટૂંકા હોય છે. 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 અમે જોય હેશ ત્યારે અમે હૅશકોડ 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, null પોઇન્ટ બદલે, 351 00:17:14,900 --> 00:17:18,579 એક કડી થયેલ વડા નિર્દેશ જેની માત્ર નોડ યાદી રોસ છે. 352 00:17:18,579 --> 00:17:22,660 અને અમે, અમે આ વધુ એક વખત કરી શકો છો રશેલ હેશ અને હૅશકોડ 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 અમે અથડામણમાં કેવી રીતે હેન્ડલ જોવા દો અલગ chaining પદ્ધતિનો ઉપયોગ કરીને. 358 00:17:38,560 --> 00:17:39,800 માતાનો ફોબિ હેશ દો. 359 00:17:39,800 --> 00:17:41,094 અમે હૅશકોડ 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 >> અમે clobber કરવા માંગો છો નથી જોય, અને અમે પહેલાથી જ કર્યું છે 363 00:17:48,444 --> 00:17:51,110 અમે કેટલાક ક્લસ્ટરીંગ મેળવી શકો છો કે જે જોઈ સમસ્યાઓ અમે પ્રયાસ અને જો પગલું 364 00:17:51,110 --> 00:17:52,202 દ્વારા અને ચકાસણી. 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 હવે અમે બે સ્ટોર કરી શકો છો હૅશકોડ 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