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