1 00:00:00,000 --> 00:00:03,423 >> [સંગીત વગાડવાનો] 2 00:00:03,423 --> 00:00:05,380 3 00:00:05,380 --> 00:00:08,210 >> ANDI પેન્ગ: વિભાગ અઠવાડિયું 6 માટે આપનું સ્વાગત છે. 4 00:00:08,210 --> 00:00:11,620 અમે અમારા સ્ટાન્ડર્ડ માંથી deviated મંગળવારે કલમ સમય 5 00:00:11,620 --> 00:00:14,130 આ મનોરમ રવિવારે સવારે બપોરે. 6 00:00:14,130 --> 00:00:17,330 દરેક માટે આભાર કે આજે, પરંતુ ગંભીરતાપૂર્વક મને જોડાયા 7 00:00:17,330 --> 00:00:18,170 વધાવી એક રાઉન્ડ. 8 00:00:18,170 --> 00:00:20,600 >> તે એક સુંદર મોટી પ્રયાસ છે. 9 00:00:20,600 --> 00:00:23,600 હું લગભગ પણ તે કરી નથી, સમય છે, પરંતુ તે ઠીક હતું. 10 00:00:23,600 --> 00:00:27,520 તેથી હું તમને કે બધા જાણે છે માત્ર ક્વિઝ કર્યો છે. 11 00:00:27,520 --> 00:00:30,370 સૌ પ્રથમ માટે આપનું સ્વાગત છે કે ના ફ્લિપ બાજુ. 12 00:00:30,370 --> 00:00:32,917 >> બીજું, અમે તે વિશે વાત કરીશું. 13 00:00:32,917 --> 00:00:34,000 અમે ક્વિઝ વિશે વાત કરીશું. 14 00:00:34,000 --> 00:00:35,700 અમે કેવી રીતે વિશે વાત કરીશું તમે વર્ગ માં કરી રહ્યાં છો. 15 00:00:35,700 --> 00:00:36,550 તમે દંડ થશે. 16 00:00:36,550 --> 00:00:39,080 હું તમારી ક્વેસ્ચન માટે હોય છે અહીં ઓવરને અંતે તમે, 17 00:00:39,080 --> 00:00:42,120 તેથી જો તમે ગાય્સ લેવા માંગતા હોય તો એક, તે સંપૂર્ણપણે દંડ જુઓ. 18 00:00:42,120 --> 00:00:46,590 >> તેથી ઝડપથી અમે શરૂ કરો તે પહેલાં નીચે પ્રમાણે આજે માટે કાર્યસૂચિ છે. 19 00:00:46,590 --> 00:00:48,430 જેમ તમે જોઈ શકો, અમે છો મૂળભૂત ઝડપી ગોળીબાર 20 00:00:48,430 --> 00:00:52,120 માહિતી માળખાં એક સમગ્ર ટોળું દ્વારા ખરેખર, ખરેખર, ખરેખર ઝડપથી. 21 00:00:52,120 --> 00:00:54,380 જેમ કે, તે હશે નહિં સુપર અરસપરસ આજે. 22 00:00:54,380 --> 00:00:59,620 તે માત્ર મને પ્રકારની રાડારાડ હશો વસ્તુઓ છે કે જે તમે અને હું તમને સ્વાંગ તો, 23 00:00:59,620 --> 00:01:02,680 હું ખૂબ ઝડપથી જઈ રહ્યો છું, તો મને જણાવો. 24 00:01:02,680 --> 00:01:05,200 તેઓ માત્ર વિવિધ માહિતી છો માળખાં અને ભાગ તરીકે 25 00:01:05,200 --> 00:01:07,070 આ માટે તમારા pset ના આગામી અઠવાડિયે, તમે પડશે 26 00:01:07,070 --> 00:01:10,340 તેમને એક અમલ કરવા માટે કહેવામાં આવશે, કદાચ બે તેમને them-- બે 27 00:01:10,340 --> 00:01:12,319 તમારા pset છે. 28 00:01:12,319 --> 00:01:14,610 ઠીક છે, તેથી હું માત્ર જાઉં છું કેટલાક જાહેરાત સાથે શરૂ કરો. 29 00:01:14,610 --> 00:01:19,070 અમે રન ટાઇમ સ્ટેકનું અને વધુ ક્યુને પર જાઓ પડશે અમે ક્વિઝ પહેલાં શું કરતાં ઊંડાઈ. 30 00:01:19,070 --> 00:01:20,990 અમે પર જાઓ કડી પડશે ફરીથી, ફરી એક વાર યાદી 31 00:01:20,990 --> 00:01:23,899 કરતાં વધુ ગહન શું અમે ક્વિઝ પહેલાં હતી. 32 00:01:23,899 --> 00:01:26,440 અને પછી અમે હેશ વિશે વાત કરીશું કોષ્ટકો, વૃક્ષો અને પ્રયત્નોમાં, જે 33 00:01:26,440 --> 00:01:28,890 બધા તમારા pset માટે ખૂબ જરૂરી છે. 34 00:01:28,890 --> 00:01:32,925 અને પછી અમે કેટલીક પર જાઓ પડશે Pset5 માટે ઉપયોગી ટિપ્સ. 35 00:01:32,925 --> 00:01:37,360 >> ઠીક છે, તેથી 0 ક્વિઝ. 36 00:01:37,360 --> 00:01:41,090 સરેરાશ 58% હતી. 37 00:01:41,090 --> 00:01:45,370 તે ખૂબ જ ઓછી હતી, અને તેથી તમે ગાય્સ તમામ અનુસાર ખૂબ, ખૂબ સારી કામગીરી બજાવી હતી 38 00:01:45,370 --> 00:01:46,510 તે સાથે. 39 00:01:46,510 --> 00:01:49,970 >> તમે છો, તો ખૂબ ખૂબ, અંગૂઠો શાસન છે સરેરાશ એક પ્રમાણભૂત વિચલન અંદર 40 00:01:49,970 --> 00:01:52,990 અમે ઓછી છો, ખાસ કરીને કારણ કે આરામપ્રદ વિભાગમાં, તમે સંપૂર્ણપણે દંડ છો. 41 00:01:52,990 --> 00:01:54,120 તમે ટ્રેક પર છો. 42 00:01:54,120 --> 00:01:55,190 જીવન સારું છે. 43 00:01:55,190 --> 00:01:58,952 >> હું તેને લાગે છે કે ડરામણી ખબર હું આ ક્વિઝ પર 40% જેવા થઈ જાય છે. 44 00:01:58,952 --> 00:02:00,160 હું આ વર્ગ નિષ્ફળ જાઉં છું. 45 00:02:00,160 --> 00:02:02,243 હું તમને વચન, તમે નથી વર્ગ નિષ્ફળ જઈ રહી છે. 46 00:02:02,243 --> 00:02:03,680 તમે તદ્દન દંડ છો. 47 00:02:03,680 --> 00:02:06,850 >> પર મળી જે તમે તે માટે સરેરાશ, પ્રભાવશાળી, પ્રભાવશાળી, 48 00:02:06,850 --> 00:02:08,780 જેવા ગંભીર સારી રીતે થાય. 49 00:02:08,780 --> 00:02:09,689 હું મારી સાથે તેમને હોય છે. 50 00:02:09,689 --> 00:02:11,730 તેમને વિચાર આવે છે માટે મફત લાગે વિભાગ ઓવરને મુ. 51 00:02:11,730 --> 00:02:14,520 જો તમે કોઇ હોય તો મને જણાવો મુદ્દાઓ, તેમની સાથે પ્રશ્નો. 52 00:02:14,520 --> 00:02:17,204 અમે તમારા સ્કોર ઉમેરો તો ખોટું, અમને જણાવો. 53 00:02:17,204 --> 00:02:21,240 >> ઠીક છે, Pset5 તેથી, આ એક ખરેખર છે અર્થમાં યેલ માટે વિચિત્ર સપ્તાહ 54 00:02:21,240 --> 00:02:24,240 અમારા pset કારણે છે કે જે સહિત બપોર ખાતે બુધવારે 55 00:02:24,240 --> 00:02:27,317 અંતમાં દિવસ છે, તેથી તે ખરેખર છે બપોર એ મંગળવારે સૈદ્ધાંતિક કારણે. 56 00:02:27,317 --> 00:02:29,150 કદાચ કોઈ એક સમાપ્ત બપોર એ મંગળવારે છે. 57 00:02:29,150 --> 00:02:30,830 તે તદ્દન દંડ છે. 58 00:02:30,830 --> 00:02:33,700 અમે ઓફિસ કલાક હોય છે જઈ રહ્યાં છો આજની રાત કે સાંજ તેમજ સોમવારે રાત્રે. 59 00:02:33,700 --> 00:02:36,810 અને વિભાગો તમામ આ અઠવાડિયે કરશે ખરેખર વર્કશોપ ફેરવી શકાય, 60 00:02:36,810 --> 00:02:38,800 તેથી પૉપ મફત લાગે તમે ઇચ્છો તે કોઇપણ વિભાગ 61 00:02:38,800 --> 00:02:42,810 અને તેઓ પ્રકારની મીની-pset પ્રયત્ન કરીશું કે મદદ માટે વર્કશોપ. 62 00:02:42,810 --> 00:02:45,620 તેથી, જેમ કે આ માત્ર વિભાગ છે જ્યાં અમે સામગ્રી શિક્ષણ રહ્યાં છો. 63 00:02:45,620 --> 00:02:49,220 બીજા બધા વિભાગો ધ્યાન કેન્દ્રિત કરવામાં આવશે સંપૂર્ણપણે આ pset માટે મદદ કરે છે. 64 00:02:49,220 --> 00:02:50,146 અરે વાહ? 65 00:02:50,146 --> 00:02:52,000 >> પ્રેક્ષક: ક્યાંથી ઓફિસ કલાક હોય છે? 66 00:02:52,000 --> 00:02:56,120 >> ANDI પેન્ગ: ઓફિસ કલાકો ઓહ, સારો પ્રશ્ન tonight--. 67 00:02:56,120 --> 00:03:00,580 મને લાગે છે કે ઓફિસ કલાકો આજની રાત કે સાંજ ટીલ અથવા કોમન્સ હોય છે. 68 00:03:00,580 --> 00:03:02,984 તમે ઑનલાઇન CS50 તપાસ તો અને તમે, ઓફિસ કલાકો પર જાઓ 69 00:03:02,984 --> 00:03:05,650 એક શેડ્યૂલ ત્યાં પ્રયત્ન કરીશું કે તેમને બધા છે જ્યાં તમે કહે છે. 70 00:03:05,650 --> 00:03:07,954 >> હું આજની રાત કે સાંજ ક્યાં ખબર અથવા કાલે ટીલ છે 71 00:03:07,954 --> 00:03:10,120 અને હું અમે હોઈ શકે છે લાગે છે અન્ય રાત કોમન્સ. 72 00:03:10,120 --> 00:03:11,020 મને ખાતરી નથી. 73 00:03:11,020 --> 00:03:11,700 સારા પ્રશ્ન. 74 00:03:11,700 --> 00:03:14,430 CS50 પર તપાસો. 75 00:03:14,430 --> 00:03:18,780 >> આ અંગે સરસ, કોઇ પ્રશ્નો ત્રણ દિવસ જેમ આગામી માટે સુનિશ્ચિત? 76 00:03:18,780 --> 00:03:21,690 હું ડેવિડ જેમ તમે ગાય્સ વચન આ ટેકરી ની ટોચ છે, જણાવ્યું હતું. 77 00:03:21,690 --> 00:03:23,050 તમે ગાય્ઝ લગભગ ત્યાં છે. 78 00:03:23,050 --> 00:03:24,644 જસ્ટ વધુ ત્રણ દિવસ. 79 00:03:24,644 --> 00:03:26,310 ત્યાં વિચાર, અને પછી અમે બધા નીચે આવવું પડશે. 80 00:03:26,310 --> 00:03:28,114 અમે એક સરસ સીએસ મફત તોડી પડશે. 81 00:03:28,114 --> 00:03:28,780 અમે પાછા આવો પડશે. 82 00:03:28,780 --> 00:03:30,779 અમે વેબ ડાઇવ પડશે પ્રોગ્રામિંગ અને વિકાસ, 83 00:03:30,779 --> 00:03:35,150 ખૂબ જ મજા વસ્તુઓ છે કે જે સરખામણીમાં અન્ય psets કેટલાક. 84 00:03:35,150 --> 00:03:37,974 અને તે ઠંડી છે, અને પડશે અમે આનંદ ઘણાં બધાં પડશે. 85 00:03:37,974 --> 00:03:38,890 અમે વધુ કેન્ડી પડશે. 86 00:03:38,890 --> 00:03:39,730 કેન્ડી માટે માફ કરશો. 87 00:03:39,730 --> 00:03:40,945 હું કેન્ડી ભૂલી ગયા છો. 88 00:03:40,945 --> 00:03:43,310 તે એક રફ સવારે હતું. 89 00:03:43,310 --> 00:03:46,340 તેથી જો તમે ગાય્સ, લગભગ ત્યાં છે અને હું તમને ગાય્ઝ ખરેખર ગર્વ અનુભવું છું. 90 00:03:46,340 --> 00:03:49,570 >> ઠીક છે, તેથી ટાઇમ સ્ટેકનું. 91 00:03:49,570 --> 00:03:53,331 જે જેક વિશે પ્રશ્ન પ્રેમ અને ક્વિઝ પર પોતાના કપડાં? 92 00:03:53,331 --> 00:03:53,830 કોઈ એક? 93 00:03:53,830 --> 00:03:56,500 ઠીક છે, કે દંડ છે. 94 00:03:56,500 --> 00:04:00,200 >> તેથી અનિવાર્યપણે તમે કરી શકો છો તરીકે ચિત્ર જેક, અહીં આ વ્યક્તિ, 95 00:04:00,200 --> 00:04:03,350 કપડાં લેવા પ્રેમ કરે છે સ્ટેક ટોચ બહાર 96 00:04:03,350 --> 00:04:05,750 અને તે પર તે પાછા મૂકે તેમણે પછી સ્ટેક થાય છે. 97 00:04:05,750 --> 00:04:07,600 આ રીતે તેથી, તેમણે ક્યારેય મેળવવામાં કરી રહ્યું છે 98 00:04:07,600 --> 00:04:10,090 આ નીચે તેમના કપડાં ગંજી. 99 00:04:10,090 --> 00:04:12,600 તેથી આ પ્રકારની વર્ણવે છે મૂળભૂત માહિતી બંધારણ 100 00:04:12,600 --> 00:04:16,610 સ્ટેક અમલીકરણ કેવી રીતે થાય છે. 101 00:04:16,610 --> 00:04:20,060 >> આવશ્યકપણે, એક વિચાર વસ્તુઓ કોઇ સ્ટેક તરીકે સ્ટેક 102 00:04:20,060 --> 00:04:24,900 તમે ટોચ પર વસ્તુઓ મૂકી, અને જ્યાં પછી તમે ટોચ પરથી તેમને બહાર પૉપ. 103 00:04:24,900 --> 00:04:28,600 તેથી LIFO અમે ગમે મીતાક્ષર છે છેલ્લા, પ્રથમ બહાર use-- છે. 104 00:04:28,600 --> 00:04:32,480 અને તેથી ટોચ પર રહે સ્ટેક બહાર આવે છે કે પ્રથમ એક છે. 105 00:04:32,480 --> 00:04:34,260 અને તેથી આ બે શબ્દો અમે સાંકળવા માટે ગમે 106 00:04:34,260 --> 00:04:36,190 તે સાથે દબાણ અને પોપ કહેવામાં આવે છે. 107 00:04:36,190 --> 00:04:39,790 ત્યારે તમે પર કંઈક દબાણ ગંજી, અને તમે બેક અપ પૉપ. 108 00:04:39,790 --> 00:04:43,422 >> અને તેથી હું આ એક પ્રકારની છે ધારી તમે તે માટે અમૂર્ત ખ્યાલ 109 00:04:43,422 --> 00:04:45,630 જે જેવા જોવા માંગો છો આ વાસ્તવિક અમલીકરણ 110 00:04:45,630 --> 00:04:46,740 વાસ્તવિક દુનિયામાં. 111 00:04:46,740 --> 00:04:50,170 તમે કેવી રીતે ઘણા નિબંધ લખ્યો છે કદાચ એક કલાક જેવી તે કારણે હતો પહેલાં 112 00:04:50,170 --> 00:04:54,510 અને તમે આકસ્મિક એક વિશાળ કાઢી આકસ્મિક જેમ તે Chunk? 113 00:04:54,510 --> 00:04:58,560 અને પછી શું કરવું નિયંત્રણ અમે તેને પાછા મૂકવા ઉપયોગ કરો છો? 114 00:04:58,560 --> 00:05:00,030 નિયંત્રણ-Z, યાહ? 115 00:05:00,030 --> 00:05:03,640 નિયંત્રણ-Z, તેથી ગુણ્યા જથ્થો નિયંત્રણ-ઝેડ મારા જીવન સાચવવામાં આવી છે કે, 116 00:05:03,640 --> 00:05:08,820 દર વખતે મારા મૂર્ખ સાચવવામાં આવી છે કે સ્ટેક મારફતે અમલમાં છે. 117 00:05:08,820 --> 00:05:13,020 >> જરૂરી બધી માહિતી કે, તમારા વર્ડ દસ્તાવેજ પર 118 00:05:13,020 --> 00:05:15,080 તે દબાણ અને ઇચ્છા પર પોપ નહીં. 119 00:05:15,080 --> 00:05:19,460 અને તેથી અનિવાર્યપણે જ્યારે તમે કંઈપણ કાઢી, તમે તે પાછા પૉપ. 120 00:05:19,460 --> 00:05:22,820 અને પછી તમે પર પાછા જરૂર છે, તો તમે નિયંત્રણ સી શું કરે છે, કે જે તેને દબાણ કરો. 121 00:05:22,820 --> 00:05:26,770 અને તેથી વાસ્તવિક વિશ્વમાં કાર્ય કેવી રીતે સરળ માહિતી માળખું 122 00:05:26,770 --> 00:05:28,690 તમારા રોજિંદા જીવન સાથે મદદ કરી શકે છે. 123 00:05:28,690 --> 00:05:31,710 124 00:05:31,710 --> 00:05:40,150 >> તેથી એક સ્ટ્રક્ટ માર્ગ છે કે અમે ખરેખર એક સ્ટેક બનાવો. 125 00:05:40,150 --> 00:05:44,720 અમે પછી સ્ટ્રક્ટ વ્યાખ્યાયિત લખો અને અમે તેને તળિયે સ્ટેક કૉલ કરો. 126 00:05:44,720 --> 00:05:47,440 અને સ્ટેક અંદર, અમે બે પરિમાણો છે 127 00:05:47,440 --> 00:05:51,580 અમે અનિવાર્યપણે ચાલાકી કરી શકો છો કે તેથી અમે ઘરનાં પરચૂરણ કામો સ્ટાર શબ્દમાળાઓ ક્ષમતા છે. 128 00:05:51,580 --> 00:05:55,150 >> તે કરી છે કે બધા ઝાકઝમાળ રહ્યા છે 129 00:05:55,150 --> 00:05:58,835 અમે ગમે તમે ઇચ્છો સ્ટોર કરી શકો છો કે જે અમે તેની ક્ષમતા નક્કી કરે છે. 130 00:05:58,835 --> 00:06:01,990 ક્ષમતા માત્ર મેક્સ જથ્થો છે વસ્તુઓ અમે આ એરે માં મૂકી શકો છો. 131 00:06:01,990 --> 00:06:05,660 પૂર્ણાંક માપ રાખે છે કે કાઉન્ટર છે ઘણી વસ્તુઓ કેવી રીતે ટ્રેક હાલમાં છે 132 00:06:05,660 --> 00:06:07,850 સ્ટેક માં. 133 00:06:07,850 --> 00:06:11,860 તેથી તો અમે, એ, ટ્રૅક રાખી શકો છો બંને વાસ્તવિક સ્ટેક કેવી રીતે મોટા, 134 00:06:11,860 --> 00:06:14,850 અને, બી, કેવી રીતે સ્ટેક ખૂબ અમે માંગતા નથી, કારણ કે અમે ભરવામાં 135 00:06:14,850 --> 00:06:18,800 અમારી ક્ષમતા શું છે ઉપર ઓવરફ્લો. 136 00:06:18,800 --> 00:06:24,340 >> ઉદાહરણ તરીકે, આ અતિસુંદર તેથી પ્રશ્ન તમારા ક્વિઝ પર હતી. 137 00:06:24,340 --> 00:06:28,160 આવશ્યકપણે, આપણે કેવી રીતે દબાણ કરવા સ્ટેક ટોચ પર. 138 00:06:28,160 --> 00:06:28,830 સુંદર સરળ. 139 00:06:28,830 --> 00:06:30,621 તમે તેને જોવા, અમે આ દ્વારા લઈ જશું. 140 00:06:30,621 --> 00:06:32,640 [અશ્રાવ્ય] ચોક્કસ માપ તો જ્યારે તમે યાદ રાખો કે, 141 00:06:32,640 --> 00:06:35,300 કોઈપણ ઍક્સેસ કરવા માંગો છો એક સ્ટ્રક્ટ અંદર પરિમાણ, 142 00:06:35,300 --> 00:06:40,320 તમે struct.parameter નામ નથી. 143 00:06:40,320 --> 00:06:42,720 >> આ કિસ્સામાં, એસ છે અમારા સ્ટેક નામ. 144 00:06:42,720 --> 00:06:46,230 અમે કદ ઍક્સેસ કરવા માંગો છો તે, તેથી અમે s.size નથી. 145 00:06:46,230 --> 00:06:50,280 માપ નથી છે જેથી લાંબા સમય સુધી ક્ષમતા અથવા લાંબા સમય સુધી સમાન 146 00:06:50,280 --> 00:06:52,940 તે ક્ષમતા કરતાં ઓછી છે, કારણ કે ક્યાં અહીં કામ કરશે. 147 00:06:52,940 --> 00:06:57,180 >> તમે અંદર ઍક્સેસ કરવા માંગો છો તમારા સ્ટેક, s.strings, જેથી 148 00:06:57,180 --> 00:07:00,790 અને તમે તે નવી નંબર મૂકી રહ્યા છીએ તમે ત્યાં દાખલ કરવા માંગો છો છે. 149 00:07:00,790 --> 00:07:05,030 ચાલો આપણે કરવા માંગો છો કરશે કહે છે સ્ટેક પર પૂર્ણાંક n દાખલ કરો, 150 00:07:05,030 --> 00:07:08,905 અમે s.strings કરી શકે કૌંસ, s.size n સમકક્ષ હોય છે. 151 00:07:08,905 --> 00:07:11,030 કદ જ્યાં છે, કારણ કે અમે હાલમાં સ્ટેક છે 152 00:07:11,030 --> 00:07:14,590 અમે દબાણ જઈ રહ્યાં છો તો તે પર, અમે ફક્ત ઍક્સેસ 153 00:07:14,590 --> 00:07:17,370 માપ છે ત્યાં, આ સ્ટેક વર્તમાન પૂર્ણતાનો, 154 00:07:17,370 --> 00:07:21,729 અને અમે તે પર પૂર્ણાંક n દબાણ. 155 00:07:21,729 --> 00:07:24,770 અને પછી અમે તે ખાતરી કરવા માંગો છો અમે પણ એ કદ incrementing કરી રહ્યાં છો 156 00:07:24,770 --> 00:07:27,436 અમે કર્યું છે કે જેથી અમે ટ્રૅક રાખી શકો છો સ્ટેક કરવા માટે વધારાની વસ્તુ ઉમેર્યું. 157 00:07:27,436 --> 00:07:29,660 હવે અમે એક મોટી કદ ધરાવે છે. 158 00:07:29,660 --> 00:07:33,196 આ અહીં અર્થમાં બનાવવા નથી બધાને કેવી રીતે તાર્કિક તે કામ કરે છે? 159 00:07:33,196 --> 00:07:34,160 તે પ્રકારની ઝડપી હતી. 160 00:07:34,160 --> 00:07:39,535 161 00:07:39,535 --> 00:07:42,160 પ્રેક્ષક: તમે પર જઈ શકો છો આ s.stringss.strings [s.size] ફરી? 162 00:07:42,160 --> 00:07:45,808 ANDI પેન્ગ: ખાતરી કરો કે, તેથી શું કરે છે અમને આપો હાલમાં s.size? 163 00:07:45,808 --> 00:07:47,440 પ્રેક્ષક: તે વર્તમાન માપ છે. 164 00:07:47,440 --> 00:07:50,890 ANDI પેન્ગ: ચોક્કસ, જેથી અમારા કદ પર છે કે વર્તમાન ઇન્ડેક્સ, 165 00:07:50,890 --> 00:07:57,780 અને તેથી અમે નવા પૂર્ણાંક મૂકેલ અમે s.size દાખલ કરવા માંગો છો છે. 166 00:07:57,780 --> 00:07:58,760 કે અર્થમાં છે? 167 00:07:58,760 --> 00:08:01,110 S.strings કારણ કે બધા છે એરે નામ છે. 168 00:08:01,110 --> 00:08:03,510 તે બધા ઍક્સેસ છે અમારા સ્ટ્રક્ટ અંદર એરે, 169 00:08:03,510 --> 00:08:06,030 અને તેથી અમે કરવા માંગો છો, તો કે ઇન્ડેક્સમાં n મૂકો, 170 00:08:06,030 --> 00:08:09,651 અમે હમણાં જ તે ઍક્સેસ કરી શકો છો ઉપયોગ કૌંસ s.size. 171 00:08:09,651 --> 00:08:10,150 કૂલ. 172 00:08:10,150 --> 00:08:13,580 173 00:08:13,580 --> 00:08:18,916 >> બધા હક છે, પૉપ, હું તેને બહાર સ્યુડોકોડનો તમે ગાય્સ, પરંતુ સમાન વિભાવના છે. 174 00:08:18,916 --> 00:08:19,790 કે અર્થમાં છે? 175 00:08:19,790 --> 00:08:22,310 કદ વધારે હોય છે પછી શૂન્ય કરતાં તમે 176 00:08:22,310 --> 00:08:25,350 તમે કંઈક લેવા માંગો છો ખબર છે કે બહાર માપ નથી, કારણ કે જો 177 00:08:25,350 --> 00:08:27,620 શૂન્ય કરતાં વધારે હોય, તો પછી તમે સ્ટેક માં કશું જ નથી. 178 00:08:27,620 --> 00:08:29,840 >> તેથી જો તમે માત્ર ચલાવવા માંગો છો આ કોડ છે, તે કરી શકો છો 179 00:08:29,840 --> 00:08:32,320 પૉપ કંઈક હોય તો પૉપ. 180 00:08:32,320 --> 00:08:35,830 કદ વધારે હોય છે તેથી 0 કરતાં, અમે ઓછા માપ. 181 00:08:35,830 --> 00:08:40,020 અમે કદ હ્રાસ અને પછી પાછા કારણ કે તે અંદર ગમે છે 182 00:08:40,020 --> 00:08:42,710 પોપિંગ, અમે કરવા માંગો છો સંગ્રહિત થાય છે ગમે વપરાશ 183 00:08:42,710 --> 00:08:45,694 સ્ટેક ટોચ ઇન્ડેક્સ ઓફ. 184 00:08:45,694 --> 00:08:46,610 બધું અર્થમાં બનાવવા? 185 00:08:46,610 --> 00:08:49,693 હું બનાવેલ હોય તો તમે ગાય્ઝ આ લખી તમે ગાય્ઝ તે બહાર લખવા માટે સમર્થ હશે? 186 00:08:49,693 --> 00:08:52,029 187 00:08:52,029 --> 00:08:53,570 ઠીક છે, તમે ગાય્સ તે સાથે આસપાસ રમી શકે છે. 188 00:08:53,570 --> 00:08:55,252 કોઈ ચિંતાઓ તમે તેને વિચાર ન હોય તો. 189 00:08:55,252 --> 00:08:57,460 અમે કોડ માટે સમય નથી તે બહાર આજે આપણે કર્યું કારણ કે 190 00:08:57,460 --> 00:08:59,959 આ માળખાં ઘણો મળી મારફતે જાઓ, પરંતુ આવશ્યક માટે 191 00:08:59,959 --> 00:09:02,214 સ્યુડોકોડનો, ખૂબ, ખૂબ સમાન દબાણ. 192 00:09:02,214 --> 00:09:03,380 જસ્ટ તર્ક સાથે અનુસરો. 193 00:09:03,380 --> 00:09:06,092 તમે બધા ઍક્સેસ કરો છો તેની ખાતરી કરો યોગ્ય રીતે તમારા સ્ટ્રક્ટ ના લક્ષણો. 194 00:09:06,092 --> 00:09:06,574 અરે વાહ? 195 00:09:06,574 --> 00:09:09,282 >> પ્રેક્ષક: કરશે આ સ્લાઇડ્સ અને આ સમગ્ર બાબત ઉપર આજે જેવું હોય છે? 196 00:09:09,282 --> 00:09:11,586 ANDI પેન્ગ: હંમેશા હા. 197 00:09:11,586 --> 00:09:13,710 હું મૂકવા પ્રયાસ કરવા જઈ રહ્યો છું આ અપ પછી એક કલાક જેવી. 198 00:09:13,710 --> 00:09:16,626 હું ડેવિડ ઇમેઇલ કરીશું, ડેવિડ કરવા માટે પ્રયત્ન કરશે આ પછી એક કલાક જેવી તે મૂકવામાં. 199 00:09:16,626 --> 00:09:20,040 200 00:09:20,040 --> 00:09:25,470 >> ઠીક છે, તેથી તે પછી અમે આ અન્ય ખસે કોઈ માહિતી માળખું એક કતાર કહેવાય છે. 201 00:09:25,470 --> 00:09:30,140 તમે ગાય્સ અહીં જોઈ શકો છો, એક કતાર, અમને વચ્ચે આ બ્રિટિશ માટે, 202 00:09:30,140 --> 00:09:32,010 તે બધા એક વાક્ય છે. 203 00:09:32,010 --> 00:09:34,680 તેથી વિપરીત શું તમે એક સ્ટેક લાગે છે 204 00:09:34,680 --> 00:09:37,750 એક કતાર બરાબર શું છે તાર્કિક તમે તેને લાગે છે. 205 00:09:37,750 --> 00:09:41,914 તે FIFO નિયમો દ્વારા યોજાય છે જે પ્રથમ, પ્રથમ બહાર છે. 206 00:09:41,914 --> 00:09:43,705 જો તમે પ્રથમ છો, તો લીટી માં એક, તમે છો 207 00:09:43,705 --> 00:09:46,230 પ્રથમ એક કે વાક્ય બહાર આવે છે. 208 00:09:46,230 --> 00:09:49,680 >> તેથી અમે આ શું કહી જેવા dequeueing અને enqueueing છે. 209 00:09:49,680 --> 00:09:52,380 અમે કંઈક ઍડ કરવા માંગો છો અમારા કતાર કરવા માટે, અમે એન્ક્યૂ. 210 00:09:52,380 --> 00:09:55,690 અમે માંગો છો, તો dequeue, અથવા લેવા કંઈક દૂર, અમે dequeue. 211 00:09:55,690 --> 00:10:03,350 >> અમે પ્રકારની છો કે જેથી તે જ અર્થમાં નિશ્ચિત કદના તત્વો બનાવવા કે અમે 212 00:10:03,350 --> 00:10:06,500 ચોક્કસ સ્ટોર કરી શકો છો વસ્તુઓ છે, પરંતુ અમે પણ કરી શકો છો 213 00:10:06,500 --> 00:10:10,100 અમે મૂકીને કરી રહ્યાં છો જ્યાં બદલો તેમને અંદર પરિમાણો 214 00:10:10,100 --> 00:10:13,140 શું પ્રકાર ઉપર આધારિત વિધેય અમે માંગો છો. 215 00:10:13,140 --> 00:10:16,700 રન ટાઇમ સ્ટેકનું તેથી, અમે છેલ્લા ઇચ્છતા એક, એ પ્રથમ એક બહાર હોય છે. 216 00:10:16,700 --> 00:10:19,800 કતાર અમે પ્રથમ વસ્તુ કરવા માંગો છો છે બહાર પ્રથમ વસ્તુ હોય છે. 217 00:10:19,800 --> 00:10:22,510 218 00:10:22,510 --> 00:10:26,710 >> સ્ટ્રક્ટ પ્રકાર તેથી તમે જોઈ શકો છો, વ્યાખ્યાયિત, 219 00:10:26,710 --> 00:10:29,470 તે થોડો અલગ છે સ્ટેક હતી શું 220 00:10:29,470 --> 00:10:33,120 માત્ર અમે રાખવા માટે હોય છે નથી કારણ કે કદ અત્યારે છે જ્યાં ટ્રેક, 221 00:10:33,120 --> 00:10:37,420 અમે પણ વડા ટ્રૅક રાખવા માંગો છો તેમજ જ્યાં અમે હાલમાં છે. 222 00:10:37,420 --> 00:10:39,580 તેથી હું તેને સરળ છે લાગે છે હું આ ડ્રો તો. 223 00:10:39,580 --> 00:10:53,270 તેથી ચાલો આપણે એક કતાર મળી છે કલ્પના દો, તેથી આ વડા અહીં છે કહે છે. 224 00:10:53,270 --> 00:10:55,811 225 00:10:55,811 --> 00:10:58,310 વાક્ય વડા, ચાલો માત્ર કે ત્યાં હાલમાં છે કહે છે 226 00:10:58,310 --> 00:11:01,809 અને અમે સામેલ કરવા માંગો છો કતાર માં કંઈક. 227 00:11:01,809 --> 00:11:04,350 હું અનિવાર્યપણે કદ કૉલ જાઉં છું પૂંછડી તરીકે જ વસ્તુ છે, 228 00:11:04,350 --> 00:11:06,314 તમારી કતારમાં છે ત્યાં ઓવરને. 229 00:11:06,314 --> 00:11:07,730 આપણે માત્ર કદ અહીં છે કહે છે. 230 00:11:07,730 --> 00:11:14,380 231 00:11:14,380 --> 00:11:18,400 >> તેથી કેવી રીતે એક feasibly કરે એક કતાર માં કંઈક દાખલ? 232 00:11:18,400 --> 00:11:21,000 233 00:11:21,000 --> 00:11:24,130 શું ઈન્ડેક્સ અમે જગ્યાએ કરવા માંગો છો જ્યાં અમે દાખલ કરવા માંગો છો. 234 00:11:24,130 --> 00:11:29,320 આ શરૂઆત છે, તો તમારા કતાર અને આ તે અંત છે 235 00:11:29,320 --> 00:11:31,860 અથવા તે માપ, જ્યાં અમે કરી આગામી પદાર્થ ઉમેરવા માંગો છો? 236 00:11:31,860 --> 00:11:32,920 >> AUDIENCE: [અશ્રાવ્ય] 237 00:11:32,920 --> 00:11:35,920 ANDI પેન્ગ: ચોક્કસ, તમે ઍડ કરવા માંગો છો તેના પર આધાર રાખીને તમે તેને લખ્યું છે. 238 00:11:35,920 --> 00:11:37,840 ક્યાં આ ખાલી છે કે ખાલી છે. 239 00:11:37,840 --> 00:11:42,630 તેથી તમે કદાચ તે ઍડ કરવા માંગો છો કારણ કે અહીં માપ is-- તો 240 00:11:42,630 --> 00:11:50,540 આ બધા સંપૂર્ણ હોય તો, તમે કરવા માંગો છો અધિકાર, અધિકાર તેને અહીં ઉમેરો કરવા માટે? 241 00:11:50,540 --> 00:11:57,150 >> અને તેથી કે, ખૂબ, ખૂબ, જ્યારે સરળ, નથી તદ્દન હંમેશા સાચી 242 00:11:57,150 --> 00:12:00,690 મુખ્ય તફાવત છે, કારણ કે એક કતાર અને સ્ટેક વચ્ચે 243 00:12:00,690 --> 00:12:04,350 કે કતાર કરી શકો છો છે ખરેખર આયોજિત કરી 244 00:12:04,350 --> 00:12:06,980 કે જેથી વડા ફેરફારો તમે કરવા માંગો છો તેના પર આધાર રાખીને 245 00:12:06,980 --> 00:12:08,650 તમારા કયૂ શરૂઆતમાં શરૂ કરવા માટે. 246 00:12:08,650 --> 00:12:11,900 અને પરિણામે, તમારા પૂંછડી પણ બદલી રહ્યું છે. 247 00:12:11,900 --> 00:12:14,770 અને તેથી પર એક નજર હમણાં આ કોડ. 248 00:12:14,770 --> 00:12:18,620 તમે ગાય્ઝ પણ કહેવામાં આવ્યું હતું તરીકે એન્ક્યૂ, ક્વિઝ પર લખો. 249 00:12:18,620 --> 00:12:22,580 કદાચ અમે શા માટે મારફતે વાત કરીશું જવાબ તે શું હતું. 250 00:12:22,580 --> 00:12:26,790 >> હું ખૂબ એક પર આ વાક્ય નથી ફિટ કરી શકે છે કોડ પરંતુ આવશ્યક આ ભાગ 251 00:12:26,790 --> 00:12:29,030 એક વાક્ય પર પ્રયત્ન કરીશું. 252 00:12:29,030 --> 00:12:30,140 30 સેકન્ડ જેવા વિતાવે છે. 253 00:12:30,140 --> 00:12:33,000 એક નજર, અને શા માટે જુઓ આ તે છે કે જે રીતે છે. 254 00:12:33,000 --> 00:12:50,030 255 00:12:50,030 --> 00:12:55,420 >> ખૂબ, ખૂબ સમાન સ્ટ્રક્ટ, ખૂબ, ખૂબ અગાઉના સમાન માળખું 256 00:12:55,420 --> 00:12:58,090 કદાચ સિવાય સ્ટેક કોડ એક વાક્ય. 257 00:12:58,090 --> 00:13:01,190 અને કોડ એક વાક્ય છે કે કાર્યક્ષમતા નક્કી કરે છે. 258 00:13:01,190 --> 00:13:03,900 અને તે ખરેખર અલગ સ્ટેક થી કતાર. 259 00:13:03,900 --> 00:13:18,510 260 00:13:18,510 --> 00:13:22,010 >> કોઈપણ ઘણો પ્રયાસ કર્યો લેવા માંગો છો તમે છે શા માટે સમજાવીને 261 00:13:22,010 --> 00:13:24,980 અહીં આ જટિલ બાબત મળી? 262 00:13:24,980 --> 00:13:27,845 અમે પરત જોવા અમારા અદ્ભુત મિત્ર મોડ્યુલસ. 263 00:13:27,845 --> 00:13:31,020 તમે ગાય્ઝ ટૂંક સમયમાં આવશે પ્રોગ્રામિંગ ઓળખી, 264 00:13:31,020 --> 00:13:34,910 લગભગ કોઈપણ સમયે તમે કંઈક કરવાની જરૂર છે કંઈપણ આસપાસ લપેટી, 265 00:13:34,910 --> 00:13:36,850 મોડ્યુલસ તે કરવા માર્ગ હોઇ રહ્યું છે. 266 00:13:36,850 --> 00:13:40,510 તેથી, એ જાણીને કે કોઈને માંગો છો નથી કોડ કે વાક્ય સમજાવીને પ્રયાસ? 267 00:13:40,510 --> 00:13:44,060 268 00:13:44,060 --> 00:13:47,507 હા, બધા જવાબો છે સ્વીકૃત અને આપનું સ્વાગત છે. 269 00:13:47,507 --> 00:13:48,840 પ્રેક્ષક: તમે મને વાત છે? 270 00:13:48,840 --> 00:13:49,506 ANDI પેન્ગ: યાહ. 271 00:13:49,506 --> 00:13:56,200 પ્રેક્ષક: ઓહ, ના માફ કરશો. 272 00:13:56,200 --> 00:14:00,250 ANDI પેન્ગ: બરાબર, તેથી ચાલો આ કોડ લઈ જવામાં. 273 00:14:00,250 --> 00:14:03,642 તેથી જ્યારે તમે પ્રયાસ કરી રહ્યા છો એક કતાર પર કંઈક ઉમેરવા માટે, 274 00:14:03,642 --> 00:14:08,510 વડા બને છે કે કોઈ પણ સંજોગોમાં અહીં હોઇ શકે છે, તે અમારા માટે ખૂબ જ સરળ છે 275 00:14:08,510 --> 00:14:10,960 માત્ર ઓવરને પર જવા માટે અધિકાર કંઈક દાખલ? 276 00:14:10,960 --> 00:14:14,690 પરંતુ કતાર સમગ્ર બિંદુ છે કે ખરેખર ગતિશીલ વડા 277 00:14:14,690 --> 00:14:17,280 જ્યાં પર આધાર રાખીને બદલી અમે અમારા ક્યૂ શરૂઆત હોઈ કરવા માંગો છો, 278 00:14:17,280 --> 00:14:19,880 અને, જેમ કે પૂંછડી તરીકે પણ બદલી રહ્યું છે. 279 00:14:19,880 --> 00:14:31,100 >> અને તેથી આ નથી હતી કે કલ્પના કતાર, પરંતુ તેના બદલે આ કતાર હતો. 280 00:14:31,100 --> 00:14:37,900 281 00:14:37,900 --> 00:14:39,330 માતાનો વડા અહીં છે કહે છે. 282 00:14:39,330 --> 00:14:54,900 283 00:14:54,900 --> 00:14:56,980 આપણે આપણા કતાર આ જેવો દેખાતો હતો કહે છે. 284 00:14:56,980 --> 00:15:00,190 જ્યાં અમે પાળી કરવા ઈચ્છતો હોય તો લીટી શરૂઆત છે, 285 00:15:00,190 --> 00:15:03,400 અમે વડા ખસેડી કહે દો આ રીતે અને અહીં માપો. 286 00:15:03,400 --> 00:15:07,100 >> હવે અમે કંઈક ઉમેરવા માંગો છો આ કતાર, પરંતુ તમે ગાય્ઝ જોઈ શકો છો, 287 00:15:07,100 --> 00:15:11,150 તે માત્ર જેથી સરળ નથી માપ પછી ગમે ઉમેરો 288 00:15:11,150 --> 00:15:13,630 પછી અમે બહાર ચલાવવા કારણ કે અમારા વાસ્તવિક એરે ના રિંગથી બંધાયા. 289 00:15:13,630 --> 00:15:16,190 અમે ખરેખર ઍડ કરવા માંગો છો જ્યાં અહીં છે. 290 00:15:16,190 --> 00:15:18,610 તે એક કતાર સુંદરતા છે તે દૃષ્ટિની, આપણને છે 291 00:15:18,610 --> 00:15:22,380 લીટી આ જેવા જાય જેવી લાગે છે, પરંતુ એ માહિતી બંધારણ માં સંગ્રહ કરવામાં આવે, 292 00:15:22,380 --> 00:15:29,370 તેઓ એક ચક્ર જેવી આપે છે. 293 00:15:29,370 --> 00:15:32,360 તે પ્રકારની આસપાસ આવરણમાં ફ્રન્ટ જ રીતે 294 00:15:32,360 --> 00:15:34,780 એક વાક્ય પણ લપેટી શકો છો કે આસપાસ ત્યાં તમે પર આધાર રાખીને 295 00:15:34,780 --> 00:15:36,279 હોઈ લીટી શરૂઆત કરવા માંગો છો. 296 00:15:36,279 --> 00:15:38,630 અને તેથી અમે લો તો અહીં નીચે જુઓ, ચાલો 297 00:15:38,630 --> 00:15:40,880 અમે બનાવવા માંગો છે કાર્ય એન્ક્યૂ કહેવાય છે. 298 00:15:40,880 --> 00:15:43,980 અમે તે q માં પૂર્ણાંક n ઉમેરવા માગે છે. 299 00:15:43,980 --> 00:15:49,250 Q.size અમે અમારી માહિતી કે કહી શકશો q-- તો અમારા queue.size નહી હોય તો માળખું 300 00:15:49,250 --> 00:15:52,520 ક્ષમતા અથવા તો સમાન તે ક્ષમતા કરતાં ઓછી છે 301 00:15:52,520 --> 00:15:55,120 q.strings અમારા ક્યૂ અંદર એરે છે. 302 00:15:55,120 --> 00:15:58,380 અમે સેટ જઈ રહ્યાં છો કે q.heads સમાન, 303 00:15:58,380 --> 00:16:02,730 જે અહીં છે, વત્તા q.size ક્ષમતા દ્વારા મોડ્યુલસ જે 304 00:16:02,730 --> 00:16:04,290 અહીં આસપાસ પાછા લપેટી. 305 00:16:04,290 --> 00:16:08,040 >> આ ઉદાહરણ ઈન્ડેક્સ તેથી વડા અધિકાર, 1 છે? 306 00:16:08,040 --> 00:16:11,480 કદ ઇન્ડેક્સ 0, 1, 2, 3, 4 છે. 307 00:16:11,480 --> 00:16:19,500 તેથી અમે 1 વત્તા 4 મોડ્યુલસ કરી શકો છો 5 છે, જે અમારી ક્ષમતા દ્વારા. 308 00:16:19,500 --> 00:16:20,920 શું આપે છે? 309 00:16:20,920 --> 00:16:23,270 ઇન્ડેક્સ શું છે કે આ બહાર આવે છે? 310 00:16:23,270 --> 00:16:24,080 >> પ્રેક્ષક: 0. 311 00:16:24,080 --> 00:16:27,870 >> ANDI પેન્ગ: 0, જે અહીં બને છે, 312 00:16:27,870 --> 00:16:30,640 અને તેથી અમે સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માંગો છો અહીં માં દાખલ કરવા માટે. 313 00:16:30,640 --> 00:16:34,730 અને તેથી આ સમીકરણ અહીં પ્રકારની માત્ર કોઈપણ નંબરો સાથે કામ કરે છે 314 00:16:34,730 --> 00:16:36,750 જ્યાં પર આધાર રાખીને તમારી વડા અને તમારા માપ છે. 315 00:16:36,750 --> 00:16:38,541 તમે શું તે ખબર હોય વસ્તુઓ તમે જાણો છો, છે 316 00:16:38,541 --> 00:16:43,170 બરાબર તમે દાખલ કરવા માંગો છો જ્યાં ગમે તમારા કતાર પછી છે. 317 00:16:43,170 --> 00:16:44,640 કે દરેકને અર્થમાં બનાવવા નથી? 318 00:16:44,640 --> 00:16:48,560 >> હું મગજના પ્રકારની ખબર સતામણી કરનાર ખાસ કરીને કારણ કે આ 319 00:16:48,560 --> 00:16:50,512 તમારા ક્વિઝ બાદ આવ્યો હતો. 320 00:16:50,512 --> 00:16:52,220 પરંતુ આસ્થાપૂર્વક દરેકને હવે સમજી શકે છે 321 00:16:52,220 --> 00:16:57,800 શા માટે આ ઉકેલ અથવા આ કાર્ય તે છે કે જે રીતે છે. 322 00:16:57,800 --> 00:16:59,840 કોઈપણ કે થોડી પર અસ્પષ્ટ? 323 00:16:59,840 --> 00:17:03,471 324 00:17:03,471 --> 00:17:03,970 ઠીક છે. 325 00:17:03,970 --> 00:17:07,109 326 00:17:07,109 --> 00:17:09,970 >> અને તેથી હવે, જો તમે આ dequeue કરવા માગે છે 327 00:17:09,970 --> 00:17:15,240 અમારા વડા સ્થળાંતર હશે જ્યાં છે અમે dequeue હતા, કારણ કે 328 00:17:15,240 --> 00:17:17,030 અમે ક્યૂ ઓવરને બંધ ન લો. 329 00:17:17,030 --> 00:17:19,130 અમે અધિકાર છે, વડા બોલ લેવા માંગો છો? 330 00:17:19,130 --> 00:17:24,260 તેથી પરિણામે, વડા બદલવા માટે ચાલે છે, જ્યારે તમે એન્ક્યૂ અને તે શા માટે છે, 331 00:17:24,260 --> 00:17:26,800 તમે ટ્રેક રાખવા માટે મળી છે જ્યાં તમારા માથા અને તમારા કદ 332 00:17:26,800 --> 00:17:29,450 દાખલ કરવા માટે સમર્થ થવા માટે છે યોગ્ય સ્થિતિ માં. 333 00:17:29,450 --> 00:17:32,740 >> અને તેથી તમે dequeue, ત્યારે હું પણ તે બહાર સ્યુડોકોડનો. 334 00:17:32,740 --> 00:17:35,480 જો તમે ઇચ્છો તો મફત લાગે આ બહાર કોડિંગ પ્રયાસ. 335 00:17:35,480 --> 00:17:36,980 તમે અધિકાર છે, વડા ખસેડવા માંગો છો? 336 00:17:36,980 --> 00:17:39,320 હું dequeue કરવા માગતા હતા, હું માથા ઉપર ખસેડશે. 337 00:17:39,320 --> 00:17:40,800 આ વડા હશે. 338 00:17:40,800 --> 00:17:45,617 >> અને અમારી વર્તમાન કદ કરશે બાદબાકી કારણ કે અમે લાંબા સમય સુધી 339 00:17:45,617 --> 00:17:46,950 એરે ચાર તત્વો હોય છે. 340 00:17:46,950 --> 00:17:51,370 અમે માત્ર ત્રણ છે, અને પછી અમે માંગો છો અંદર સંગ્રહિત કરવામાં આવી હતી ગમે પાછા ફરવા માટે 341 00:17:51,370 --> 00:17:56,260 વડા અમે આ લેવા માંગો છો કારણ કે સ્ટેક માટે ખૂબ જ સમાન કિંમત. 342 00:17:56,260 --> 00:17:58,010 જસ્ટ તમે લઈ રહ્યા છો એક અલગ સ્થળ પરથી, 343 00:17:58,010 --> 00:18:01,770 અને તમે તમારા નિર્દેશક પુનઃસોંપણી છે પરિણામે અલગ જગ્યાએ છે. 344 00:18:01,770 --> 00:18:03,890 તાર્કિક રીતે, દરેક અનુસરે છે? 345 00:18:03,890 --> 00:18:05,690 ગ્રેટ. 346 00:18:05,690 --> 00:18:10,156 >> ઠીક છે, તેથી અમે થોડી વાત કરવા જઈ રહ્યાં કડી થયેલ યાદીઓ વિશે ઊંડાણપૂર્વક વધુ 347 00:18:10,156 --> 00:18:13,280 તેઓ ખૂબ, ખૂબ મૂલ્યવાન આવશે કારણ કે આ અઠવાડિયે માતાનો કોર્સ તમારા માટે 348 00:18:13,280 --> 00:18:14,964 psets. 349 00:18:14,964 --> 00:18:17,130 લિંક યાદીઓ, તરીકે તમે ગાય્ઝ તેઓ બધા છે, યાદ કરી શકો છો 350 00:18:17,130 --> 00:18:22,570 ચોક્કસ ગાંઠો છે કે ગાંઠો છે એક કિંમત અને નિર્દેશક બંને કિંમતો 351 00:18:22,570 --> 00:18:26,290 કે જે એકસાથે કડી થયેલ હોય છે તે પોઇન્ટર છે. 352 00:18:26,290 --> 00:18:29,880 કેવી રીતે અને તેથી સ્ટ્રક્ટ અમે અહીં નોડ અમે બનાવવા 353 00:18:29,880 --> 00:18:33,569 છે, કે જે પૂર્ણાંક n હોય ગમે એક સ્ટોર અથવા શબ્દમાળા n કિંમત 354 00:18:33,569 --> 00:18:35,610 અથવા તમે કરવા માંગો છો ગમે ઘરનાં પરચૂરણ કામો સ્ટાર n એ, કૉલ કરો. 355 00:18:35,610 --> 00:18:41,482 નિર્દેશક છે, જે સ્ટ્રક્ટ નોડ તારો, તમે દરેક નોડ હોય માંગો છો, 356 00:18:41,482 --> 00:18:43,690 તમે તે હોય રહ્યા છીએ આગામી તરફ નિર્દેશક બિંદુ. 357 00:18:43,690 --> 00:18:48,207 358 00:18:48,207 --> 00:18:50,040 તમે વડા પડશે છે કે એક કડી થયેલ યાદી 359 00:18:50,040 --> 00:18:53,140 બાકીના નિર્દેશ રહ્યું તેથી પર અને તેથી આગળ કિંમતો 360 00:18:53,140 --> 00:18:55,290 તમે છેવટે અંત સુધી પહોંચવા ત્યાં સુધી. 361 00:18:55,290 --> 00:18:58,040 અને આ છેલ્લા નોડ માત્ર છે એક નિર્દેશક ન કરવા જઈ રહી છે. 362 00:18:58,040 --> 00:18:59,952 તે નિર્દેશ કરવા જઈ રહ્યું છે નલ, અને તે જ્યારે છે 363 00:18:59,952 --> 00:19:01,910 તમે ફટકો કર્યું છે ખબર તમારા યાદીની લિંક ઓવરને અંતે 364 00:19:01,910 --> 00:19:04,076 છે જ્યારે તમારા છેલ્લાં નિર્દેશક કંઈપણ નિર્દેશ નથી. 365 00:19:04,076 --> 00:19:06,670 366 00:19:06,670 --> 00:19:10,990 >> તેથી અમે વધુ એક બીટ જાઓ રહ્યા છીએ સંબંધિત ઊંડાઈ કેવી રીતે એક કદાચ કરશે 367 00:19:10,990 --> 00:19:12,400 એક કડી થયેલ યાદી શોધ. 368 00:19:12,400 --> 00:19:15,460 આ અમુક છે શું યાદ રાખો કડી થયેલ યાદીઓ ખામીઓ 369 00:19:15,460 --> 00:19:19,340 શોધ સંબંધિત ઝાકઝમાળ કડીઓ. 370 00:19:19,340 --> 00:19:22,565 ઝાકઝમાળ તમે કરી શકો છો દ્વિસંગી શોધ છે, પરંતુ શા માટે તમે એક કડી થયેલ યાદી છે કે ન કરી શકો? 371 00:19:22,565 --> 00:19:26,834 372 00:19:26,834 --> 00:19:30,320 >> પ્રેક્ષક: તેઓ બધા સાથે જોડાયેલ કરી રહ્યાં છો કારણ કે, પરંતુ તમે તદ્દન જ્યાં ખબર નથી 373 00:19:30,320 --> 00:19:31,330 [અશ્રાવ્ય]. 374 00:19:31,330 --> 00:19:34,600 >> ANDI પેન્ગ: અરે વાહ, જેથી બરાબર યાદ કે જે એરે દીપ્તિ 375 00:19:34,600 --> 00:19:37,190 કે અમે હતા હકીકત એ હતી રેન્ડમ ઍક્સેસ મેમરી જ્યાં 376 00:19:37,190 --> 00:19:41,580 હું ઇન્ડેક્સ કિંમત ઇચ્છતા હોય તો છ, હું માત્ર ઈન્ડેક્સ છ કહી શકે 377 00:19:41,580 --> 00:19:42,407 મને તે કિંમત આપે છે. 378 00:19:42,407 --> 00:19:45,240 એરે છટણી કરવામાં આવે છે કારણ કે તે છે મેમરી એક સંલગ્ન અવકાશ માં 379 00:19:45,240 --> 00:19:48,020 એક જ જગ્યાએ છે, જ્યારે કડી થયેલ યાદીઓ પ્રકારની 380 00:19:48,020 --> 00:19:52,820 છે, રેન્ડમ આસપાસ બધા જોડાયા અને માત્ર રસ્તો તમે એક શોધી શકો છો 381 00:19:52,820 --> 00:19:56,890 તમે કહે છે કે એક નિર્દેશક મારફતે છે કે આગામી નોડ છે જ્યાં સરનામું. 382 00:19:56,890 --> 00:20:00,290 >> અને તેથી પરિણામે, માત્ર રસ્તો એક કડી થયેલ યાદી મારફતે શોધવા માટે 383 00:20:00,290 --> 00:20:01,560 રેખીય શોધ છે. 384 00:20:01,560 --> 00:20:05,890 હું બરાબર જ્યાં ખબર નથી કારણ કે આ કડી થયેલ યાદીમાં 12 કિંમત છે, 385 00:20:05,890 --> 00:20:08,780 હું સમગ્ર પસાર કરવા માટે હોય છે તે યાદીની લિંક એક 386 00:20:08,780 --> 00:20:12,450 પ્રથમ નોડ માટે વડા માંથી એક, બીજા નોડ માટે, ત્રીજા નોડ માટે, 387 00:20:12,450 --> 00:20:17,690 હું આખરે વિચાર સુધી નીચે બધી રીતે હું શોધી રહ્યો છું કે નોડ છે જ્યાં. 388 00:20:17,690 --> 00:20:22,110 અને તેથી આ અર્થમાં, શોધ એક કડી થયેલ યાદી પર હંમેશા n છે. 389 00:20:22,110 --> 00:20:23,040 તે હંમેશા n છે. 390 00:20:23,040 --> 00:20:25,690 તે રેખીય સમય હંમેશા છે. 391 00:20:25,690 --> 00:20:28,470 >> અને તેથી કોડ જેમાં અમે આ અમલ, અને આ 392 00:20:28,470 --> 00:20:32,620 તમે કારણ કે તમે ગાય્ઝ માટે એક બીટ નવું છે ગાય્ઝ ખરેખર વિશે અથવા ક્યારેય વાત કરી છે 393 00:20:32,620 --> 00:20:35,000 કેવી રીતે જોઇ પોઇન્ટર પોઇન્ટર મારફતે શોધવા, 394 00:20:35,000 --> 00:20:37,670 તેથી અમે મારફતે બતાવીશું આ માટે ખૂબ, ખૂબ જ ધીમે ધીમે. 395 00:20:37,670 --> 00:20:40,200 જેથી bool શોધ, અધિકાર, અમે માંગો છો કલ્પના દો 396 00:20:40,200 --> 00:20:42,820 કહેવાય કાર્ય બનાવવા માટે સાચું આપે છે કે શોધ 397 00:20:42,820 --> 00:20:46,820 તમે કડી અંદર કિંમત મળે તો યાદી, અને તે અન્યથા ખોટી આપે છે. 398 00:20:46,820 --> 00:20:50,030 નોડ સ્ટાર યાદી છે હાલમાં માત્ર નિર્દેશક 399 00:20:50,030 --> 00:20:52,960 તમારા કડી થયેલ યાદીમાં પ્રથમ વસ્તુ છે. 400 00:20:52,960 --> 00:20:56,700 પૂર્ણાંક n તમે છો કે જે કિંમત છે કે યાદી માટે શોધ. 401 00:20:56,700 --> 00:20:58,770 >> તેથી નોડ સ્ટાર નિર્દેશક યાદી સમકક્ષ હોય છે. 402 00:20:58,770 --> 00:21:00,970 કે અમે સુયોજિત કરી રહ્યાં છો એનો અર્થ એ થાય અને નિર્દેશક બનાવવા 403 00:21:00,970 --> 00:21:03,592 યાદીમાં અંદર કે પ્રથમ નોડ માટે. 404 00:21:03,592 --> 00:21:04,300 મારી સાથે દરેક વ્યક્તિને? 405 00:21:04,300 --> 00:21:06,530 અમે જાઓ હતા તેથી જો અહીં પાછા, હું હશે 406 00:21:06,530 --> 00:21:13,850 નિર્દેશ કે નિર્દેશક આરંભ વડા ગમે છે કે જે યાદી છે. 407 00:21:13,850 --> 00:21:18,600 >> અને પછી તમે અહીં નીચે વિચાર એકવાર નિર્દેશક સમાન નલ નથી, 408 00:21:18,600 --> 00:21:22,160 જેથી અમે છે જેમાં લૂપ છે સરકાઉ ત્યારબાદ હોઈ ચાલે 409 00:21:22,160 --> 00:21:25,940 શું કારણ કે અમારા યાદી બાકીના નિર્દેશક નલ સમકક્ષ જ્યારે થાય છે? 410 00:21:25,940 --> 00:21:27,550 અમે અહી ખબર છે કે 411 00:21:27,550 --> 00:21:28,450 >> AUDIENCE: [અશ્રાવ્ય] 412 00:21:28,450 --> 00:21:31,491 >> ANDI પેન્ગ: બરાબર છે, તેથી આપણે જાણીએ છીએ કે અમે અધિકાર યાદી ઓવરને પહોંચી ગયા છો? 413 00:21:31,491 --> 00:21:34,470 તમે અહીં પાછા જાઓ, દરેક નોડ અન્ય નોડ માટે નિર્દેશ કરતી હોવી જોઈએ 414 00:21:34,470 --> 00:21:36,550 અને તેથી પર અને તેથી આગળ તમે છેવટે હિટ સુધી 415 00:21:36,550 --> 00:21:41,589 તમારા યાદીની લિંક પૂંછડી, જે નિર્દેશક છે કે જે હમણાં જ 416 00:21:41,589 --> 00:21:43,130 કોઈ કરતાં ગમે ત્યાં અન્ય બિંદુ નથી. 417 00:21:43,130 --> 00:21:47,510 અને તેથી તમે મૂળભૂત ખબર છે કે તમારા યાદી હજી પણ ત્યાં જ છે 418 00:21:47,510 --> 00:21:50,900 નિર્દેશક સમાન નથી ત્યાં સુધી નલ તે નલ સમકક્ષ કારણ કે એક વખત, 419 00:21:50,900 --> 00:21:53,310 તમે કોઈ વધુ સામગ્રી છે કે ખબર. 420 00:21:53,310 --> 00:21:56,930 >> જેથી અમે છો કે જેમાં લૂપ છે વાસ્તવિક શોધ છે જઈ રહી છે. 421 00:21:56,930 --> 00:22:01,690 અને નિર્દેશક તમે જુઓ છો, તો ત્યાં તીર કાર્ય તે પ્રકારના? 422 00:22:01,690 --> 00:22:06,930 તેથી નિર્દેશક પોઇન્ટ જો એન, તો બરાબર એ બરાબર એ સમયે નિર્દેશક, 423 00:22:06,930 --> 00:22:09,180 તેથી તેનો અર્થ એ છે કે જો તમે છો કે નિર્દેશક 424 00:22:09,180 --> 00:22:13,420 દરેક ઓવરને પર શોધ નોડ કિંમત ખરેખર સમાન છે 425 00:22:13,420 --> 00:22:15,990 પછી તમે શોધી રહ્યાં છો તમે સાચા પરત કરવા માંગો છો. 426 00:22:15,990 --> 00:22:19,280 તેથી મૂળભૂત રીતે, તમે એક ગાંઠ પર છો, તો તે , તમે શોધી રહ્યા છો તે મૂલ્ય ધરાવે છે 427 00:22:19,280 --> 00:22:23,550 તમે થયા છો ખબર છે કે સફળતાપૂર્વક શોધ કરવાનો. 428 00:22:23,550 --> 00:22:27,150 >> નહિંતર, તમે સુયોજિત કરવા માંગો છો બીજા ગાંઠ પર તમારા નિર્દેશક. 429 00:22:27,150 --> 00:22:28,850 કે અહીં તે લીટી શું કરે છે છે. 430 00:22:28,850 --> 00:22:31,750 પોઇન્ટર આગામી નિર્દેશક સમકક્ષ હોય છે. 431 00:22:31,750 --> 00:22:33,360 કે કામ કરી રહ્યા છે કેવી રીતે દરેકને જુઓ છો? 432 00:22:33,360 --> 00:22:36,580 >> અને અનિવાર્યપણે તમે જઈ રહ્યાં છો માત્ર આ યાદીમાં સમગ્ર પસાર 433 00:22:36,580 --> 00:22:41,920 તમારા નિર્દેશક દરેક સમય સુધી રીસેટ તમે આખરે યાદી ઓવરને દબાવો. 434 00:22:41,920 --> 00:22:45,030 અને તમે ત્યાં કોઈ ખબર છે કે વધુ ગાંઠો, મારફતે શોધવા માટે 435 00:22:45,030 --> 00:22:47,999 અને પછી તમે ખોટા પાછા આવી શકો છો તમે જાણો છો, કારણ કે વેલ, ઓહ, 436 00:22:47,999 --> 00:22:50,540 હું શોધવા માટે સક્ષમ કરવામાં આવી છે તો યાદીમાં સમગ્ર મારફતે. 437 00:22:50,540 --> 00:22:54,530 આ ઉદાહરણમાં, તો હું ઇચ્છતા હોય તો 10 ની કિંમત જોવા માટે, 438 00:22:54,530 --> 00:22:57,250 અને હું વડા શરૂ થાય છે, અને હું નીચે બધી રીતે શોધવા 439 00:22:57,250 --> 00:23:00,550 અને હું આખરે, આ મળી છે, જે નલ નિર્દેશ કરે છે કે એક નિર્દેશક, 440 00:23:00,550 --> 00:23:04,415 હું નથી, ક્રેપ, હું 10 ધારી ખબર છે કે આ યાદી હું તેને શોધી શક્યા નથી કારણ કે. 441 00:23:04,415 --> 00:23:06,520 અને હું તેમને યાદીમાં ઓવરને અંતે છું. 442 00:23:06,520 --> 00:23:11,040 અને જે કિસ્સામાં તમે જાણો છો હું ખોટા પાછા જઈ રહ્યો છું. 443 00:23:11,040 --> 00:23:12,900 >> કે થોડો માટે ખાડો દો. 444 00:23:12,900 --> 00:23:17,350 આ એક ખૂબ સુંદર હશે તમારા pset માટે મહત્વપૂર્ણ છે. 445 00:23:17,350 --> 00:23:21,140 તે તર્ક કદાચ, ખૂબ જ સરળ છે વાક્યરચના અનુસાર માત્ર તેને અમલમાં. 446 00:23:21,140 --> 00:23:23,365 તમે ગાય્ઝ બનાવવા માંગો છો તમે સમજો કે તેની ખાતરી કરો. 447 00:23:23,365 --> 00:23:25,870 448 00:23:25,870 --> 00:23:27,650 કૂલ. 449 00:23:27,650 --> 00:23:32,560 >> ઠીક છે, તેથી અમે કેવી રીતે હશે અધિકાર, ગાંઠો દાખલ, 450 00:23:32,560 --> 00:23:35,380 એક યાદી માં કારણ કે યાદ શું ફાયદા શું છે 451 00:23:35,380 --> 00:23:39,230 એક કડી થયેલ યાદી વિરુદ્ધ કર્યા સંગ્રહ દ્રષ્ટિએ ઝાકઝમાળ? 452 00:23:39,230 --> 00:23:41,110 >> પ્રેક્ષક: તે ગતિશીલ છે, તેથી તે સરળ છે રહ્યો 453 00:23:41,110 --> 00:23:43,180 >> ANDI પેન્ગ: બરાબર, તેથી તે ગતિશીલ છે, જે 454 00:23:43,180 --> 00:23:46,880 તેને વિસ્તૃત અને સંકોચી શકો છો કે જે થાય છે વપરાશકર્તા જરૂરિયાતો પર આધાર રાખીને. 455 00:23:46,880 --> 00:23:56,570 અને તેથી, આ અર્થમાં, અમે જરૂર નથી બિનજરૂરી મેમરી કચરો હું કારણ કે 456 00:23:56,570 --> 00:24:00,850 હું માંગો છો કેવી રીતે ઘણા કિંમતો ખબર ન હોય તો સ્ટોર કરવા માટે, તે મારા માટે અર્થમાં બનાવવા નથી 457 00:24:00,850 --> 00:24:04,310 ઝાકઝમાળ કારણ કે બનાવવા માટે હું 10 કિંમતો અત્યારે સંગ્રહ કરવા માંગો છો, તો 458 00:24:04,310 --> 00:24:08,380 અને હું 1000 ઝાકઝમાળ, કે બનાવવા વેડફાઇ જતી મેમરી ઘણો ફાળવી હતી. 459 00:24:08,380 --> 00:24:11,180 અમે એક કડી થયેલ ઉપયોગ કરવા માંગો છો શા માટે છે યાદી ગતિશીલ સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માટે 460 00:24:11,180 --> 00:24:13,860 બદલી અથવા અમારી કદ સંકોચો. 461 00:24:13,860 --> 00:24:17,040 >> અને જેથી નિવેશ બનાવે થોડી વધુ જટિલ. 462 00:24:17,040 --> 00:24:20,810 અમે રેન્ડમ તત્વો ઍક્સેસ કરી શકતા નથી કારણ કે અમે એક એરે કે જે રીતે. 463 00:24:20,810 --> 00:24:24,270 હું એક તત્વ સામેલ કરવા માંગો છો, તો સાતમી ઈન્ડેક્સ માં, 464 00:24:24,270 --> 00:24:26,930 હું હમણાં જ તે દાખલ કરી શકો છો સાતમી ઈન્ડેક્સ માં. 465 00:24:26,930 --> 00:24:30,020 એક કડી થયેલ યાદી પર છે, તે નથી તદ્દન સરળતાથી કામ કરે છે, 466 00:24:30,020 --> 00:24:34,947 અને તેથી અમે દાખલ કરવા ઇચ્છતા હોય તો યાદીની લિંક અહીં એક, 467 00:24:34,947 --> 00:24:36,280 દૃષ્ટિની, તે જોવા માટે ખૂબ જ સરળ છે. 468 00:24:36,280 --> 00:24:39,363 અમે હમણાં જ અધિકાર ત્યાં તે સામેલ કરવા માંગો છો જમણી યાદી શરૂઆતમાં, 469 00:24:39,363 --> 00:24:40,840 જમણી બાજુ વડા પછી. 470 00:24:40,840 --> 00:24:44,579 >> પરંતુ અમે હોય છે, જેમાં માર્ગ પુનઃસોંપણી કરવા પોઇંટરો એ બીટ ગૂંચળાવાળું છે 471 00:24:44,579 --> 00:24:47,620 અથવા, તાર્કિક, તે અર્થમાં બનાવે છે, પરંતુ તમે તેને હોય છે કે નહીં તેની ખાતરી કરવા માંગો છો 472 00:24:47,620 --> 00:24:50,250 સંપૂર્ણપણે નીચે કારણ કે તમે કરવા માંગો છો જો છેલ્લા વસ્તુ 473 00:24:50,250 --> 00:24:52,990 એક નિર્દેશક પુનઃસોંપણી છે અમે અહીં કરી રહ્યા છીએ તે રીતે. 474 00:24:52,990 --> 00:24:58,170 જો તમે ખોટો સંદર્ભ આ 1 માથા પરથી નિર્દેશક, 475 00:24:58,170 --> 00:25:01,086 પછી અચાનક તમામ તમારા યાદીની લિંક બાકીના 476 00:25:01,086 --> 00:25:04,680 તમે ખરેખર છે, કારણ કે ગુમાવી છે કામચલાઉ કંઈપણ બનાવી છે. 477 00:25:04,680 --> 00:25:06,220 2 કે પર ધ્યાન છે. 478 00:25:06,220 --> 00:25:10,080 તમે પછી નિર્દેશક, પુનઃસોંપણી તો તમારા યાદી બાકીના તદ્દન ગુમાવી છે. 479 00:25:10,080 --> 00:25:13,310 તેથી જો તમે પ્રયત્ન કરવા માંગો છો અહીં ખૂબ, ખૂબ કાળજી 480 00:25:13,310 --> 00:25:17,010 પ્રથમ સોંપવા માટે તમે ગમે તે નિર્દેશક 481 00:25:17,010 --> 00:25:20,150 ત્યાં દાખલ કરવા માંગો છો તમે કરવા માંગો છો, અને પછી તમે 482 00:25:20,150 --> 00:25:22,710 તમારા યાદી બાકીના ડિરેફરન્સ કરી શકો છો. 483 00:25:22,710 --> 00:25:25,250 >> તેથી આ ત્યાં માટે લાગુ પડે છે તમે દાખલ કરવા માટે પ્રયાસ કરી રહ્યાં છો. 484 00:25:25,250 --> 00:25:27,520 તમે ખાતે દાખલ કરવા માંગો છો, તો વડા, તમે અહીં જવાબ આપવા માટે કરવા માંગો છો, 485 00:25:27,520 --> 00:25:29,455 તમે ઓછામાં દાખલ કરવા માંગો છો, તો અંતે, સાથે સાથે, અંત હું 486 00:25:29,455 --> 00:25:30,910 ધારી તમે માત્ર કરશે કોઈ નિર્દેશક હોય છે, પરંતુ તમે 487 00:25:30,910 --> 00:25:33,830 તમે નથી તેની ખાતરી કરવા માટે કરવા માંગો છો તમારા યાદી બાકીના ગુમાવી બેસે છે. 488 00:25:33,830 --> 00:25:36,640 તમે હંમેશા ખાતરી કરવા માંગો છો તમારા નવા નોડ પોઇન્ટ છે 489 00:25:36,640 --> 00:25:39,330 ગમે તરફ દાખલ કરવા માંગો છો, 490 00:25:39,330 --> 00:25:42,170 અને પછી તમે પર chaining ઉમેરી શકો છો. 491 00:25:42,170 --> 00:25:43,330 દરેક વ્યક્તિને સાફ? 492 00:25:43,330 --> 00:25:45,427 >> આ એટલા માટે થઈ રહ્યું છે વાસ્તવિક મુદ્દાઓ પૈકી એક. 493 00:25:45,427 --> 00:25:48,010 સૌથી મોટી સમસ્યા તમે તમારા pset પર હોય રહ્યા છીએ 494 00:25:48,010 --> 00:25:51,340 તમે બનાવવા માટે પ્રયાસ કરવા જઈ રહ્યાં છો છે એક કડી થયેલ યાદી અને સામેલ વસ્તુઓ 495 00:25:51,340 --> 00:25:53,340 પરંતુ પછી માત્ર ગુમાવી તમારા યાદીની લિંક બાકીના. 496 00:25:53,340 --> 00:25:54,900 અને તમારા જેવા હોઈ જઈ રહ્યાં છો, હું આ શું થઈ રહ્યું છે શા માટે ખબર નથી? 497 00:25:54,900 --> 00:25:58,040 અને તે મારફતે જવા માટે એક પીડા છે અને તમારા પોઇંટરો તમામ શોધો. 498 00:25:58,040 --> 00:26:02,100 >> અને હું આ pset પર તમે ખાતરી આપી, આ ગાંઠો લેખન અને ચિત્રકામ 499 00:26:02,100 --> 00:26:03,344 ખૂબ, ખૂબ મદદરૂપ થશે. 500 00:26:03,344 --> 00:26:06,010 તેથી જો તમે સંપૂર્ણપણે ટ્રૅક રાખી શકો છો તમારા બધા પોઇન્ટર છે જ્યાં, 501 00:26:06,010 --> 00:26:08,540 શું ખોટું થઈ રહ્યું છે તમારા બધા ગાંઠો છે, જ્યાં 502 00:26:08,540 --> 00:26:12,660 તમે ઍક્સેસ કરવા શું કરવાની જરૂર છે અથવા સામેલ અથવા કાઢી શકો અથવા તેમને કોઇ. 503 00:26:12,660 --> 00:26:14,550 સાથે સારા દરેક વ્યક્તિને? 504 00:26:14,550 --> 00:26:15,050 કૂલ. 505 00:26:15,050 --> 00:26:19,300 506 00:26:19,300 --> 00:26:22,600 >> અમે કોડ જોવા માગતા હતા તેથી જો? 507 00:26:22,600 --> 00:26:24,470 ઓહ, મને ખબર નથી, તો અમે તેથી, the-- બરાબર જોઈ શકો છો 508 00:26:24,470 --> 00:26:27,940 ટોચ પર તે બધા એક કાર્ય છે અમે માંગો છો જ્યાં નામ આપવામાં આવ્યું શામેલ 509 00:26:27,940 --> 00:26:31,365 કડી થયેલ યાદી માં પૂર્ણાંક n દાખલ કરવા માટે. 510 00:26:31,365 --> 00:26:32,740 અમે આ દ્વારા લઈ જઈ રહ્યાં છો. 511 00:26:32,740 --> 00:26:34,770 તે કોડ ઘણો, નવી વાક્યરચના ઘણો છે. 512 00:26:34,770 --> 00:26:36,220 અમે બરાબર હશો. 513 00:26:36,220 --> 00:26:39,120 >> ટોચ જ્યારે પર જેથી અમે કંઈપણ બનાવવા માંગો છો 514 00:26:39,120 --> 00:26:42,380 અમે શું કરવું તે માટે જરૂર નથી, ખાસ કરીને જો તમે તે સ્ટેક પર સંગ્રહિત કરવામાં ન માંગતા હોવ 515 00:26:42,380 --> 00:26:43,920 પરંતુ ઢગલો? 516 00:26:43,920 --> 00:26:45,460 અમે અધિકાર malloc માટે જાઓ? 517 00:26:45,460 --> 00:26:48,240 તેથી અમે એક નિર્દેશક બનાવવા જઈ રહ્યાં છો. 518 00:26:48,240 --> 00:26:52,074 નોડ, નિર્દેશક, નવી સમકક્ષ નોડ માપ malloc 519 00:26:52,074 --> 00:26:53,740 અમે માંગો છો, કારણ કે નોડ બનાવવા માટે. 520 00:26:53,740 --> 00:26:56,720 અમે જથ્થો માંગો છો નોડ અપ લે છે કે મેમરી 521 00:26:56,720 --> 00:26:59,300 આ માટે ફાળવવામાં શકાય નવા નોડ બનાવટ. 522 00:26:59,300 --> 00:27:02,270 >> અને પછી અમે તપાસ જઈ રહ્યાં છો નવા સમકક્ષ નલ સમકક્ષ તો જુઓ. 523 00:27:02,270 --> 00:27:03,370 અમે શું કહ્યું યાદ રાખો? 524 00:27:03,370 --> 00:27:06,470 Malloc ગમે તમે, તમે હંમેશા શું કરવું જોઈએ? 525 00:27:06,470 --> 00:27:09,490 તમે હંમેશા જોવા માટે ચકાસો જોઈએ છે કે નહીં તે નલ છે. 526 00:27:09,490 --> 00:27:13,620 >> ઉદાહરણ તરીકે, જો તમારી ઓપરેટિંગ સિસ્ટમ સંપૂર્ણપણે પૂર્ણ કરવામાં આવી હતી 527 00:27:13,620 --> 00:27:17,060 તમે કોઈ વધુ મેમરી હોય તો બધા અને તમે malloc કરવાનો પ્રયાસ કરો, 528 00:27:17,060 --> 00:27:18,410 તે તમારા માટે નલ પરત ફરશે. 529 00:27:18,410 --> 00:27:21,094 અને તેથી તમે તેને વાપરવા માટે પ્રયત્ન કરો, તો તે માટે null પોઇન્ટ કરવામાં આવી હતી જ્યારે, 530 00:27:21,094 --> 00:27:23,260 તમે સમર્થ નથી જઈ રહ્યાં છો તે માહિતી ઍક્સેસ કરવા માટે. 531 00:27:23,260 --> 00:27:27,010 અને તેથી, જેમ કે, અમે બનાવવા માગતા હતા જ્યારે તમે mallocing કરી રહ્યાં છો કે નહીં તેની ખાતરી, 532 00:27:27,010 --> 00:27:30,500 તમે હંમેશા જોવા માટે જો ચકાસણી કરી રહ્યા છીએ તમે આપેલ છે કે જે મેમરી નલ છે. 533 00:27:30,500 --> 00:27:33,670 તે નથી, તો પછી અમે ખસેડી શકો છો અમારા કોડ બાકીના સાથે છે. 534 00:27:33,670 --> 00:27:36,140 >> તેથી અમે જઈ રહ્યાં છો નવા નોડ પ્રારંભ. 535 00:27:36,140 --> 00:27:39,050 અમે નવી N N બરાબર કરવા માટે જઈ રહ્યાં છો. 536 00:27:39,050 --> 00:27:42,390 અને પછી અમે કરવા જઈ રહ્યાં છો નવા પર નવા નિર્દેશક સુયોજિત 537 00:27:42,390 --> 00:27:46,900 નલ હમણાં અમે નથી કારણ કે તે નિર્દેશ કરવા માટે કંઈપણ કરવા માંગો છો. 538 00:27:46,900 --> 00:27:48,755 અમે કોઈ વિચાર જ્યાં છે તે તમને મૂકી રહ્યું છે 539 00:27:48,755 --> 00:27:50,630 અને પછી અમે કરવા માંગો છો, તો વડા તેને દાખલ કરો, 540 00:27:50,630 --> 00:27:53,820 પછી અમે ફરીથી સોંપી શકો છો વડા માટે નિર્દેશક. 541 00:27:53,820 --> 00:27:58,530 દરેક તર્ક અનુસરણ કરે જ્યાં તે ચાલી રહ્યું છે? 542 00:27:58,530 --> 00:28:02,502 >> અમે બધા કરી રહ્યાં નવી રહ્યા છે નોડ, નલ નિર્દેશક સુયોજિત 543 00:28:02,502 --> 00:28:04,210 અને પછી પુનઃસોંપણી તે માથા પર અમે તો 544 00:28:04,210 --> 00:28:06,320 અમે વડા તે સામેલ કરવા માંગો છો ખબર. 545 00:28:06,320 --> 00:28:09,420 અને પછી વડા રહ્યું છે કે નવા નોડ તરફ નિર્દેશ કરે છે. 546 00:28:09,420 --> 00:28:11,060 તે સાથે બરાબર દરેક વ્યક્તિને? 547 00:28:11,060 --> 00:28:12,380 >> તેથી તે બે પગલું પ્રક્રિયા છે. 548 00:28:12,380 --> 00:28:14,760 તમે પ્રથમ સોંપો મળી છે ગમે તમે બનાવી રહ્યા છો. 549 00:28:14,760 --> 00:28:18,260 આ કે નિર્દેશક સુયોજિત તમે સંદર્ભ છે, અને પછી 550 00:28:18,260 --> 00:28:21,400 કરી શકો છો ખોટો સંદર્ભ કાઇન્ડ પ્રથમ નિર્દેશક 551 00:28:21,400 --> 00:28:22,972 અને નવા નોડ તરફ નિર્દેશ કરે છે. 552 00:28:22,972 --> 00:28:25,680 તમે દાખલ કરવા માંગો છો ત્યાં, કે તર્ક સાચા પકડી રહ્યું છે. 553 00:28:25,680 --> 00:28:27,530 >> તે સોંપણી જેવા પ્રકારની છે કામચલાઉ ચલો. 554 00:28:27,530 --> 00:28:28,700 યાદ રાખો, તમે મળી છે તેની ખાતરી કરવા માટે કે જે તમને 555 00:28:28,700 --> 00:28:30,346 તમે જેઓ રહ્યાં છો, તો ટ્રેક ગુમાવી નથી. 556 00:28:30,346 --> 00:28:33,470 તમે છે કે નહીં તેની ખાતરી કરવા માંગો છો પ્રકારની રાખે છે કામચલાઉ ચલ 557 00:28:33,470 --> 00:28:35,620 જ્યાં તે વસ્તુ ટ્રેક કે જેથી સંગ્રહાયેલ છે તમે 558 00:28:35,620 --> 00:28:41,190 દરમિયાન કોઇ કિંમત ગુમાવી નથી તે સાથે આસપાસ ગડબડ જેવી. 559 00:28:41,190 --> 00:28:42,710 >> ઠીક છે, તેથી કોડ અહીં હશે. 560 00:28:42,710 --> 00:28:45,020 તમે ગાય્ઝ કલમ આવ્યા બાદ એક નજર. 561 00:28:45,020 --> 00:28:48,060 તે ત્યાં હશે. 562 00:28:48,060 --> 00:28:50,280 >> તેથી હું કેવી રીતે માનું અમે ઇચ્છતા હોય તો આ અલગ 563 00:28:50,280 --> 00:28:52,300 મધ્યમ અથવા અંત માં દાખલ કરવા માટે? 564 00:28:52,300 --> 00:28:57,892 કોઈને પણ આ છે તે એક એવો વિચાર હોય છે લોજિકલ સંદર્ભ તરીકે સ્યુડોકોડનો 565 00:28:57,892 --> 00:29:00,350 અમે ઇચ્છતા હોય તો અમે લેશે કે મધ્યમાં તેને દાખલ કરવા માટે? 566 00:29:00,350 --> 00:29:03,391 તેથી જો અમે આ સમયે તે દાખલ કરવા માટે ઇચ્છતા વડા, અમે બધા એક નવા નોડ બનાવવા છે. 567 00:29:03,391 --> 00:29:06,311 અમે તે નિર્દેશક સુયોજિત ગમે તે માથા પર નવા નોડ, 568 00:29:06,311 --> 00:29:08,310 અને પછી અમે વડા સેટ નવા નોડ માટે, અધિકાર? 569 00:29:08,310 --> 00:29:11,560 અમે મધ્યમ માં દાખલ કરવા ઈચ્છતો હોય તો યાદીમાં, અમે શું હશે? 570 00:29:11,560 --> 00:29:14,108 571 00:29:14,108 --> 00:29:16,110 >> પ્રેક્ષક: તે હજુ પણ કરશે એક જ પ્રક્રિયા છે 572 00:29:16,110 --> 00:29:19,114 ના નિર્દેશક સોંપણી જેવી અને પછી, કે નિર્દેશક સોંપણી 573 00:29:19,114 --> 00:29:20,530 પરંતુ આપણે ત્યાં સ્થિત હશે. 574 00:29:20,530 --> 00:29:23,560 >> ANDI પેન્ગ: બરાબર, જેથી બરાબર તમે સિવાય એ જ પ્રક્રિયા 575 00:29:23,560 --> 00:29:27,820 જ્યાં બરાબર સ્થિત છે તમે કે નવા નિર્દેશક માં જવા માંગો છો, 576 00:29:27,820 --> 00:29:44,790 હું દાખલ કરવા માંગો છો, તેથી જો બરાબર યાદી કડી મધ્યમાં, 577 00:29:44,790 --> 00:29:46,370 ચાલો અમારા સંલગ્ન યાદી છે કહે છે. 578 00:29:46,370 --> 00:29:49,500 અમે તેને અહીં દાખલ કરવા માંગો છો, અમે નવા નોડ બનાવવા જઈ રહ્યાં છો. 579 00:29:49,500 --> 00:29:50,520 અમે malloc જઈ રહ્યાં છો. 580 00:29:50,520 --> 00:29:52,220 અમે નવા નોડ બનાવવા જઈ રહ્યાં છો. 581 00:29:52,220 --> 00:29:55,940 અમે સોંપવા માટે જઈ રહ્યાં છો અહીં આ નોડ નિર્દેશક. 582 00:29:55,940 --> 00:29:58,335 >> પરંતુ સમસ્યા એ છે કે અલગ વડા છે જ્યાં 583 00:29:58,335 --> 00:30:00,490 અમે બરાબર જાણતા હતા કે છે જ્યાં વડા છે. 584 00:30:00,490 --> 00:30:01,930 તે હક, પ્રથમ અધિકાર હતો? 585 00:30:01,930 --> 00:30:04,870 પરંતુ, અહીં આપણે ટ્રેક રાખવા માટે મળી છે જ્યાં અમે તેને દાખલ કરી રહ્યા છો. 586 00:30:04,870 --> 00:30:07,930 અમે દાખલ કરવામાં આવે છે, તો અમારા અહીં નોડ, અમે મળી છે 587 00:30:07,930 --> 00:30:12,270 તેની ખાતરી કરવા માટે કે જે આ નોડ અગાઉના એક 588 00:30:12,270 --> 00:30:14,172 નિર્દેશક reassigns કે એક છે. 589 00:30:14,172 --> 00:30:16,380 તેથી પછી તમે પ્રકારની હોય છે બે વસ્તુઓ સાચવી રાખે. 590 00:30:16,380 --> 00:30:19,420 તમે જ્યાં આ ટ્રેક રાખવા હોય તો નોડ હાલમાં માં દાખલ થાય છે. 591 00:30:19,420 --> 00:30:23,280 તમે પણ જ્યાં ટ્રેક રાખવા માટે હોય છે તમે જોઈ રહ્યા છો તે અગાઉના નોડ 592 00:30:23,280 --> 00:30:24,340 ત્યાં પણ હતી. 593 00:30:24,340 --> 00:30:25,830 સાથે સારા દરેક વ્યક્તિને? 594 00:30:25,830 --> 00:30:26,500 ઠીક છે. 595 00:30:26,500 --> 00:30:28,000 >> કેવી રીતે અંત માં દાખલ વિશે શું? 596 00:30:28,000 --> 00:30:34,220 હું ઇચ્છતા હોય તો હું અહીં તે ઉમેરવા માગે છે, એક યાદી ઓવરને માટે એક નવી નોડ ઉમેરવા માટે, 597 00:30:34,220 --> 00:30:37,009 હું જે કરી વિશે કેવી રીતે જવું શકે છે? 598 00:30:37,009 --> 00:30:39,300 પ્રેક્ષક: તેથી હાલમાં, છેલ્લા એક નલ પર ધ્યાન. 599 00:30:39,300 --> 00:30:40,960 ANDI પેન્ગ: યાહ. 600 00:30:40,960 --> 00:30:43,560 બરાબર છે, તેથી આ એક હાલમાં ખબર નિર્દેશ છે, 601 00:30:43,560 --> 00:30:46,720 અને તેથી હું આ અર્થમાં, તે છે, ધારી યાદી ઓવરને ઉમેરવા માટે ખૂબ જ સરળ છે. 602 00:30:46,720 --> 00:30:51,810 તમે કરવા હોય બધા તે સેટ કરેલી હોય નલ અને પછી તેજી સમાન. 603 00:30:51,810 --> 00:30:53,070 અધિકાર ત્યાં ખૂબ જ સરળ છે. 604 00:30:53,070 --> 00:30:53,960 ખૂબ સરળ. 605 00:30:53,960 --> 00:30:56,430 >> આ કરવા માટે ખૂબ જ સમાન તમે વડા છે, પરંતુ તાર્કિક 606 00:30:56,430 --> 00:30:59,690 પગલાંઓ છે તેની ખાતરી કરવા માંગો છો તમે આ કોઇ કરી તરફ લઇ 607 00:30:59,690 --> 00:31:01,500 તમે સાથે અનુસરી રહ્યાં છો. 608 00:31:01,500 --> 00:31:04,420 તે મધ્યમાં, ખૂબ જ સરળ છે તમારો કોડ, પર કેચ 609 00:31:04,420 --> 00:31:05,671 ઓહ, હું ઘણા પોઇન્ટર મળી છે. 610 00:31:05,671 --> 00:31:07,461 હું જ્યાં ખબર નથી કંઈપણ પોઇન્ટ છે. 611 00:31:07,461 --> 00:31:09,170 હું પણ હું પર છું, જે નોડ ખબર નથી. 612 00:31:09,170 --> 00:31:11,490 શું થઈ રહ્યું છે? 613 00:31:11,490 --> 00:31:13,620 >> એક ઊંડા શ્વાસ લો, નીચે શાંત, આરામ. 614 00:31:13,620 --> 00:31:15,530 તમારી સાથે લિંક યાદી દોરો. 615 00:31:15,530 --> 00:31:18,800 જો તમે કહી, હું જ્યાં બરાબર ખબર હું આ દાખલ કરવાની જરૂર છે 616 00:31:18,800 --> 00:31:22,970 અને હું મારા પુનઃસોંપણી કરવા બરાબર કેવી રીતે ખબર પોઇન્ટર, ખૂબ, ખૂબ સરળ ચિત્ર 617 00:31:22,970 --> 00:31:27,200 out-- ખૂબ, ખૂબ સરળ નથી તમારો કોડ ભૂલો ગુમાવી. 618 00:31:27,200 --> 00:31:29,410 તે સાથે બરાબર દરેક વ્યક્તિને? 619 00:31:29,410 --> 00:31:31,380 ઠીક છે. 620 00:31:31,380 --> 00:31:35,120 >> તેથી હું અમે હોય છે કે ખ્યાલ ધારી ખરેખર, હવે પહેલાં વિશે વાત કરી 621 00:31:35,120 --> 00:31:38,131 અને હું કદાચ તમે ધારી ખૂબ yet-- અનુભવી નહીં 622 00:31:38,131 --> 00:31:40,880 તે ઉન્નત concept-- પ્રકારની છે અમે ખરેખર એક માહિતી હોય છે 623 00:31:40,880 --> 00:31:43,900 માળખું સમયમાં બમણું કડી થયેલ યાદી કહેવાય છે. 624 00:31:43,900 --> 00:31:46,390 તમે ગાય્ઝ જોઈ શકો છો તેથી, અમે બધા કરી રહ્યાં રહ્યા છે 625 00:31:46,390 --> 00:31:50,400 એક વાસ્તવિક મૂલ્ય, એક વધારાનું અમારા ગાંઠો દરેક પર નિર્દેશક 626 00:31:50,400 --> 00:31:52,660 તે પણ અગાઉના નોડ માટે નિર્દેશ કરે છે. 627 00:31:52,660 --> 00:31:58,170 તેથી માત્ર અમે અમારા હોય ગાંઠો આગામી એક નિર્દેશ કરે છે. 628 00:31:58,170 --> 00:32:01,430 તેઓ પણ અગાઉના એક નિર્દેશ કરે છે. 629 00:32:01,430 --> 00:32:04,310 હું હમણાં આ બે અવગણો જાઉં છું. 630 00:32:04,310 --> 00:32:06,740 >> તેથી તો પછી તમે એક સાંકળ હોય છે કે બંને રીતે ખસેડી શકો છો, 631 00:32:06,740 --> 00:32:09,630 અને પછી તે થોડી સરળ છે તાર્કિક સાથે અનુસરો. 632 00:32:09,630 --> 00:32:11,896 અહીં જેવા, તેના બદલે ઓહ, રાખવામાં, હું 633 00:32:11,896 --> 00:32:14,520 આ નોડ છે કે ખબર હોય છે હું પુનઃસોંપણી કરવા માટે હોય છે એક, 634 00:32:14,520 --> 00:32:17,532 હું હમણાં જ અહીં જઈ શકે ફક્ત અગાઉના ખેંચો. 635 00:32:17,532 --> 00:32:19,490 પછી હું બરાબર ખબર છે કે જ્યાં છે, અને પછી તમે 636 00:32:19,490 --> 00:32:21,130 આ પસાર કરવાની જરૂર નથી આ યાદીની લિંક સમગ્ર. 637 00:32:21,130 --> 00:32:22,180 તેને થોડી સરળ છે. 638 00:32:22,180 --> 00:32:24,960 >> પરંતુ જેમ કે, તમે સમયમાં બમણું છે પોઇન્ટર જથ્થો 639 00:32:24,960 --> 00:32:26,960 કે મેમરી ડબલ રકમ છે. 640 00:32:26,960 --> 00:32:28,950 તે ટ્રેક રાખવા માટે પોઇન્ટર ઘણો છે. 641 00:32:28,950 --> 00:32:32,140 તે થોડી વધુ જટિલ છે, પરંતુ તે છે વપરાશકર્તા મૈત્રીપૂર્ણ આધાર રાખીને થોડી વધુ 642 00:32:32,140 --> 00:32:34,080 તમે પરિપૂર્ણ કરવા માટે પ્રયાસ કરી રહ્યા છો તેના પર. 643 00:32:34,080 --> 00:32:36,910 >> તેથી માહિતી આ પ્રકારના માળખું સંપૂર્ણપણે અસ્તિત્વમાં 644 00:32:36,910 --> 00:32:40,280 અને માળખું ખૂબ, ખૂબ છે તમે આવી રહી બધા સિવાય સરળ, 645 00:32:40,280 --> 00:32:43,850 તેના બદલે આગામી માત્ર એક નિર્દેશક, તમે પણ અગાઉના એક નિર્દેશક છે. 646 00:32:43,850 --> 00:32:45,940 તે બધા તફાવત હતો છે. 647 00:32:45,940 --> 00:32:47,740 સાથે સારા દરેક વ્યક્તિને? 648 00:32:47,740 --> 00:32:48,240 કૂલ. 649 00:32:48,240 --> 00:32:50,940 650 00:32:50,940 --> 00:32:53,280 >> બધા હક છે, તેથી હવે હું છું ખરેખર કદાચ પસાર કરવા માટે 651 00:32:53,280 --> 00:32:56,870 15 થી 20 મિનિટ અથવા બલ્ક જેવા વિભાગમાં સમય બાકીના 652 00:32:56,870 --> 00:32:58,360 હેશ કોષ્ટકો વિશે વાત. 653 00:32:58,360 --> 00:33:02,590 તમે કેવી રીતે ગાય્સ ઘણા Pset5 સ્પેક વાંચી છે? 654 00:33:02,590 --> 00:33:03,620 બધા હક છે, સારી. 655 00:33:03,620 --> 00:33:06,160 કે જે સામાન્ય રીતે 50% કરતા વધારે છે. 656 00:33:06,160 --> 00:33:07,560 ઠીક છે. 657 00:33:07,560 --> 00:33:10,345 >> તમે ગાય્ઝ જોશો તો, તમે Pset5 પડકાર છો 658 00:33:10,345 --> 00:33:16,790 એક શબ્દકોશ અમલ કરવા માટે પ્રયત્ન કરશે તમે 140.000 શબ્દો પર લોડ જ્યાં 659 00:33:16,790 --> 00:33:20,610 અમે અને જોડણી તપાસ તમે આપે છે જે લખાણ બધા સામે. 660 00:33:20,610 --> 00:33:22,580 અમે તમને રેન્ડમ આપી શકશો સાહિત્ય ટુકડાઓ. 661 00:33:22,580 --> 00:33:23,520 અમે તમને ઓડીસી આપી શકશો. 662 00:33:23,520 --> 00:33:24,561 અમે તમને ઇલિયડ આપી શકશો. 663 00:33:24,561 --> 00:33:26,350 અમે તમને ઓસ્ટિન પાવર્સ આપી શકશો. 664 00:33:26,350 --> 00:33:28,220 >> અને તમારા પડકાર જોડણી કરવા માટે પ્રયત્ન કરશે 665 00:33:28,220 --> 00:33:31,760 બધા દરેક એક શબ્દ તે શબ્દકોશો 666 00:33:31,760 --> 00:33:34,960 અનિવાર્યપણે અમારા જોડણી-પરીક્ષક સાથે. 667 00:33:34,960 --> 00:33:38,620 અને તેથી થોડા ભાગો છે આ pset બનાવવા, 668 00:33:38,620 --> 00:33:41,970 પ્રથમ તમે કરવા માંગો છો ખરેખર લોડ કરવા માટે સક્ષમ 669 00:33:41,970 --> 00:33:43,970 માં તમામ શબ્દો તમારા શબ્દકોશ, અને પછી તમે 670 00:33:43,970 --> 00:33:45,530 સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માંગો છો તેમને તમામ તપાસ જોડણી. 671 00:33:45,530 --> 00:33:48,780 અને તેથી, જેમ કે તમને જરૂર જઈ રહ્યાં છો આ ઝડપી કરી શકો છો કે એ માહિતી બંધારણ 672 00:33:48,780 --> 00:33:50,790 અને અસરકારક રીતે અને ગતિશીલ. 673 00:33:50,790 --> 00:33:52,900 >> તેથી હું સરળ ધારવું આ કરવા માટે માર્ગ છે, તમે 674 00:33:52,900 --> 00:33:55,010 કદાચ અધિકાર, એક એરે બનાવો છો? 675 00:33:55,010 --> 00:33:58,910 સંગ્રહ આ સૌથી સરળ માર્ગ તમે 140000 શબ્દો ઝાકઝમાળ બનાવી શકો છો 676 00:33:58,910 --> 00:34:03,400 અને માત્ર ત્યાં તેમને બધા મૂકો અને પછી દ્વિસંગી શોધ દ્વારા તેમને પસાર 677 00:34:03,400 --> 00:34:06,780 અથવા પસંદગી દ્વારા અથવા not-- માફ કરશો કે વર્ગીકરણ છે. 678 00:34:06,780 --> 00:34:10,729 તમે તેમને સૉર્ટ અને પછી તેમને પસાર કરી શકો છો દ્વિસંગી શોધ અથવા ફક્ત રેખીય શોધ 679 00:34:10,729 --> 00:34:13,730 અને માત્ર અંતિમ શબ્દો છે, પરંતુ તે મેમરી એક વિશાળ જથ્થો લે છે 680 00:34:13,730 --> 00:34:15,190 અને તે ખૂબ જ કાર્યક્ષમ નથી. 681 00:34:15,190 --> 00:34:18,350 >> અને તેથી અમે શરૂ કરવા જઈ રહ્યાં છો બનાવવાના માર્ગો વિશે વાત 682 00:34:18,350 --> 00:34:20,110 અમારી ચાલી સમય વધુ કાર્યક્ષમ. 683 00:34:20,110 --> 00:34:23,190 અને અમારા ધ્યેય વિચાર છે સતત સમય જ્યાં 684 00:34:23,190 --> 00:34:25,810 તે લગભગ એરે, જ્યાં જેવી છે તમે તત્કાલ વપરાશ હોય છે. 685 00:34:25,810 --> 00:34:28,560 હું કાંઇ શોધવા માટે ઈચ્છતો હોય તો, હું માત્ર સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માંગો છો 686 00:34:28,560 --> 00:34:30,810 બૂમ બરાબર તે શોધવા માટે, અને તે બહાર ખેંચી. 687 00:34:30,810 --> 00:34:34,100 અને તેથી એક માળખું કે જેમાં અમે ખૂબ જ નજીક બની આવશે 688 00:34:34,100 --> 00:34:37,569 સતત ઍક્સેસ કરવા માટે સક્ષમ હોઈ સમય, આ પવિત્ર ગ્રેઇલ 689 00:34:37,569 --> 00:34:41,370 સતત પ્રોગ્રામિંગ માં સમય હેશ ટેબલ કહેવામાં આવે છે. 690 00:34:41,370 --> 00:34:45,370 અને તેથી ડેવિડ અગાઉ ઉલ્લેખ કર્યો છે [અશ્રાવ્ય] વ્યાખ્યાન માં થોડો, 691 00:34:45,370 --> 00:34:49,100 પરંતુ અમે ખરેખર જઈ રહ્યાં છો ઊંડા આ અઠવાડિયે ડાઇવ 692 00:34:49,100 --> 00:34:51,780 સંબંધિત છે કે એક ભાગ પર કેવી રીતે હેશ ટેબલ કામ કરે છે. 693 00:34:51,780 --> 00:34:53,949 >> કે જે રીતે તેથી હેશ ટેબલ કામ કરે છે, ઉદાહરણ તરીકે, 694 00:34:53,949 --> 00:35:00,230 હું શબ્દો એક ટોળું સંગ્રહ કરવા ઇચ્છતા હોય તો, એક ઇંગલિશ ભાષા શબ્દો ટોળું, 695 00:35:00,230 --> 00:35:02,940 હું સૈદ્ધાંતિક મૂકી શકે કેળા, સફરજન, કિવિ, કેરી, જોડી 696 00:35:02,940 --> 00:35:04,980 અને બધા માત્ર એક એરે પર ટેટી. 697 00:35:04,980 --> 00:35:07,044 તેઓ બધા ફિટ કરી શકે છે અને શોધી શકાય. 698 00:35:07,044 --> 00:35:09,210 તે પીડા પ્રકારની હશો અને વપરાશ મારફતે શોધવા, 699 00:35:09,210 --> 00:35:12,920 પરંતુ આ કરવાની સરળ રીત છે અમે એક માળખું ખરેખર બનાવી શકો છો કે 700 00:35:12,920 --> 00:35:15,680 અમે હેશ જ્યાં હેશ ટેબલ કહેવાય છે. 701 00:35:15,680 --> 00:35:19,880 અમે મારફતે અમારા કીઓ બધા રન હેશ વિધેય, એક સમીકરણ, 702 00:35:19,880 --> 00:35:22,600 કે તેમને બધા કરે છે નીચેની અમુક પ્રકારના 703 00:35:22,600 --> 00:35:28,740 પછી અમે પર સ્ટોર કરી શકો છો કે કડી થયેલ યાદી આવશ્યકપણે એક એરે. 704 00:35:28,740 --> 00:35:32,570 >> અને તેથી અહીં અમે ઇચ્છતા હોય તો ઇંગલિશ શબ્દો સંગ્રહવા માટે, 705 00:35:32,570 --> 00:35:37,250 અમે સંભવિત માત્ર કરી શકે છે, હું નથી ખબર છે, તમામ પ્રથમ અક્ષરો ચાલુ 706 00:35:37,250 --> 00:35:39,630 સંખ્યાબંધ અમુક પ્રકારના માં. 707 00:35:39,630 --> 00:35:43,140 અને તેથી, ઉદાહરણ તરીકે, જો હું ઈચ્છતો એક apple-- પર્યાય તરીકે 708 00:35:43,140 --> 00:35:47,460 અથવા 0 ઇન્ડેક્સ સાથે, અને બી, 1 પર્યાય તરીકે 709 00:35:47,460 --> 00:35:51,030 અમે 26 પ્રવેશો હોઈ શકે છે કે જે હમણાં જ સ્ટોર કરી શકો છો 710 00:35:51,030 --> 00:35:53,610 આ અક્ષરો તમામ અમે સાથે શરૂ કરી શકશો કે આલ્ફાબેટ. 711 00:35:53,610 --> 00:35:56,130 અને પછી અમે કરી શકો છો 0 અનુક્રમણિકા પર એપલ. 712 00:35:56,130 --> 00:35:59,160 અમે ઇન્ડેક્સ ખાતે બનાના હોઈ શકે છે 1, 2 અનુક્રમણિકા પર ટેટી, 713 00:35:59,160 --> 00:36:00,540 અને તેથી પર અને તેથી આગળ. 714 00:36:00,540 --> 00:36:04,460 અને તેથી હું શોધવા માટે ઇચ્છતા હોય તો મારા હેશ ટેબલ અને વપરાશ સફરજન, 715 00:36:04,460 --> 00:36:07,560 હું સફરજન સાથે શરૂ થાય છે ખબર એક, અને હું બરાબર ખબર 716 00:36:07,560 --> 00:36:10,860 તે હોઈ શકે છે અને હેશ જ જોઈએ કે જે 0 અનુક્રમણિકા કારણ કે ટેબલ 717 00:36:10,860 --> 00:36:13,620 કાર્ય અગાઉ આઈડી. 718 00:36:13,620 --> 00:36:16,572 >> મને ખબર નથી, તેથી અમે છે વપરાશકર્તા કાર્યક્રમ જ્યાં 719 00:36:16,572 --> 00:36:18,780 તમારી સાથે ચાર્જ કરવામાં આવશે આપખુદ નથી arbitrarily--, 720 00:36:18,780 --> 00:36:22,530 વિચારપૂર્વક કરવાનો પ્રયાસ સાથે સારી સમીકરણો લાગે 721 00:36:22,530 --> 00:36:25,460 ફેલાવો કરવાનો પ્રયત્ન કરવા માટે તમારા મૂલ્યો બધા બહાર 722 00:36:25,460 --> 00:36:29,370 એક રીતે તેઓ સરળતાથી ઍક્સેસ કરી શકો છો પાછળથી તે સાથે સમીકરણ જેવી 723 00:36:29,370 --> 00:36:31,130 તમે કે, તમારી જાતને ખબર. 724 00:36:31,130 --> 00:36:35,210 હું જવા ઇચ્છતા હોય તો અર્થમાં તેથી કેરી, હું ઓહ, તે મીટર સાથે શરૂ થાય છે, ખબર છે. 725 00:36:35,210 --> 00:36:37,134 તે 12 ની અનુક્રમણિકા પર હોવા જ જોઈએ. 726 00:36:37,134 --> 00:36:38,800 હું કાંઇ મારફતે શોધવા માટે નથી. 727 00:36:38,800 --> 00:36:42,080 હું માત્ર પર જાઓ શકે છે exactly-- મને ખબર અને 12 ઇન્ડેક્સ છે કે જે બહાર ખેંચી. 728 00:36:42,080 --> 00:36:45,520 >> કેવી રીતે પર દરેક વ્યક્તિને સ્પષ્ટ હેશ ટેબલ કાર્ય કામ કરે છે? 729 00:36:45,520 --> 00:36:48,380 તે માત્ર એક વધુ જટિલ એરે પ્રકારની છે. 730 00:36:48,380 --> 00:36:50,010 તે છે બધા છે. 731 00:36:50,010 --> 00:36:51,630 ઠીક છે. 732 00:36:51,630 --> 00:36:57,690 >> તેથી અમે માં આઉટ ધારી આ મુદ્દો શું 733 00:36:57,690 --> 00:37:06,390 તમે ઘણી વસ્તુઓ હોય તો શું થાય છે કે તમે એ જ ઈન્ડેક્સ આપી? 734 00:37:06,390 --> 00:37:10,570 તેથી, તે અમારા કાર્ય કહે છે હતી કે પ્રથમ અક્ષર લઇ હતી 735 00:37:10,570 --> 00:37:14,490 અને માં કે ચાલુ 0 અનુક્રમણિકા 25 દ્વારા સંબંધિત. 736 00:37:14,490 --> 00:37:17,137 જો કે સંપૂર્ણપણે દંડ છે તમે માત્ર દરેક એક છે. 737 00:37:17,137 --> 00:37:18,970 પરંતુ બીજા તમે શરૂ વધુ કર્યા, તમે છો 738 00:37:18,970 --> 00:37:20,910 અથડામણ કહેવાય છે તે છે જવું. 739 00:37:20,910 --> 00:37:25,580 >> હું દાખલ કરવા માટે પ્રયત્ન કરો, તો હેશ માં દફનાવી તેથી પહેલાથી જ તેના પર બનાના છે કે ટેબલ, 740 00:37:25,580 --> 00:37:27,870 શું થાય છે જ્યારે ચાલી રહ્યું છે તમે તે દાખલ કરવા માટે પ્રયાસ? 741 00:37:27,870 --> 00:37:30,930 ખરાબ વસ્તુઓ કારણ કે કેળાના પહેલેથી જ ઈન્ડેક્સ હાજર 742 00:37:30,930 --> 00:37:33,800 તમે તેને અત્યારે સંગ્રહ કરવા માંગો છે. 743 00:37:33,800 --> 00:37:35,560 બેરી પ્રકારની હું શું કરી શકું, હેં, જેવી છે? 744 00:37:35,560 --> 00:37:37,080 હું જાઓ જ્યાં ખબર નથી. 745 00:37:37,080 --> 00:37:38,410 હું આ કેવી રીતે ઉકેલવા શકું? 746 00:37:38,410 --> 00:37:41,150 >> અને તેથી તમે ગાય્સ કરશે પ્રકારની અમે આ મુશ્કેલ બાબત કરી જુઓ 747 00:37:41,150 --> 00:37:44,810 જ્યાં અમે પ્રકારની ખરેખર કરી શકો છો અમારા એરે માં કડી થયેલ યાદી બનાવો. 748 00:37:44,810 --> 00:37:46,840 અને તેથી સૌથી સરળ માર્ગ આ વિશે વિચારો, 749 00:37:46,840 --> 00:37:50,830 બધા હેશ ટેબલ એક કડી થયેલ યાદીઓ દર્શાવે છે. 750 00:37:50,830 --> 00:37:55,670 અને તેથી, તે અર્થમાં, તમારી પાસે પોઇન્ટર આ સુંદર એરે, 751 00:37:55,670 --> 00:37:58,740 અને પછી દરેક નિર્દેશક તે કિંમત છે, કે જે ઇન્ડેક્સ, 752 00:37:58,740 --> 00:38:00,740 ખરેખર અન્ય વસ્તુઓ માટે નિર્દેશ કરી શકો છો. 753 00:38:00,740 --> 00:38:05,720 અને તેથી તમે આ બધા અલગ છે એક મોટી એરે બંધ આવતા સાંકળો. 754 00:38:05,720 --> 00:38:07,960 >> અને તેથી અહીં, હું તો બેરી દાખલ કરવા માટે માગતા હતા, 755 00:38:07,960 --> 00:38:11,220 હું ઠીક છે, હું ઇનપુટ જાઉં છું, ખબર તે મારા હેશ વિધેય દ્વારા. 756 00:38:11,220 --> 00:38:15,070 હું ઇન્ડેક્સ સાથે અંત જાઉં છું 1, અને પછી હું હોય કરવાનો પ્રયત્ન જાઉં છું 757 00:38:15,070 --> 00:38:20,410 માત્ર આ એક નાની ઉપગણ જાયન્ટ 140000 શબ્દ શબ્દકોશ ઓનલાઇન. 758 00:38:20,410 --> 00:38:24,220 અને પછી હું ફક્ત જોવા કરી શકો છો કે 1/26 દ્વારા. 759 00:38:24,220 --> 00:38:27,910 >> અને તેથી તે પછી હું માત્ર દાખલ કરી શકો છો પહેલાં અથવા બનાના પછી ક્યાં બેરી 760 00:38:27,910 --> 00:38:28,820 આ બાબતે? 761 00:38:28,820 --> 00:38:29,700 પછી, અધિકાર? 762 00:38:29,700 --> 00:38:33,920 અને તેથી તમે કરવા માંગો છો જઈ રહ્યાં છો બનાના પછી આ નોડ દાખલ કરો, 763 00:38:33,920 --> 00:38:36,667 અને તેથી તમે દાખલ કરવા માટે જઈ રહ્યાં છો તે યાદીની લિંક ની પૂંછડી છે. 764 00:38:36,667 --> 00:38:38,500 હું પાછા જાઓ જાઉં છું આ અગાઉના સ્લાઇડ, 765 00:38:38,500 --> 00:38:40,680 તેથી જો તમે ગાય્સ જુઓ કે કેવી રીતે કરી શકો છો હેશ વિધેય કામ કરે છે. 766 00:38:40,680 --> 00:38:43,980 >> તેથી હેશ વિધેય આ સમીકરણ છે તમે તમારા ઈનપુટ કાઇન્ડ ચલાવી રહ્યા છો કે 767 00:38:43,980 --> 00:38:46,940 વિચાર ગમે ઈન્ડેક્સ દ્વારા તમે નોંધાયો સોંપી કરવા માંગો છો. 768 00:38:46,940 --> 00:38:51,130 અને તેથી, આ ઉદાહરણમાં, બધા અમે ઇચ્છતા કરવા માટે, પ્રથમ અક્ષર લઇ હતી 769 00:38:51,130 --> 00:38:55,890 અમે પછી ઇન્ડેક્સ માં કે ચાલુ અમારા હેશ વિધેય કે સ્ટોર કરી શકો છો. 770 00:38:55,890 --> 00:39:00,160 અમે અહીં કરી રહ્યા છીએ બધા આપણે છીએ છે પ્રથમ અક્ષર રૂપાંતર. 771 00:39:00,160 --> 00:39:04,770 તેથી keykey [0] માત્ર પ્રથમ અક્ષર ગમે શબ્દમાળા અમે આવી રહી છે, 772 00:39:04,770 --> 00:39:05,720 અમે માં પસાર કરી રહ્યાં. 773 00:39:05,720 --> 00:39:09,740 અમે ઉપર કે રૂપાંતર, અને કરી રહ્યાં છો અમે મોટા એ દ્વારા બાદબાકી કરી રહ્યાં છો 774 00:39:09,740 --> 00:39:11,740 આમ કરવાથી છે કે બધા અમને એક નંબર આપે છે 775 00:39:11,740 --> 00:39:13,670 જેમાં અમે અમારી કિંમતો પર હેશ કરી શકો છો. 776 00:39:13,670 --> 00:39:16,550 >> અને પછી અમે જઈ રહ્યાં છો હેશ મોડ્યુલસ માપ પરત. 777 00:39:16,550 --> 00:39:19,340 ખૂબ, ખૂબ કાળજી રાખો થીયરી પ્રમાણે, અહીં, કારણ કે 778 00:39:19,340 --> 00:39:21,870 તમારા હેશ કિંમત અનંત હોઈ શકે છે. 779 00:39:21,870 --> 00:39:23,660 તે માત્ર પર અને અને પર જાઓ શકે છે. 780 00:39:23,660 --> 00:39:26,080 તે ખરેખર કેટલાક હોઈ શકે છે ખરેખર વિશાળ કિંમત 781 00:39:26,080 --> 00:39:29,849 પરંતુ તમારા હેશ ટેબલ કારણ કે તમે બનાવેલ માત્ર 26 નિર્દેશિકાઓની છે, 782 00:39:29,849 --> 00:39:31,890 તમે ખાતરી કરો કરવા માંગો છો તમારા modulusing કે જેથી તમે 783 00:39:31,890 --> 00:39:33,848 તે જ છે run-- નથી તમારા queue-- તરીકે વસ્તુ 784 00:39:33,848 --> 00:39:36,320 જેથી તમે બંધ સ્કોર નથી કે તમારા હેશ વિધેય નીચે. 785 00:39:36,320 --> 00:39:39,210 >> તમે આસપાસ તે પાછા લપેટી કરવા માંગો છો [અશ્રાવ્ય] જ્યારે આ જ રીતે 786 00:39:39,210 --> 00:39:41,750 તમે ખૂબ જ જેવી હતી ખૂબ જ મોટા અક્ષર, તમે 787 00:39:41,750 --> 00:39:43,740 કે નહિં માંગો હતી માત્ર ઓવરને રન નોંધાયો નહીં. 788 00:39:43,740 --> 00:39:46,948 અહીં જ વસ્તુ તમે ખાતરી કરો કરવા માંગો છો તે વીંટાળવવાની દ્વારા ઓવરને બોલ ચાલતી નથી 789 00:39:46,948 --> 00:39:48,330 આસપાસ ટેબલ ટોચ પર. 790 00:39:48,330 --> 00:39:50,530 તેથી આ માત્ર એક ખૂબ જ સરળ હેશ વિધેય. 791 00:39:50,530 --> 00:39:56,570 હતી કે તમામ લેવા પ્રથમ હતો ગમે અમારા ઇનપુટ પત્ર હતો 792 00:39:56,570 --> 00:40:01,660 અને ઇન્ડેક્સ માં કે ચાલુ કે અમે અમારા હેશ કોષ્ટક માં મૂકી શકે છે. 793 00:40:01,660 --> 00:40:05,450 >> અરે વાહ, અને તેથી હું પહેલાં જણાવ્યું હતું કે અમે અથડામણમાં ઉકેલવા કે જે રીતે 794 00:40:05,450 --> 00:40:09,330 અમારા હેશ કોષ્ટકો આવી રહી છે, અમે chaining, શું કૉલ કરો. 795 00:40:09,330 --> 00:40:13,860 જો તમે બહુવિધ દાખલ કરવા માટે પ્રયત્ન કરો, તો તેથી આ જ વસ્તુ સાથે શરૂ શબ્દો, 796 00:40:13,860 --> 00:40:16,145 તમે એક હેશ કિંમત હોય છે જઈ રહ્યાં છો. 797 00:40:16,145 --> 00:40:18,770 Avocados અને સફરજન, તમે કરેલા જો અમારા હેશ વિધેય મારફતે ચાલે છે, 798 00:40:18,770 --> 00:40:21,450 તમે આપી રહ્યું છે એ જ નંબર, 0 સંખ્યા. 799 00:40:21,450 --> 00:40:24,550 અને તેથી આ રીતે અમે તે છે ઉકેલવા અમે ખરેખર પ્રકારની તેમને લિંક કરી શકો છો કે 800 00:40:24,550 --> 00:40:27,010 સાથે કડી થયેલ યાદીઓ મારફતે. 801 00:40:27,010 --> 00:40:29,600 >> અને તેથી આ અર્થમાં, તમે ગાય્ઝ પ્રકારની જોઈ શકો છો 802 00:40:29,600 --> 00:40:32,640 કેવી રીતે માહિતી માળખાં કે અમે અગાઉ સુયોજિત કરવામાં આવ્યા છે 803 00:40:32,640 --> 00:40:35,870 એક રેઇઝન કડી થયેલ યાદી પ્રકારની જેમ એક માં મળીને આવી શકે છે. 804 00:40:35,870 --> 00:40:38,860 અને પછી તમે અત્યાર સુધી બનાવી શકો છો વધુ કાર્યક્ષમ માહિતી માળખાં 805 00:40:38,860 --> 00:40:43,350 કે મોટા પ્રમાણમાં નિયંત્રિત કરી શકો છો માહિતી, કે ગતિશીલ આધાર રાખીને માપ બદલો 806 00:40:43,350 --> 00:40:44,870 તમારી જરૂરિયાતો પર. 807 00:40:44,870 --> 00:40:45,620 દરેક વ્યક્તિને સાફ? 808 00:40:45,620 --> 00:40:47,580 સ્પષ્ટ ના દરેક પ્રકારની અહીં શું થાય છે? 809 00:40:47,580 --> 00:40:52,110 >> હું insert-- ઇચ્છતા હોય તો એક શું છે મને ખબર નથી, સાથે શરૂ થાય છે ફળ, 810 00:40:52,110 --> 00:40:54,726 બેરી કરતાં અન્ય બી, બનાના. 811 00:40:54,726 --> 00:40:55,710 >> પ્રેક્ષક: બ્લેકબેરી છે. 812 00:40:55,710 --> 00:40:57,910 >> ANDI પેન્ગ: બ્લેકબેરી, બ્લેકબેરી છે. 813 00:40:57,910 --> 00:41:00,530 જ્યાં બ્લેકબેરી અહીં જાઓ નથી? 814 00:41:00,530 --> 00:41:04,251 વેલ, અમે ખરેખર સૉર્ટ નથી આ હજુ સુધી, પરંતુ સૈદ્ધાંતિક 815 00:41:04,251 --> 00:41:06,250 અમે આ છે ઇચ્છતા હોય તો મૂળાક્ષર ક્રમમાં, 816 00:41:06,250 --> 00:41:07,944 જ્યાં જાઓ બ્લેકબેરી જોઈએ? 817 00:41:07,944 --> 00:41:09,210 >> AUDIENCE: [અશ્રાવ્ય] 818 00:41:09,210 --> 00:41:11,100 >> ANDI પેન્ગ: બરાબર, અહીં પછી, અધિકાર? 819 00:41:11,100 --> 00:41:14,950 પરંતુ તે ખૂબ જ મુશ્કેલ છે, કારણ કે reorder-- હું તે તમે ગાય્ઝ પર છે ધારી. 820 00:41:14,950 --> 00:41:17,920 તમે ગાય્ઝ તદ્દન કરી શકો છો તમે ઇચ્છો ગમે અમલ. 821 00:41:17,920 --> 00:41:20,730 વધુ કાર્યક્ષમ રીતે કદાચ આ કરી 822 00:41:20,730 --> 00:41:24,570 તમારી સાથે લિંક સૉર્ટ હશે મૂળાક્ષર ક્રમમાં યાદી 823 00:41:24,570 --> 00:41:26,520 અને તેથી તમે છો ત્યારે વસ્તુઓ દાખલ, તમે કરવા માંગો છો 824 00:41:26,520 --> 00:41:28,632 તેમને સામેલ કરવા માટે ખાતરી કરો મૂળાક્ષર ક્રમમાં 825 00:41:28,632 --> 00:41:30,590 તેથી તે પછી તમે છો ત્યારે તેમને શોધવા માટે પ્રયાસ કરી, 826 00:41:30,590 --> 00:41:32,410 તમે બધું પસાર કરવાની જરૂર નથી. 827 00:41:32,410 --> 00:41:35,290 તમે બરાબર જ્યાં ખબર તે છે, અને તે સરળ છે. 828 00:41:35,290 --> 00:41:39,100 >> પરંતુ તમે પ્રકારની હોય તો વસ્તુઓ અવ્યવસ્થિત જોડાયા 829 00:41:39,100 --> 00:41:41,420 તમે હજુ પણ હોય છે જઈ રહ્યાં છો રસ્તે તે પસાર કરવા માટે. 830 00:41:41,420 --> 00:41:44,990 અને તેથી હું ઇચ્છતા હોય તો માત્ર બ્લેકબેરી અહીં દાખલ 831 00:41:44,990 --> 00:41:47,470 અને હું શોધવા માટે ઇચ્છતા તે હું ઓહ, ખબર છે, બ્લેકબેરી 832 00:41:47,470 --> 00:41:52,012 1 ઇન્ડેક્સ સાથે શરૂ કરવા માટે, જેથી હું જ જોઈએ તત્કાલ માત્ર 1 શોધવા ખબર. 833 00:41:52,012 --> 00:41:53,970 અને પછી હું પ્રકારની કરી શકો છો આ કડી થયેલ યાદી પસાર 834 00:41:53,970 --> 00:41:56,120 હું બ્લેકબેરી વિચાર ત્યાં સુધી, અને હા then--? 835 00:41:56,120 --> 00:41:59,550 >> પ્રેક્ષક: તમે create-- કરવાનો પ્રયાસ કરી રહ્યાં છો, તો આ એક ખૂબ જ સરળ હેશ છે જેમ હું ધારી 836 00:41:59,550 --> 00:42:00,050 કાર્ય. 837 00:42:00,050 --> 00:42:02,835 અને આપણે શું કરવા ઇચ્છતા હોય તો કે જેમ અનેક સ્તરો, 838 00:42:02,835 --> 00:42:05,870 ઠીક છે, અમે માં અલગ કરવા માંગો છો બધા મૂળાક્ષર અક્ષરો જેવા 839 00:42:05,870 --> 00:42:09,040 અને પછી ફરીથી બીજા સેટ કરવા માંગો કે અંદર મૂળાક્ષર અક્ષરો છે, 840 00:42:09,040 --> 00:42:11,715 અમે હેશ જેમ મૂકે છે હેશ કોષ્ટકમાં ટેબલ, 841 00:42:11,715 --> 00:42:13,256 અથવા કાર્ય અંદર એક કાર્ય જેવું? 842 00:42:13,256 --> 00:42:14,880 અથવા that-- છે 843 00:42:14,880 --> 00:42:17,510 >> ANDI પેન્ગ: તમારા હેશ તેથી તમારા હેશ ટેબલ function-- 844 00:42:17,510 --> 00:42:19,360 તમે તેને કરવા માંગો છો તરીકે મોટી હોઈ શકે છે. 845 00:42:19,360 --> 00:42:21,930 તેથી આ અર્થમાં, મેં વિચાર્યું તે ખૂબ જ છે, ખૂબ જ સરળ હતું 846 00:42:21,930 --> 00:42:25,320 મારા માટે સરળ ફક્ત સૉર્ટ આધારિત પ્રથમ શબ્દના અક્ષરો છે. 847 00:42:25,320 --> 00:42:28,690 અને તેથી જ 26 વિકલ્પો છે. 848 00:42:28,690 --> 00:42:32,650 હું માત્ર 26 વિકલ્પો મેળવી શકો છો 25 0, કારણ કે તેઓ કરી શકો છો 849 00:42:32,650 --> 00:42:36,510 એક થી ઝેડ માટે શરૂ પરંતુ જો તમે ઇચ્છતા કદાચ, વધુ જટિલતા ઉમેરવા 850 00:42:36,510 --> 00:42:39,260 અથવા ઝડપી સમય ચલાવો તમારા હેશ ટેબલ, તમે એકદમ 851 00:42:39,260 --> 00:42:40,760 વસ્તુઓ તમામ પ્રકારના કરી શકો છો. 852 00:42:40,760 --> 00:42:43,330 તમે તમારા પોતાના બનાવી શકે છે તમે આપે છે સમીકરણ 853 00:42:43,330 --> 00:42:48,000 વધુ વિતરણ તમારા શબ્દો, તો પછી તમે શોધવા જ્યારે 854 00:42:48,000 --> 00:42:49,300 તે ઝડપી હોઈ રહ્યું છે. 855 00:42:49,300 --> 00:42:52,100 >> તે તદ્દન તમે ગાય્ઝ પર છે તમે કેવી રીતે અમલ કરવા માંગો છો. 856 00:42:52,100 --> 00:42:55,140 માત્ર ડોલથી તરીકે તે વિચારો. 857 00:42:55,140 --> 00:42:57,376 મારી પાસે કરવા ઈચ્છતો હોય તો 26 buckets, હું જાઉં છું 858 00:42:57,376 --> 00:42:59,420 તે buckets માં વસ્તુઓ સૉર્ટ. 859 00:42:59,420 --> 00:43:02,980 પરંતુ હું એક ટોળું હોય જાઉં છું દરેક ડોલ સામગ્રી, 860 00:43:02,980 --> 00:43:05,890 તમે તેને કરવા માંગો છો, તેથી જો ઝડપી અને વધુ કાર્યક્ષમ, 861 00:43:05,890 --> 00:43:07,190 મને સો ડોલથી હોય છે. 862 00:43:07,190 --> 00:43:09,290 >> પરંતુ તે પછી તમે બહાર આકૃતિ હોય છે તેઓ છે કે જેથી રીતે વસ્તુઓ સૉર્ટ 863 00:43:09,290 --> 00:43:11,040 યોગ્ય ડોલ તેઓ પ્રયત્ન કરીશું. 864 00:43:11,040 --> 00:43:13,331 પરંતુ તે પછી જ્યારે ખરેખર તમે કે ડોલ જોવા માંગો છો, 865 00:43:13,331 --> 00:43:16,410 કારણ કે ત્યાં તે ઘણો ઝડપી છે દરેક ડોલ ઓછી સામગ્રી. 866 00:43:16,410 --> 00:43:20,250 અને તેથી, અરે વાહ, કે ખરેખર છે Pset5 તમે ગાય્સ માટે યુક્તિ 867 00:43:20,250 --> 00:43:22,360 તમે રહેશો છે માત્ર બનાવવા માટે પડકાર 868 00:43:22,360 --> 00:43:26,170 સૌથી કાર્યક્ષમ ગમે છે તમે વિચાર કરી શકો છો કાર્ય પ્રયત્ન 869 00:43:26,170 --> 00:43:28,520 સંગ્રહ અને આ કિંમતો તપાસો સમક્ષ રજુ કરવાનો. 870 00:43:28,520 --> 00:43:30,840 >> ટોટલી તમે ગાય્ઝ સુધી તેમ છતાં તમે તેને કરવા માંગો છો, 871 00:43:30,840 --> 00:43:32,229 પરંતુ તે ખરેખર સારા બિંદુ છે. 872 00:43:32,229 --> 00:43:34,520 તે તર્ક પ્રકારની તમે વિશે વિચારવાનો શરૂ કરવા માંગો છો 873 00:43:34,520 --> 00:43:37,236 વેલ, શા માટે હું વધુ ડોલથી બનાવતા નથી, છે. 874 00:43:37,236 --> 00:43:39,527 અને પછી હું શોધવા માટે છે ઓછી વસ્તુઓ, અને પછી કદાચ હું 875 00:43:39,527 --> 00:43:41,640 એક અલગ હેશ વિધેય હોય છે. 876 00:43:41,640 --> 00:43:45,500 >> અરે વાહ, આ કરવા માટે માર્ગો ઘણો છે pset, કેટલાક અન્ય લોકો કરતા ઝડપી છે. 877 00:43:45,500 --> 00:43:50,630 હું તદ્દન માત્ર કેવી રીતે જોવા જાઉં છું ઝડપી સૌથી ઝડપી તમે ગાય્ઝ કરશે હતી 878 00:43:50,630 --> 00:43:55,170 તમારા કાર્યો કામ મેળવવા માટે સક્ષમ હોય છે. 879 00:43:55,170 --> 00:43:58,176 ઠીક છે, દરેકને સારા પર સાંકળ અને હેશ કોષ્ટકો? 880 00:43:58,176 --> 00:44:00,800 તે ખૂબ જ સરળ જેવા ખરેખર છે તમે તે વિશે ખ્યાલ વિચાર કરો. 881 00:44:00,800 --> 00:44:05,160 તે બધા અલગ છે ગમે તમારી ઇનપુટ્સ buckets માં છે, 882 00:44:05,160 --> 00:44:10,670 તેમને સૉર્ટ કરો, અને પછી શોધ સાથે ત્યાં સંકળાયેલ છે કે યાદી આપે છે. 883 00:44:10,670 --> 00:44:11,852 >> કૂલ. 884 00:44:11,852 --> 00:44:18,160 બધા હક છે, હવે અમે એક અલગ પ્રકારની હોય છે માહિતી માળખું એક વૃક્ષ કહેવાય છે કે. 885 00:44:18,160 --> 00:44:20,850 પર જાઓ અને પ્રયત્નોમાં વિશે વાત જે ભિન્ન છે 886 00:44:20,850 --> 00:44:22,330 પરંતુ આ જ શ્રેણી માં. 887 00:44:22,330 --> 00:44:29,010 આવશ્યકપણે, બધા એક વૃક્ષ બદલે છે ના રેખીય રીતે માહિતી આયોજન 888 00:44:29,010 --> 00:44:32,560 હેશ ટેબલ તમે does-- કે , તે ઉપર અને નીચે મળી છે ખબર 889 00:44:32,560 --> 00:44:37,900 અને પછી તમે પ્રકારની તેને એક બંધ લિંક વૃક્ષ, તમે રુટ કૉલ જે ટોચ છે 890 00:44:37,900 --> 00:44:40,220 અને પછી તે બધા તેની આસપાસ પાંદડા છે. 891 00:44:40,220 --> 00:44:42,390 >> અને તેથી તમે બધા અહીં છે માત્ર ટોચ નોડ છે 892 00:44:42,390 --> 00:44:45,980 કે અન્ય ગાંઠો પોઇન્ટ કે નિર્દેશ વધુ ગાંઠો, અને તેથી પર અને તેથી આગળ. 893 00:44:45,980 --> 00:44:48,130 અને તેથી તમે માત્ર વિભાજન શાખાઓ હોય છે. 894 00:44:48,130 --> 00:44:53,255 તે આયોજન માત્ર એક અલગ રીત છે માહિતી, અને અમે તેને એક વૃક્ષ કૉલ કારણ કે, 895 00:44:53,255 --> 00:44:56,270 તમે ગાય્ઝ તે માત્ર છે just-- એક વૃક્ષ જેવો માટે બહાર મોડલિંગ કર્યું હતું. 896 00:44:56,270 --> 00:44:57,670 અમે વૃક્ષો કૉલ શા માટે છે. 897 00:44:57,670 --> 00:44:59,370 >> હેશ ટેબલ ટેબલ જેવો દેખાય છે. 898 00:44:59,370 --> 00:45:01,310 એક વૃક્ષ માત્ર એક વૃક્ષ જેવો દેખાય છે. 899 00:45:01,310 --> 00:45:03,300 તે બધા એક અલગ છે ગાંઠો આયોજન માર્ગ 900 00:45:03,300 --> 00:45:06,020 તમારી જરૂરિયાતો શું છે તેના પર આધાર રાખીને. 901 00:45:06,020 --> 00:45:11,810 >> તેથી જો તમે રુટ હોય છે અને પછી તમે પાંદડા હોય છે. 902 00:45:11,810 --> 00:45:15,380 જે રીતે અમે ખાસ કરીને કરી શકો છો તે બાઈનરી વૃક્ષ છે વિશે વિચારો, 903 00:45:15,380 --> 00:45:18,150 દ્વિસંગી વૃક્ષ માત્ર એક છે એક વૃક્ષ ચોક્કસ પ્રકાર 904 00:45:18,150 --> 00:45:22,450 જ્યાં દરેક નોડ માત્ર પોઇન્ટ માટે, મેક્સ પર, અન્ય બે ગાંઠો. 905 00:45:22,450 --> 00:45:25,434 અને તેથી અહીં તમે અલગ છે તમારા વૃક્ષ માં સમપ્રમાણતા 906 00:45:25,434 --> 00:45:28,600 તે સરળ પ્રકારની જોવા માટે બનાવે છે કિંમતો શું પછી તમે કારણ કે છે 907 00:45:28,600 --> 00:45:30,150 હંમેશા ડાબી કે અધિકાર છે. 908 00:45:30,150 --> 00:45:33,150 ડાબા ત્રીજા જેવા ક્યારેય છે ડાબે અથવા ડાબેથી ચોથા. 909 00:45:33,150 --> 00:45:36,358 તે તમને એક ડાબી અને અધિકાર છે માત્ર છે અને તમે તે બે ક્યાં શોધી શકો છો. 910 00:45:36,358 --> 00:45:38,980 અને તેથી આ શા માટે ઉપયોગી છે? 911 00:45:38,980 --> 00:45:40,980 આ છે કે જે રીતે તમે જોઈ રહ્યાં છો, તો ઉપયોગી છે 912 00:45:40,980 --> 00:45:42,890 અધિકાર, મૂલ્યો મારફતે શોધવા માટે? 913 00:45:42,890 --> 00:45:45,640 તેના બદલે બાઈનરી અમલીકરણ કરતાં એક ભૂલ એરે શોધ 914 00:45:45,640 --> 00:45:49,260 તમે ગાંઠો દાખલ કરવા માટે સક્ષમ કરવા માગતા હોય તો અને ઇચ્છા પર અને એ પણ ગાંઠો દૂર લઇ 915 00:45:49,260 --> 00:45:52,185 શોધ સાચવવા દ્વિસંગી શોધ ક્ષમતા. 916 00:45:52,185 --> 00:45:54,560 તેથી આ રીતે, અમે પ્રકારની છો જ્યારે અમે યાદ tricking-- 917 00:45:54,560 --> 00:45:56,530 કડી થયેલ યાદીઓ દ્વિસંગી શોધ કરી શકો છો નથી? 918 00:45:56,530 --> 00:46:01,700 અમે પ્રકારની માહિતી માળખું બનાવી રહ્યાં છો યુક્તિઓ કામ માં કે. 919 00:46:01,700 --> 00:46:05,034 >> અને તેથી કડી થયેલ યાદીઓ, રેખીય છે તેઓ માત્ર અન્ય પછી એક કડી. 920 00:46:05,034 --> 00:46:06,950 અમે પ્રકારની હોઈ શકે છે પોઇન્ટર વિવિધ પ્રકારની 921 00:46:06,950 --> 00:46:09,408 વિવિધ ગાંઠો કે બિંદુ શોધ સાથે મદદ કરી શકે છે. 922 00:46:09,408 --> 00:46:12,590 અને તેથી અહીં, જો હું કરવા માંગતો દ્વિસંગી શોધ વૃક્ષ છે, 923 00:46:12,590 --> 00:46:14,090 મને ખબર છે મારા મધ્યમ કે 55 હોય તો. 924 00:46:14,090 --> 00:46:18,280 હું માત્ર કે બનાવવા જઈ રહ્યો છું મારા મધ્યમ, મારા રુટ તરીકે, 925 00:46:18,280 --> 00:46:20,770 અને પછી હું પાસે જઈ રહ્યો છું કિંમતો તે બંધ રજૂઆત કરે છે. 926 00:46:20,770 --> 00:46:25,610 >> તેથી અહીં, હું શોધવા માટે જઇ રહ્યો છું તો 66 ની કિંમત, હું 55 ખાતે શરૂ કરી શકો છો. 927 00:46:25,610 --> 00:46:27,310 તે 55 કરતાં 66 વધારે છે? 928 00:46:27,310 --> 00:46:30,970 હા તે છે, તેથી હું શોધવા Mus ખબર હું એ આ વૃક્ષ જમણી નિર્દેશક. 929 00:46:30,970 --> 00:46:32,440 હું 77 પર જાઓ. 930 00:46:32,440 --> 00:46:35,367 ઠીક છે, કરતાં ઓછી અથવા 77 કરતા વધારે 66 છે? 931 00:46:35,367 --> 00:46:37,950 ઓહ, તે કરતાં ઓછી છે, તેથી તમે જાણો છો, કે ડાબી નોડ હોઈ શકે છે. 932 00:46:37,950 --> 00:46:41,410 >> અને તેથી અહીં અમે પ્રકારની સાચવીને કરી રહ્યાં છો એરે વિશે મહાન વસ્તુઓ તમામ, 933 00:46:41,410 --> 00:46:44,420 જેથી ગતિશીલ માપ બદલવાની જેવા વસ્તુઓ હોવા 934 00:46:44,420 --> 00:46:49,530 દાખલ કરો અને ઇચ્છા પર કાઢી નાખવા માટે સક્ષમ, નિશ્ચિત વિશે ચિંતા કર્યા વગર 935 00:46:49,530 --> 00:46:50,370 જગ્યા રકમ. 936 00:46:50,370 --> 00:46:52,820 અમે હજુ પણ તમામ સાચવવા તે અદ્ભુત વસ્તુઓ 937 00:46:52,820 --> 00:46:57,140 પણ જાળવી રાખવા માટે સક્ષમ હોવા પ્રવેશ અને દ્વિસંગી શોધ સમય શોધ 938 00:46:57,140 --> 00:47:00,450 અમે અગાઉ જ હતા કે એક શબ્દસમૂહ વિચાર કરવાનો. 939 00:47:00,450 --> 00:47:06,310 >> કૂલ માહિતી માળખું પ્રકારની જટિલ, નોડ અમલ. 940 00:47:06,310 --> 00:47:08,311 તમે તે બધા જોઈ શકો છો આ નોડ સ્ટ્રક્ટ છે 941 00:47:08,311 --> 00:47:10,143 જો તમે ડાબી હોય છે અને જમણી નિર્દેશક. 942 00:47:10,143 --> 00:47:11,044 તે છે બધા છે. 943 00:47:11,044 --> 00:47:12,960 તેથી તેના બદલે માત્ર કરતાં એક એક્સ અથવા પહેલાંની હોય છે. 944 00:47:12,960 --> 00:47:15,920 પછી તમે ડાબે અથવા જમણી, અને તમે પ્રકારની તેમને મળીને લિંક કરી શકો છો 945 00:47:15,920 --> 00:47:16,836 જો તમે આમ પસંદ કરો. 946 00:47:16,836 --> 00:47:21,080 947 00:47:21,080 --> 00:47:24,270 >> ઠીક છે, અમે ખરેખર જઈ રહ્યાં છો માત્ર થોડી મિનિટો લે છે. 948 00:47:24,270 --> 00:47:25,790 તેથી અમે અહીં પાછા જાઓ જઈ રહ્યાં છો. 949 00:47:25,790 --> 00:47:28,270 હું અગાઉ જણાવ્યું હતું કે, હું પ્રકારની સમજાવી 950 00:47:28,270 --> 00:47:31,520 અમે કેવી રીતે પાછળ તર્ક આ દ્વારા શોધ કરશે. 951 00:47:31,520 --> 00:47:33,860 અમે પ્રયાસ કરવા જઈ રહ્યાં છો આ બહાર pseudocoding જોવા માટે 952 00:47:33,860 --> 00:47:38,000 અમે પ્રકારની આ અરજી કરી શકો છો જો દ્વિસંગી શોધ જ તર્ક 953 00:47:38,000 --> 00:47:40,055 માહિતી માળખું વિવિધ પ્રકાર છે. 954 00:47:40,055 --> 00:47:45,049 તમે ગાય્સ એક દંપતી જેવા લેવા માંગતા હોય તો મિનિટ ફક્ત આ વિશે વિચારો. 955 00:47:45,049 --> 00:48:45,927 956 00:48:45,927 --> 00:48:46,925 ઠીક છે. 957 00:48:46,925 --> 00:48:51,407 બધા હક, હું જાઉં છું ખરેખર માત્ર તમે કોઈ the-- આપે છે, 958 00:48:51,407 --> 00:48:52,990 અમે પ્રથમ સ્યુડોકોડનો વિશે વાત કરીશું. 959 00:48:52,990 --> 00:48:56,580 તેથી કોઈને માંગો છો નથી ઘણો પ્રયાસ શું આપવા 960 00:48:56,580 --> 00:49:02,100 તમે ત્યારે શું કરવા માંગો છો પ્રથમ વસ્તુ તમે શોધ છે બહાર શરૂ કરી રહ્યાં છો? 961 00:49:02,100 --> 00:49:04,460 અમે શોધી રહ્યાં છો, તો 66 ની કિંમત શું છે 962 00:49:04,460 --> 00:49:07,940 અમે તો શું કરવા માંગો છો પ્રથમ વસ્તુ અમે આ વૃક્ષ શોધ બાઈનરી કરવા માંગો છો? 963 00:49:07,940 --> 00:49:10,760 >> પ્રેક્ષક: તમે યોગ્ય જોવા માંગો છો અને [અશ્રાવ્ય] ડાબી જોવા અને જુઓ 964 00:49:10,760 --> 00:49:11,230 મોટી સંખ્યા. 965 00:49:11,230 --> 00:49:12,271 >> ANDI પેન્ગ: અરે વાહ, બરાબર. 966 00:49:12,271 --> 00:49:15,350 તેથી જો તમે તમારો રુટ જોવા જઈ રહ્યાં છો. 967 00:49:15,350 --> 00:49:18,180 તમે કહી શકો છો ઘણી બધી રીતો છે તે તમારા પેરેંટ નોડ લોકો કહે છે. 968 00:49:18,180 --> 00:49:21,317 હું કારણ કે રુટ કહેવું માંગો કે વૃક્ષની રુટ જેવું છે. 969 00:49:21,317 --> 00:49:23,400 તમે જોવા માટે જઈ રહ્યાં છો તમારા રુટ નોડ, અને તમે છો 970 00:49:23,400 --> 00:49:26,940 જોવા જઈ 66 વધારે છે કરતા વધુ કે ઓછા 55. 971 00:49:26,940 --> 00:49:30,360 અને તે સારી રીતે, તે છે, કરતાં વધારે છે, તો કરતાં વધારે છે, જ્યાં અમે જોવા માટે કરવા માંગો છો? 972 00:49:30,360 --> 00:49:32,000 જ્યાં અમે અધિકાર છે, હવે શોધ કરવા માંગો છો? 973 00:49:32,000 --> 00:49:34,340 અમે શોધ કરવા માંગો છો આ વૃક્ષ જમણી અડધા. 974 00:49:34,340 --> 00:49:38,390 >> તેથી અમે હોય છે, સરળ, એક જમણી નિર્દેશ કરે છે કે નિર્દેશક. 975 00:49:38,390 --> 00:49:44,325 અને તેથી તે પછી અમે સેટ કરી શકો છો અમારા નવા રુટ 77 હોય છે. 976 00:49:44,325 --> 00:49:46,450 અમે હમણાં જ ત્યાં જઈ શકો છો નિર્દેશક પોઇન્ટ છે. 977 00:49:46,450 --> 00:49:49,100 વેલ, ઓહ, અહીં અમે શરૂ કરી રહ્યાં છો 77 ખાતે, અને અમે હમણાં કરી શકો છો 978 00:49:49,100 --> 00:49:51,172 પુનરાવર્તિત ફરીથી અને ફરીથી આવું. 979 00:49:51,172 --> 00:49:52,880 આ રીતે, તમે પ્રકારની એક કાર્ય છે. 980 00:49:52,880 --> 00:49:57,430 તમે તે શોધ એક માર્ગ છે માત્ર અને ઉપર અને ઉપર પર પુનરાવર્તન કરી શકો છો, 981 00:49:57,430 --> 00:50:02,720 તમે જોવા માંગો છો તેના પર આધાર રાખીને તમે આખરે કિંમત વિચાર ત્યાં સુધી 982 00:50:02,720 --> 00:50:04,730 તમે શોધી રહ્યાં છે. 983 00:50:04,730 --> 00:50:05,230 અર્થમાં બનાવવા? 984 00:50:05,230 --> 00:50:07,800 >> હું તમને વાસ્તવિક બતાવવા માટે વિશે છું કોડ છે, અને તે કોડ ઘણો છે. 985 00:50:07,800 --> 00:50:08,674 કોઈ જરૂર બહાર ફ્રીક છે. 986 00:50:08,674 --> 00:50:09,910 અમે તે મારફતે વાત કરીશું. 987 00:50:09,910 --> 00:50:13,410 988 00:50:13,410 --> 00:50:14,020 >> ખરેખર, નં. 989 00:50:14,020 --> 00:50:15,061 કે જે હમણાં જ સ્યુડોકોડનો હતી. 990 00:50:15,061 --> 00:50:17,860 ઠીક છે, કે જે માત્ર સ્યુડોકોડનો હતી જે થોડી જટિલ છે, 991 00:50:17,860 --> 00:50:19,751 પરંતુ તે તદ્દન દંડ છે. 992 00:50:19,751 --> 00:50:21,000 અહીં દરેક વ્યક્તિને સાથે પગલે? 993 00:50:21,000 --> 00:50:24,260 રુટ નલ છે, તો પાછા ફરો ખોટા કે કારણ કે તેનો અર્થ 994 00:50:24,260 --> 00:50:26,850 તમે પણ ત્યાં કંઈ નથી. 995 00:50:26,850 --> 00:50:31,376 >> રુટ n તેથી જો કિંમત છે, તો તે તમે જોઈ રહ્યાં છો, એક બને છે, 996 00:50:31,376 --> 00:50:34,000 પછી તમે સાચા પાછા જઈ રહ્યાં છો તમે જાણો છો કારણ કે તમે તેને જોવા મળે છે. 997 00:50:34,000 --> 00:50:36,250 પરંતુ તેનું મૂલ્ય ઓછું હોય તો n ના રુટ કરતાં, તમે છો 998 00:50:36,250 --> 00:50:38,332 ડાબી શોધવા માટે જઈ બાળક કે ડાબી પર્ણ, 999 00:50:38,332 --> 00:50:39,540 તમે તેને કૉલ કરવા માંગો છો. 1000 00:50:39,540 --> 00:50:41,750 અને કિંમત રુટ કરતાં વધારે હોય છે, તમે યોગ્ય વૃક્ષ શોધવા માટે જઈ રહ્યાં છો, 1001 00:50:41,750 --> 00:50:44,610 પછી માત્ર કાર્ય ચલાવો શોધ મારફતે ફરી. 1002 00:50:44,610 --> 00:50:48,037 >> અને રુટ નલ છે, કે જે જો તમે અંત સુધી પહોંચી ગયા છો છે? 1003 00:50:48,037 --> 00:50:50,120 કે કોઈ તમારી પાસે એનો અર્થ એ થાય વધુ વધુ પાંદડા શોધવા માટે, 1004 00:50:50,120 --> 00:50:52,230 પછી તમે હું, ઓહ, ખબર તે અહીં નથી ધારી 1005 00:50:52,230 --> 00:50:55,063 હું મારફતે જોવામાં કર્યું છે કારણ કે પછી અને તે અહીં નથી સમગ્ર બાબત, 1006 00:50:55,063 --> 00:50:56,930 તે માત્ર અહીં ન હોઈ શકે છે. 1007 00:50:56,930 --> 00:50:58,350 >> કે દરેકને અર્થમાં બનાવવા નથી? 1008 00:50:58,350 --> 00:51:03,230 તેથી તે સાચવીને દ્વિસંગી શોધ જેવી છે કડી થયેલ યાદીઓ ક્ષમતાઓ. 1009 00:51:03,230 --> 00:51:09,200 સરસ, અને તેથી બીજા પ્રકાર માહિતી માળખું તમે ગાય્ઝ 1010 00:51:09,200 --> 00:51:13,180 તમારા pset પર અમલ કરવાનો પ્રયાસ કરી શકો છો, જો તમે માત્ર એક પદ્ધતિ પસંદ કરો છે. 1011 00:51:13,180 --> 00:51:19,430 પરંતુ કદાચ એક વૈકલ્પિક પદ્ધતિ હેશ ટેબલ અમે એક trie કૉલ છે. 1012 00:51:19,430 --> 00:51:24,080 >> છે બધા એક trie છે વૃક્ષ ચોક્કસ પ્રકારની છે કે જે 1013 00:51:24,080 --> 00:51:28,600 અન્ય કિંમતો પર જવા કિંમતો કે જે છે. 1014 00:51:28,600 --> 00:51:31,450 તેથી તેના બદલે એક બાઈનરી કર્યા અર્થમાં વૃક્ષ માત્ર એક કે 1015 00:51:31,450 --> 00:51:35,940 વસ્તુ બે નિર્દેશ કરી શકો છો, તમે કરી શકો છો ઘણી વસ્તુઓ માટે એક વસ્તુ બિંદુ. 1016 00:51:35,940 --> 00:51:39,450 તમે અનિવાર્યપણે એરે છે જે તમે સ્ટોર અંદર 1017 00:51:39,450 --> 00:51:41,790 અન્ય એરે માટે નિર્દેશ કે પોઇન્ટર. 1018 00:51:41,790 --> 00:51:45,210 1019 00:51:45,210 --> 00:51:49,460 >> તેથી અમે કેવી રીતે નોડ એક trie વ્યાખ્યાયિત કરશે 1020 00:51:49,460 --> 00:51:52,590 અમે હોય માંગો છો બુલિયન, સી શબ્દ છે, અધિકાર? 1021 00:51:52,590 --> 00:51:54,920 તેથી આ નોડ બુલિયન છે સાચું અથવા ખોટું જેવી 1022 00:51:54,920 --> 00:51:58,490 ના વડા પર સૌ પ્રથમ કે એરે, આ એક શબ્દ છે? 1023 00:51:58,490 --> 00:52:03,620 બીજું, તમે પોઇંટરો કરવા માંગો છો ગમે તેમને બાકીના છે. 1024 00:52:03,620 --> 00:52:07,470 થોડી જટિલ છે, થોડી અમૂર્ત, પરંતુ હું શું કે બધા અર્થ સમજાવશે. 1025 00:52:07,470 --> 00:52:13,800 >> તેથી અહીં ટોચ પર, તમે તો એક એરે પહેલાથી જ જણાવ્યું છે, 1026 00:52:13,800 --> 00:52:17,040 તમે બુલિયન હોય છે, જ્યાં નોડ આ બોલ પર સંગ્રહિત કિંમત 1027 00:52:17,040 --> 00:52:19,490 કે તમે આ એક શબ્દ છે કહે છે? 1028 00:52:19,490 --> 00:52:20,520 આ એક શબ્દ છે? 1029 00:52:20,520 --> 00:52:23,240 અને પછી તમે હોય છે તમારા એરે બાકીના કે 1030 00:52:23,240 --> 00:52:26,040 ખરેખર સંગ્રહ તમામ તે હોઈ શકે છે શું શક્યતાઓ. 1031 00:52:26,040 --> 00:52:28,660 તેથી, ઉદાહરણ તરીકે, જેમ ટોચ પર તમારી પાસે 1032 00:52:28,660 --> 00:52:32,140 સાચું કે કહે છે કે પ્રથમ વસ્તુ ખોટા, હા અથવા ના, આ શબ્દ છે. 1033 00:52:32,140 --> 00:52:38,130 >> અને પછી તમે 26 મારફતે 0 છે તમે સ્ટોર કરી શકો છો કે જે અક્ષરો. 1034 00:52:38,130 --> 00:52:42,790 હું અહીં શોધવા માટે ઈચ્છતો હોય તો બેટ માટે, હું ટોચ પર જાઓ 1035 00:52:42,790 --> 00:52:49,200 અને હું બી શોધવા બી જોવા મારા એરે, અને તેથી મને ખબર છે, ઠીક છે, બી એક શબ્દ છે? 1036 00:52:49,200 --> 00:52:53,010 બી જેથી આમ, એક શબ્દ નથી હું શોધ રાખવા જ જોઈએ. 1037 00:52:53,010 --> 00:52:56,410 હું બી માંથી જાઓ, અને હું જોવા બી તરફ નિર્દેશ કરે છે કે નિર્દેશક 1038 00:52:56,410 --> 00:53:00,900 અને હું માહિતી અન્ય એરે જોવા અમે પહેલાં હતી તેવી જ માળખું. 1039 00:53:00,900 --> 00:53:05,240 >> અને, ઓહ આગામી અહીં [અશ્રાવ્ય] માં અક્ષર એ છે 1040 00:53:05,240 --> 00:53:07,210 તેથી અમે તે એરે માં જુઓ. 1041 00:53:07,210 --> 00:53:10,860 અમે આઠમા કિંમત શોધવા, અને પછી અમે ઓહ, જોવા માટે જુઓ 1042 00:53:10,860 --> 00:53:12,840 અરે, એક શબ્દ છે, બી એક શબ્દ છે? 1043 00:53:12,840 --> 00:53:13,807 તે શબ્દ નથી. 1044 00:53:13,807 --> 00:53:14,890 અમે શોધી રાખવા મળી છે. 1045 00:53:14,890 --> 00:53:17,850 >> અને તેથી તે પછી અમે જ્યાં જુઓ એક પોઈન્ટ નિર્દેશક, 1046 00:53:17,850 --> 00:53:21,130 અને તે અન્ય રીતે નિર્દેશ જે અમે વધુ કિંમત સંગ્રહિત છે. 1047 00:53:21,130 --> 00:53:24,150 અને છેવટે, અમે વિચાર એક શબ્દ છે, જે બી એ ટી. 1048 00:53:24,150 --> 00:53:25,970 અને તેથી આગામી સમય તમે જુઓ, તમે જઈ રહ્યાં છો 1049 00:53:25,970 --> 00:53:30,850 હા, તે ચેક છે, આ બુલિયન કાર્ય સાચું છે. 1050 00:53:30,850 --> 00:53:35,450 અને તેથી અર્થમાં અમે પ્રકારની છો એરે સાથે વૃક્ષ હોય છે. 1051 00:53:35,450 --> 00:53:39,890 >> તેથી પછી તમે પ્રકારની નીચે શોધી શકો છો. 1052 00:53:39,890 --> 00:53:43,650 તેના બદલે એક કાર્ય હેશીંગ કરતાં યાદીની લિંક દ્વારા કિંમતો સોંપણી, 1053 00:53:43,650 --> 00:53:49,190 તમે માત્ર એક અમલ કરી શકે છે downwords શોધે છે કે trie. 1054 00:53:49,190 --> 00:53:50,850 ખરેખર, ખરેખર સામગ્રી જટીલ. 1055 00:53:50,850 --> 00:53:54,060 હું જેવી છું કારણ કે વિશે વિચારો કરવા માટે સરળ નથી ઘણા માહિતી માળખાં બહાર spitting 1056 00:53:54,060 --> 00:53:58,710 તમે, પરંતુ પ્રકારની દરેક કરે છે આ તર્ક કેવી રીતે કામ કરે? 1057 00:53:58,710 --> 00:54:01,920 >> ઠંડી, ઠીક. 1058 00:54:01,920 --> 00:54:05,600 તેથી બી એ ટી, અને પછી તમે શોધવા માટે જઈ રહ્યાં છો. 1059 00:54:05,600 --> 00:54:07,940 તમે જઈ રહ્યાં છો આગામી સમય ઓહ, અરે, તે સાચું છે, તે જોવા માટે, 1060 00:54:07,940 --> 00:54:09,273 આમ હું આ એક શબ્દ જ હોવી જોઈએ ખબર. 1061 00:54:09,273 --> 00:54:12,030 1062 00:54:12,030 --> 00:54:13,770 >> ઝૂ માટે જ વસ્તુ. 1063 00:54:13,770 --> 00:54:17,960 તેથી અહીં વાત છે, તો હમણાં અમે હમણાં, ઝૂ શોધવા માટે માગતા હતા, 1064 00:54:17,960 --> 00:54:20,780 હાલમાં ઝૂ નથી અમારા શબ્દકોશ શબ્દ 1065 00:54:20,780 --> 00:54:25,300 કારણ કે તમે ગાય્ઝ, જોઈ શકો છો અમે એક બુલિયન છે કે પ્રથમ સ્થાને 1066 00:54:25,300 --> 00:54:28,590 સાચું આપશે ઝૂમ ઓવરને અંતે છે. 1067 00:54:28,590 --> 00:54:30,430 અમે ઝેડ-ઓ-ઓ-એમ છે. 1068 00:54:30,430 --> 00:54:33,900 >> અને તેથી અહીં, અમે ખરેખર ન હોય અમારા શબ્દકોશ શબ્દ, પ્રાણી સંગ્રહાલય, 1069 00:54:33,900 --> 00:54:36,070 આ ચેક બોક્સ ચકાસાયેલ નથી. 1070 00:54:36,070 --> 00:54:39,540 તેથી કમ્પ્યુટર નથી ઝૂ શબ્દ છે ખબર છે કે 1071 00:54:39,540 --> 00:54:42,430 કારણ કે અમે કર્યો છે કે માર્ગ માત્ર એક મોટું અહીં, તે સંગ્રહિત 1072 00:54:42,430 --> 00:54:44,920 ખરેખર એક બુલિયન કિંમત છે એ વાત સાચી ચાલુ કરવામાં આવી છે. 1073 00:54:44,920 --> 00:54:49,380 અમે દાખલ કરવા માંગો છો, તો શબ્દ ઝૂ અમારા શબ્દકોશ માં, 1074 00:54:49,380 --> 00:54:51,770 અમે તે કરી વિશે કેવી રીતે જાઓ છો? 1075 00:54:51,770 --> 00:54:55,960 અમે ખાતરી કરવા માટે શું કરવું છે શું અમારા કમ્પ્યુટર Z-ઓ-ઓ એક શબ્દ છે કે જે જાણે છે 1076 00:54:55,960 --> 00:54:58,130 અને પ્રથમ શબ્દ Z-ઓ-ઓ-એમ છે? 1077 00:54:58,130 --> 00:54:59,360 >> AUDIENCE: [અશ્રાવ્ય] 1078 00:54:59,360 --> 00:55:01,450 >> ANDI પેન્ગ: બરાબર, અમે આ છે કે જે ખાતરી કરવા માંગો છો 1079 00:55:01,450 --> 00:55:07,890 અહીં, કે બુલિયન કિંમત છે તે સાચું છે કે આ બોલ પર ચકાસાયેલ. 1080 00:55:07,890 --> 00:55:13,297 Z-ઓ-ઓ, પછી અમે તે ચકાસવા માટે જઈ રહ્યાં છો, તેથી અમે બરાબર, હેય, ઝૂ એક શબ્દ છે ખબર. 1081 00:55:13,297 --> 00:55:15,380 હું કહી જાઉં છું તે શબ્દ તેથી આપણે કે કમ્પ્યુટર 1082 00:55:15,380 --> 00:55:18,000 , જ્યારે કમ્પ્યુટર ચકાસે છે કે જે તે ઝૂ એક શબ્દ છે કે જાણે છે. 1083 00:55:18,000 --> 00:55:21,269 >> આ બધા માહિતી યાદ કારણ માળખાં, તે અમારા માટે ખૂબ જ સરળ છે 1084 00:55:21,269 --> 00:55:22,310 ઓહ, બેટ એક શબ્દ છે, કહે છે. 1085 00:55:22,310 --> 00:55:22,851 ઝૂ શબ્દ છે. 1086 00:55:22,851 --> 00:55:23,611 મોટું એક શબ્દ છે. 1087 00:55:23,611 --> 00:55:25,860 પરંતુ તમે તેને મકાન રહ્યા છો, ત્યારે કમ્પ્યુટર કોઈ વિચાર છે. 1088 00:55:25,860 --> 00:55:28,619 >> તેથી જો તમે તે બરાબર કહી છે કયા બિંદુ પર આ એક શબ્દ છે? 1089 00:55:28,619 --> 00:55:29,910 શું બિંદુએ એક શબ્દ નથી? 1090 00:55:29,910 --> 00:55:31,784 અને શું બિંદુએ હું શું વસ્તુઓ શોધવા માટે જરૂર છે, 1091 00:55:31,784 --> 00:55:34,000 અને શું બિંદુએ હું આગામી જવા માટે જરૂર છે? 1092 00:55:34,000 --> 00:55:37,010 કે સ્પષ્ટ દરેક વ્યક્તિને? 1093 00:55:37,010 --> 00:55:39,540 કૂલ. 1094 00:55:39,540 --> 00:55:42,530 >> અને તેથી તે પછી આવે છે સમસ્યા અમે કેવી રીતે કરશે 1095 00:55:42,530 --> 00:55:45,560 કંઈક દાખલ વિશે જાઓ કે ત્યાં ખરેખર નથી? 1096 00:55:45,560 --> 00:55:49,090 તેથી આપણે માત્ર અમે સામેલ કરવા માંગુ છુ અમારા trie માં શબ્દ, સ્નાન. 1097 00:55:49,090 --> 00:55:53,589 તમે ગાય્ઝ હાલમાં જેમ જોઈ શકો છો આપણે હવે હોય છે, બી એ ટી 1098 00:55:53,589 --> 00:55:55,630 અને આ નવી માહિતી માળખું એક સુઘીમાંઃ ત્યાં હતી કે 1099 00:55:55,630 --> 00:55:59,740 અમે ધારે કારણ કે નલ પર ધ્યાન ઓહ, બી એ ટી પછી ત્યાં કોઈ શબ્દો છે, કે જે, 1100 00:55:59,740 --> 00:56:02,530 શા માટે અમે રાખવા જરૂર નથી કે ટી ​​પછી વસ્તુઓ કર્યા 1101 00:56:02,530 --> 00:56:06,581 >> અમે તમને હોય તો પણ આ સમસ્યા ઊભી થાય છે પછી આવે છે કે એક શબ્દ છે કરવા માંગો છો 1102 00:56:06,581 --> 00:56:07,080 ટી માતાનો. 1103 00:56:07,080 --> 00:56:09,500 તમે સ્નાન હોય, તો તમે છો એચ અધિકાર માંગો છો જઈ રહી છે. 1104 00:56:09,500 --> 00:56:13,290 અને તેથી અમે તે કરવા જઇ રહ્યા છો માર્ગ છે અમે એક અલગ નોડ બનાવવા જઈ રહ્યાં છો. 1105 00:56:13,290 --> 00:56:16,840 અમે ગમે રકમ ફાળવવાનો નથી કરી રહ્યાં છો આ નવી એરે માટે મેમરી, 1106 00:56:16,840 --> 00:56:20,720 અને અમે પોઇન્ટર પુનઃસોંપણી કરવા જઈ રહ્યાં છો. 1107 00:56:20,720 --> 00:56:22,947 >> અમે સોંપવા માટે જઈ રહ્યાં છો એચ, સૌ પ્રથમ, આ નલ, 1108 00:56:22,947 --> 00:56:24,030 અમે છુટકારો મેળવવા માટે જઈ રહ્યાં છો. 1109 00:56:24,030 --> 00:56:26,590 અમે હોય રહ્યા છીએ એચ બિંદુ નીચે. 1110 00:56:26,590 --> 00:56:30,600 અમે એક એચ જુઓ તો, અમે તેને કરવા માંગો છો બીજે ક્યાંક જાઓ. 1111 00:56:30,600 --> 00:56:33,910 >> અહીં, અમે પછી હા બંધ કરી શકો છો. 1112 00:56:33,910 --> 00:56:38,170 અમે ટી પછી એચ દબાવો, ઓહ, પછી અમે આ એક શબ્દ છે ખબર છે કે. 1113 00:56:38,170 --> 00:56:41,110 બુલિયન સાચું પાછા જઈ રહ્યું છે. 1114 00:56:41,110 --> 00:56:42,950 દરેક વ્યક્તિને થયું કે કેવી રીતે સાફ? 1115 00:56:42,950 --> 00:56:45,110 ઠીક છે. 1116 00:56:45,110 --> 00:56:47,214 >> તેથી અનિવાર્યપણે, તમામ આ માહિતી બંધારણોની 1117 00:56:47,214 --> 00:56:50,130 આજે આપણે ઉપર ગયા કર્યું છે, હું કર્યું ખરેખર, ખરેખર ઝડપથી તેમને ઉપર ગયો 1118 00:56:50,130 --> 00:56:52,192 અને ખૂબ માં વિગતવાર, અને તે બરાબર છે. 1119 00:56:52,192 --> 00:56:53,900 તમે ગડબડ શરૂ એકવાર તેની સાથે, તમે રહેશો 1120 00:56:53,900 --> 00:56:55,733 જ્યાં રાખવામાં બધા પોઇન્ટર છે 1121 00:56:55,733 --> 00:56:58,060 શું થઈ રહ્યું છે તમારા માહિતી માળખાં, વગેરે એટ. 1122 00:56:58,060 --> 00:56:59,810 તેઓ ખૂબ જ ઉપયોગી હશો અને તે તમે નક્કી કરો 1123 00:56:59,810 --> 00:57:03,890 ગાય્ઝ તદ્દન બહાર આકૃતિ કેવી રીતે તમે વસ્તુઓ અમલ કરવા માંગો છો. 1124 00:57:03,890 --> 00:57:07,650 >> અને તેથી pset4 છે, 5-- ઓહ, તે ખોટી છે. 1125 00:57:07,650 --> 00:57:10,140 Pset5 ખોટી જોડણી છે. 1126 00:57:10,140 --> 00:57:13,710 હું પહેલાં જણાવ્યું હતું કે, તમે એક વાર માટે જઈ રહ્યાં છો ફરીથી, અમારી પાસેથી સ્રોત કોડ ડાઉનલોડ કરો. 1127 00:57:13,710 --> 00:57:16,210 ત્રણ મુખ્ય હોઈ રહ્યું છે વસ્તુઓ તમે ડાઉનલોડ કરી શકશો. 1128 00:57:16,210 --> 00:57:18,470 તમે શબ્દકોશ ડાઉનલોડ પડશે KERS, અને પાઠો. 1129 00:57:18,470 --> 00:57:21,660 >> તે તમામ બાબતો છે ક્યાં શબ્દો શબ્દકોશ 1130 00:57:21,660 --> 00:57:25,190 અમે તમને ચેક કરવા માંગો છો કે અથવા માહિતી ટેસ્ટ 1131 00:57:25,190 --> 00:57:26,930 અમે તમને જોડણી કરવા માંગો છો છે. 1132 00:57:26,930 --> 00:57:29,670 અને તેથી શબ્દકોશ અમે તમને જતા હોય છે આપી 1133 00:57:29,670 --> 00:57:34,870 જો અમે માંગો છો તે વાસ્તવિક શબ્દો આપવા માટે તમે જ તે રીતે કોઈક સંગ્રહવા માટે 1134 00:57:34,870 --> 00:57:36,530 ઝાકઝમાળ કરતાં વધુ કાર્યક્ષમ. 1135 00:57:36,530 --> 00:57:38,470 અને પછી પાઠો છે અમે છો માટે શું હોવું રહ્યું 1136 00:57:38,470 --> 00:57:43,900 તમે પૂછવા તેની ખાતરી કરવા માટે તપાસ જોડણી બધા જ શબ્દો વાસ્તવિક શબ્દો છે. 1137 00:57:43,900 --> 00:57:47,970 >> અને તેથી ત્રણ બ્લોકો અમે તમને આપી શકશો કે કાર્યક્રમો 1138 00:57:47,970 --> 00:57:51,130 dictionary.c કહેવામાં આવે છે, dictionary.h, અને speller.c. 1139 00:57:51,130 --> 00:57:56,500 અને તેથી તમામ dictionary.c છે કરે છે શું તમે અમલ કરવા પૂછવામાં કરી રહ્યાં છો. 1140 00:57:56,500 --> 00:57:57,880 તે શબ્દો લોડ કરે છે. 1141 00:57:57,880 --> 00:58:02,000 તે ચકાસે છે તેમને જોડણી છે, અને તે ખાતરી કરે છે કે બધું યોગ્ય રીતે દાખલ કરવામાં આવે છે. 1142 00:58:02,000 --> 00:58:05,180 >> diction.h ફક્ત લાઇબ્રેરીનું ફાઇલ છે તે બધા કાર્યો જાહેર. 1143 00:58:05,180 --> 00:58:07,650 અને speller.c, અમે તમને આપી રહ્યા છીએ. 1144 00:58:07,650 --> 00:58:09,290 તમે તેને કોઈપણ સુધારવા માટે જરૂર નથી. 1145 00:58:09,290 --> 00:58:14,290 બધા speller.c છે કે લાગે છે, લોડ તે ઝડપ ચકાસે છે, 1146 00:58:14,290 --> 00:58:19,190 કેવી રીતે ગમે બેન્ચમાર્ક પરીક્ષણ ઝડપથી તમે વસ્તુઓ કરવા માટે સમર્થ છો. 1147 00:58:19,190 --> 00:58:20,410 >> તે સ્પેલર છે. 1148 00:58:20,410 --> 00:58:23,920 માત્ર તેની સાથે વાસણ નથી, પરંતુ બનાવવા ખાતરી કરો કે તમે તે શું કરી રહ્યો છે સમજે છે. 1149 00:58:23,920 --> 00:58:28,090 અમે એક કાર્ય કહેવાય getrusage ઉપયોગ કરે છે તમારી જોડણી કામગીરી પરીક્ષણ 1150 00:58:28,090 --> 00:58:28,590 તપાસનાર. 1151 00:58:28,590 --> 00:58:32,200 બધા મૂળભૂત રીતે તે કસોટી છે કરે છે તમારી શબ્દકોશ બધું સમય, 1152 00:58:32,200 --> 00:58:33,680 જેથી તમે તેને સમજી તેની ખાતરી કરો. 1153 00:58:33,680 --> 00:58:36,660 તેની સાથે વાસણ નથી કાળજી રાખો કે બીજું વસ્તુઓ યોગ્ય રીતે ચલાવવા નહીં. 1154 00:58:36,660 --> 00:58:39,740 1155 00:58:39,740 --> 00:58:44,170 >> અને આ પડકાર બલ્ક માટે છે તમે ગાય્ઝ ખરેખર dictionary.c સુધારવા માટે. 1156 00:58:44,170 --> 00:58:48,526 અમે તમને આપવા માટે જઈ રહ્યાં છો એક શબ્દકોશ 140000 શબ્દો. 1157 00:58:48,526 --> 00:58:50,900 અમે તમને એક ટેક્સ્ટ આપવા જઈ રહ્યાં છો તે શબ્દો છે કે ફાઇલ, 1158 00:58:50,900 --> 00:58:54,840 અને અમે તમને આયોજન સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માંગો છો હેશ કોષ્ટક અથવા એક trie માં તેમને 1159 00:58:54,840 --> 00:58:58,140 અમે જોડણી કરવા માટે તમને પૂછે છે કારણ કે જ્યારે તમે જોડણી હો તો કલ્પના check-- 1160 00:58:58,140 --> 00:59:00,690 હોમરની ઓડીસી જેવા ચકાસણી. 1161 00:59:00,690 --> 00:59:03,010 આ વિશાળ, વિશાળ ટેસ્ટ જેવું છે. 1162 00:59:03,010 --> 00:59:05,190 >> દરેક એક તો કલ્પના શબ્દ તમે જોવા માટે હતી 1163 00:59:05,190 --> 00:59:08,100 140000 કિંમતો ઝાકઝમાળ દ્વારા. 1164 00:59:08,100 --> 00:59:10,350 કે કાયમ માટે લઇ શકે છે તમારા મશીન ચલાવવા માટે. 1165 00:59:10,350 --> 00:59:14,490 અમે અમારા આયોજન કરવા માંગો છો શા માટે છે વધુ કાર્યક્ષમ માહિતી માળખાં માં માહિતી 1166 00:59:14,490 --> 00:59:17,270 આવા હેશ કોષ્ટક અથવા એક trie છે. 1167 00:59:17,270 --> 00:59:20,700 અને પછી તમે ગાય્ઝ પ્રકારની કરી શકો છો તમે વપરાશ શોધ જ્યારે 1168 00:59:20,700 --> 00:59:22,570 વસ્તુઓ વધુ સરળતાથી અને વધુ ઝડપથી. 1169 00:59:22,570 --> 00:59:24,934 >> અને તેથી અથડામણમાં ઉકેલવા માટે ખૂબ કાળજી રાખો. 1170 00:59:24,934 --> 00:59:27,350 તમે એક ટોળું વિચાર જઈ રહ્યાં છો એ સાથે શરૂ શબ્દો 1171 00:59:27,350 --> 00:59:29,957 તમે એક ટોળું શબ્દો વિચાર જઈ રહ્યાં છો કે તમે ઉપર બી સાથે શરૂ 1172 00:59:29,957 --> 00:59:31,290 તમે કરવા માંગો છો કેવી રીતે ગાય્સ તેને ઉકેલવા. 1173 00:59:31,290 --> 00:59:34,144 કદાચ વધુ છે કાર્યક્ષમ હેશ વિધેય 1174 00:59:34,144 --> 00:59:36,810 માત્ર પ્રથમ અક્ષર કરતાં કંઈક છે, અને તેથી તે તમે નક્કી કરો 1175 00:59:36,810 --> 00:59:38,190 ગાય્ઝ પ્રકારની ગમે તમે ઇચ્છો કરવું. 1176 00:59:38,190 --> 00:59:40,148 >> કદાચ તમે ઍડ કરવા માંગો છો એકસાથે બધા અક્ષરો. 1177 00:59:40,148 --> 00:59:43,410 કદાચ તમે વિચિત્ર વસ્તુઓ ગમે કરવા માંગો છો અક્ષરો નંબર અમને એકાઉન્ટ માટે, 1178 00:59:43,410 --> 00:59:43,970 ગમે તે. 1179 00:59:43,970 --> 00:59:45,386 તમે કરવા માંગો છો તમે કેવી રીતે ગાય્સ માટે વસ્ત્ર. 1180 00:59:45,386 --> 00:59:49,262 તમે છો, તો એક હેશ ટેબલ કરવા માંગો છો તદ્દન અપ તમે, એક trie પ્રયાસ કરવા માંગો છો. 1181 00:59:49,262 --> 00:59:52,470 હું સમય કે આગળ તમે ચેતવણી આવશે trie સામાન્ય રીતે થોડી વધુ મુશ્કેલ છે 1182 00:59:52,470 --> 00:59:54,520 ઘણો છે માત્ર કારણ કે વધુ પોઇન્ટર સાચવી રાખે છે. 1183 00:59:54,520 --> 00:59:55,645 પરંતુ તદ્દન તમે ગાય્ઝ સુધી. 1184 00:59:55,645 --> 00:59:58,742 તે અત્યાર સુધી વધુ કાર્યક્ષમ છે મોટા ભાગના કિસ્સાઓમાં. 1185 00:59:58,742 --> 01:00:01,450 તમે ખરેખર રાખવા કરવાનો પ્રયત્ન કરવા માંગો છો તમારા પોઇંટરો તમામ ટ્રેક. 1186 01:00:01,450 --> 01:00:03,850 જેવી જ વસ્તુ કરવા હું અહીં કરી હતી. 1187 01:00:03,850 --> 01:00:06,871 જ્યારે તમે દાખલ કરવા માટે પ્રયાસ કરી રહ્યાં છો હેશ કોષ્ટક માં મૂલ્યો અથવા કાઢી શકો છો, 1188 01:00:06,871 --> 01:00:08,620 તમે છો કે નહીં તેની ખાતરી ખરેખર રાખવામાં 1189 01:00:08,620 --> 01:00:11,860 બધું છે કારણ કે જ્યાં તે હું છું તો ખરેખર સરળ છે 1190 01:00:11,860 --> 01:00:14,727 શબ્દ એન્ડી જેવા દાખલ કરવા માટે પ્રયાસ કરે છે. 1191 01:00:14,727 --> 01:00:16,810 માત્ર કે એ કહે છે વાસ્તવિક શબ્દ, શબ્દ, એન્ડી, 1192 01:00:16,810 --> 01:00:19,640 એક શબ્દો એક વિશાળ યાદી માં. 1193 01:00:19,640 --> 01:00:22,450 >> હું માત્ર પુનઃસોંપણી થાય છે, તો એક નિર્દેશક ખોટું અરે, 1194 01:00:22,450 --> 01:00:24,940 સમગ્ર ત્યાં જાય છે મારા યાદીની લિંક બાકીના. 1195 01:00:24,940 --> 01:00:26,897 હવે માત્ર શબ્દ હું છે એન્ડી છે, અને હવે 1196 01:00:26,897 --> 01:00:29,230 આ અન્ય બધા જ શબ્દો શબ્દકોશ જતું રહ્યું છે. 1197 01:00:29,230 --> 01:00:31,370 અને તેથી તમે તેની ખાતરી કરવા માટે કરવા માંગો છો તમારા પોઇંટરો તમામ ટ્રેક રાખવા 1198 01:00:31,370 --> 01:00:33,661 અથવા તો તમે વિચાર જઈ રહ્યાં છો તમારો કોડ વિશાળ સમસ્યાઓ. 1199 01:00:33,661 --> 01:00:35,840 પગલું દ્વારા પગલું કાળજીપૂર્વક વસ્તુઓ બહાર દોરો. 1200 01:00:35,840 --> 01:00:37,870 તેને લાગે છે કે તે ખૂબ સરળ બનાવે છે. 1201 01:00:37,870 --> 01:00:40,910 >> અને છેલ્લે, તમે કરવાનો પ્રયત્ન કરવા માંગો છો તમારા કાર્યક્રમ તમારા પ્રદર્શન પરીક્ષણ 1202 01:00:40,910 --> 01:00:41,618 મોટા બોર્ડ પર. 1203 01:00:41,618 --> 01:00:43,710 તમે ગાય્ઝ લેવા તો હમણાં CS50 જોવા, 1204 01:00:43,710 --> 01:00:45,210 અમે મોટા બોર્ડ કહેવાય છે તે છે. 1205 01:00:45,210 --> 01:00:50,200 તે ઝડપથી સ્કોર શીટ છે CS50 બધી ચકાસણી વખત જોડણી 1206 01:00:50,200 --> 01:00:55,720 હમણાં, હું 10 જેવી ટોચની લાગે વખત હું તેમને આઠ સ્ટાફ લાગે છે. 1207 01:00:55,720 --> 01:00:57,960 અમે ખરેખર તમે ગાય્સ અમને હરાવ્યું કરવા માંગો છો. 1208 01:00:57,960 --> 01:01:00,870 >> અમને બધા અમલ કરવા માટે પ્રયાસ કરી રહ્યા હતા શક્ય ઝડપી કોડ. 1209 01:01:00,870 --> 01:01:04,880 અમે તમને ગાય્ઝ પડકાર પ્રયાસ કરવા માંગો છો અમેરિકા અને આપણા બધા કરતાં વધુ ઝડપથી અમલ 1210 01:01:04,880 --> 01:01:05,550 કરી શકો છો. 1211 01:01:05,550 --> 01:01:07,970 અને તેથી આ ખરેખર છે અમે રહ્યાં છો તે પ્રથમ સમય 1212 01:01:07,970 --> 01:01:12,680 તમે ગાય્ઝ પૂછવા pset કરવું કે તમે ખરેખર ગમે પદ્ધતિ શું કરી શકો છો 1213 01:01:12,680 --> 01:01:13,760 તમે ઇચ્છો. 1214 01:01:13,760 --> 01:01:17,730 >> હું હંમેશા આ વધુ સમાન છે, કહે છે એક વાસ્તવિક જીવનના ઉકેલ માટે, અધિકાર? 1215 01:01:17,730 --> 01:01:19,550 હું અરે, હું તમને આ કરવા માટે જરૂર છે, કહે છે. 1216 01:01:19,550 --> 01:01:21,380 મારા માટે આ કરે છે કે કાર્યક્રમ બનાવો. 1217 01:01:21,380 --> 01:01:22,630 તમે કરવા માંગો છો, જો કે તે શું. 1218 01:01:22,630 --> 01:01:24,271 હું માત્ર હું ઝડપી કરવા માંગો છો. 1219 01:01:24,271 --> 01:01:25,770 કે આ સપ્તાહ માટે તમારા પડકાર છે. 1220 01:01:25,770 --> 01:01:27,531 તમે ગાય્ઝ, અમે જઈ રહ્યાં છો તમે એક કાર્ય આપે છે. 1221 01:01:27,531 --> 01:01:29,030 અમે તમને એક પડકાર આપવા જઈ રહ્યાં છો. 1222 01:01:29,030 --> 01:01:31,559 અને પછી તે તમને ગાય્ઝ માટે છે સંપૂર્ણપણે માત્ર બહાર આકૃતિ 1223 01:01:31,559 --> 01:01:34,100 ઝડપી અને શું સૌથી છે કાર્યક્ષમ રીતે આ અમલ કરવા. 1224 01:01:34,100 --> 01:01:34,600 અરે વાહ? 1225 01:01:34,600 --> 01:01:37,476 >> પ્રેક્ષક: અમે જો માન્ય છે ઝડપી રીતે સંશોધન કરવા માગતા હતા 1226 01:01:37,476 --> 01:01:40,821 અમે કરી શકો છો, ઓનલાઇન હેશ કોષ્ટકો કરવું કે અને કોઈના કોડ દાખવી? 1227 01:01:40,821 --> 01:01:42,070 ANDI પેન્ગ: અરે વાહ, સંપૂર્ણપણે દંડ. 1228 01:01:42,070 --> 01:01:44,320 તેથી જો તમે ગાય્સ વાંચી તો સ્પેક, એક રેખા છે 1229 01:01:44,320 --> 01:01:48,310 તમે ગાય્ઝ કહે છે કે સ્પેક માં હેશ સંશોધન તદ્દન મફત છે 1230 01:01:48,310 --> 01:01:51,070 શું છે કેટલીક કાર્યો ઝડપી હેશ કાર્યો 1231 01:01:51,070 --> 01:01:54,720 તરીકે મારફતે વસ્તુઓ ચલાવવા માટે તમે તે કોડ દાખવી તરીકે લાંબા સમય સુધી. 1232 01:01:54,720 --> 01:01:57,220 તેથી કેટલાક લોકો પહેલેથી જ છે ઝડપી રીતે બહાર figured 1233 01:01:57,220 --> 01:02:00,250 ઝડપી છે, જોડણી ચેકર્સ કરી માહિતી સ્ટોર માર્ગો. 1234 01:02:00,250 --> 01:02:02,750 ટોટલી તમે ગાય્ઝ સુધી જો તમે અધિકાર, કે જે હમણાં જ લેવા માંગો છો? 1235 01:02:02,750 --> 01:02:04,045 તમે દર્શાવીને રહ્યાં છો તેની ખાતરી કરો. 1236 01:02:04,045 --> 01:02:06,170 પડકાર અહીં ખરેખર અમે પરીક્ષણ કરવાનો પ્રયાસ કરી રહ્યાં છો કે જે 1237 01:02:06,170 --> 01:02:09,750 તમે જાણો છો કે નહીં તેની ખાતરી કર્યા છે તમારી રીતે આસપાસ પોઇન્ટર. 1238 01:02:09,750 --> 01:02:12,700 જ્યાં સુધી તમે અમલીકરણ તરીકે વાસ્તવિક હેશ વિધેય 1239 01:02:12,700 --> 01:02:15,070 અને જેવા સાથે આવતા ગણિત તે કરવા માટે, 1240 01:02:15,070 --> 01:02:17,570 તમે ગાય્ઝ સંશોધન કરી શકો છો ગમે પદ્ધતિઓ ઓનલાઇન તમે ગાય્ઝ માંગો છો. 1241 01:02:17,570 --> 01:02:17,996 અરે વાહ? 1242 01:02:17,996 --> 01:02:19,700 >> પ્રેક્ષક: અમે હમણાં જ દાખવી શકે છે [અશ્રાવ્ય] ઉપયોગ કરીને? 1243 01:02:19,700 --> 01:02:20,120 >> ANDI પેન્ગ: યાહ. 1244 01:02:20,120 --> 01:02:22,328 તમે કરી શકો છો ફક્ત તમારી ટિપ્પણી, તમે, ઓહ, જેમ દાખવી શકો છો 1245 01:02:22,328 --> 01:02:26,127 Yada પરથી લેવામાં Yada, Yada, હેશ વિધેય. 1246 01:02:26,127 --> 01:02:27,210 કોઈને કોઈ પ્રશ્ન છે? 1247 01:02:27,210 --> 01:02:29,694 અમે ખરેખર breezed આજે વિભાગ દ્વારા. 1248 01:02:29,694 --> 01:02:31,610 હું અહીં હશે તેમજ પ્રશ્નોના જવાબ. 1249 01:02:31,610 --> 01:02:36,570 >> પણ, હું જણાવ્યું હતું કે, ઓફિસ કલાક આજની રાત કે સાંજ અને આવતી કાલે. 1250 01:02:36,570 --> 01:02:40,307 આ અઠવાડિયે ખરેખર છે સ્પેક સુપર સરળ અને વાંચવા માટે સુપર નહીં. 1251 01:02:40,307 --> 01:02:43,140 હું માત્ર એક નજર લેતી સૂચવે કરશે તે આ સમગ્ર મારફતે વાંચો. 1252 01:02:43,140 --> 01:02:45,730 >> અને Zamyla ખરેખર લઈ જશે કાર્યો દરેક મારફતે 1253 01:02:45,730 --> 01:02:49,796 તમે અમલીકરણની જરૂર છે, અને તેથી તે છે કેવી રીતે બધું કરવા માટે ખૂબ, ખૂબ સ્પષ્ટ છે. 1254 01:02:49,796 --> 01:02:51,920 જસ્ટ ખાતરી કરો કે તમે છો બનાવવા માટે પોઇન્ટર રાખવામાં. 1255 01:02:51,920 --> 01:02:53,650 આ એક ખૂબ જ પડકારરૂપ pset છે. 1256 01:02:53,650 --> 01:02:56,744 >> તે જેવી છે, કારણ પડકારરૂપ નથી ઓહ, આ ખ્યાલો તેથી વધુ છે 1257 01:02:56,744 --> 01:02:59,160 મુશ્કેલ છે, અથવા જો તમે જાણવા મળે છે જે રીતે ખૂબ જ નવી વાક્યરચના 1258 01:02:59,160 --> 01:03:00,650 તમે છેલ્લા pset માટે કર્યું છે. 1259 01:03:00,650 --> 01:03:03,320 આ pset મુશ્કેલ છે, કારણ કે ઘણા પોઇન્ટર છે, 1260 01:03:03,320 --> 01:03:06,980 અને પછી એક વખત તે માટે ખૂબ, ખૂબ સરળ છે તમે નથી કરવાનો પ્રયત્ન તમારો કોડ માં ભૂલ છે 1261 01:03:06,980 --> 01:03:08,315 કે ભૂલ છે કે જ્યાં શોધવા માટે. 1262 01:03:08,315 --> 01:03:13,200 >> અને તેથી સંપૂર્ણ અને તમે ઘોર વિશ્વાસ ગાય્ઝ અમારા [અશ્રાવ્ય] હરાવ્યું કરવાનો પ્રયત્ન કરવા માટે 1263 01:03:13,200 --> 01:03:13,700 જોડણી. 1264 01:03:13,700 --> 01:03:16,640 હું ખરેખર નથી કોઇ લખવામાં ખાણ છે હજુ સુધી, પરંતુ હું ખાણ લખવા માટે વિશે છું. 1265 01:03:16,640 --> 01:03:19,070 તમે લખી રહ્યાં તેથી જ્યારે તમારામાં, હું ખાણ લખવા પડશે. 1266 01:03:19,070 --> 01:03:21,070 હું બનાવવા માટે પ્રયાસ કરવા જઈ રહ્યો છું ખાણ ઝડપી તમારામાં કરતાં. 1267 01:03:21,070 --> 01:03:23,940 અમે સૌથી ઝડપી એક છે જે જોવા મળશે. 1268 01:03:23,940 --> 01:03:27,340 >> અને હા, હું તમામ જોશો અહીં મંગળવારે તમે ગાય્સ. 1269 01:03:27,340 --> 01:03:29,510 હું pset વર્કશોપ જેવા પ્રકારની સ્કોર આવશે. 1270 01:03:29,510 --> 01:03:32,640 વિભાગો આ બધા સપ્તાહે pset વર્કશોપ છે 1271 01:03:32,640 --> 01:03:36,690 તેથી જો તમે ગાય્સ તકો ઘણાં હોય છે મદદ માટે, ઓફિસ કલાકો હંમેશા તરીકે, 1272 01:03:36,690 --> 01:03:41,330 અને હું ખરેખર આગળ જુઓ તમારા ગાય્ઝ 'કોડ તમામ વાંચી. 1273 01:03:41,330 --> 01:03:44,160 હું અહીં જો તમે ક્વેસ્ચન હોય ગાય્ઝ તે વિચાર આવવા માંગો છો. 1274 01:03:44,160 --> 01:03:45,880 કે બધા છે. 1275 01:03:45,880 --> 01:03:48,180