[સંગીત વગાડવાનો] ડેવિડ જે MALAN: બધા અધિકાર. આ CS50 છે. આ અઠવાડિયે પાંચ ચાલુ છે, અને અમે કેટલાક સારા સમાચાર છે અને કેટલાક ખરાબ સમાચાર છે. તેથી સારા સમાચાર છે કે CS50 છે આ શુક્રવાર લોન્ચ. તમે અમને જોડાવા માંગો છો, અહીં સામાન્ય URL પર વડા. પણ સારી સમાચાર કોઈ વ્યાખ્યાન આ 13 મી સોમવારે આવતા. સહેજ ઓછી સારી સમાચાર, ક્વિઝ શૂન્ય આગામી બુધવારે છે. વધુ વિગતો હોઈ શકે છે અહીં આ URL પર જોવા મળે છે. અને આગલા બે દિવસોમાં અમે બ્લેન્ક ભરવા પડશે રૂમ માટે સાદર સાથે અમે અનામત છે કરશે. બેટર સમાચાર ત્યાં પડશે છે કોર્સ વ્યાપી સમીક્ષા કરી સત્ર આ આગામી સાંજે સોમવાર. આ કોર્સ માટે સંગીતમય રહો સ્થાન અને વિગતો માટે વેબસાઇટ. તે છે, તેમ છતાં વિભાગો, રજા, પણ સાથે સાથે પૂરી થશે. શ્રેષ્ઠ સમાચાર, આગામી શુક્રવાર લેક્ચર. તેથી આ એક પરંપરા અમે છે અભ્યાસક્રમ મુજબ હોય છે. Just-- તે અમેઝિંગ હશે. તમે જેવી વસ્તુઓ જોશો સતત સમય માહિતી માળખાં અને હેશ કોષ્ટકો અને વૃક્ષો અને પ્રયત્ન કરે છે. અને અમે જન્મદિવસ સમસ્યાઓ વિશે વાત કરીશું. સામગ્રી એક સંપૂર્ણ જથ્થો આગામી શુક્રવાર રાહ. બરાબર. Anyhow. તેથી અમે કરી છે કે યાદ શું આ ચિત્ર પર ધ્યાન કેન્દ્રિત અમારી કોમ્પ્યુટર મેમરી ની અંદર. તેથી મેમરી અથવા રેમ જ્યાં કાર્યક્રમો છે તમે તેમને ચલાવી રહ્યા છો, જ્યારે અસ્તિત્વ ધરાવે છે. તમે ડબલ ક્લિક કરો ચિહ્ન કેટલાક કાર્યક્રમ ચલાવવા માટે અથવા ડબલ ક્લિક કરો અમુક ફાઈલ ખોલવા માટે ચિહ્ન, તે તમારી હાર્ડ લવાશે છે વાહન અથવા ઘન સ્થિતિમાં ડ્રાઈવ રેમ, રેન્ડમ એક્સેસ મેમરી, જ્યાં માં પાવર બંધ જાય ત્યાં સુધી તે રહે છે જ્યારે લેપટોપ lid બંધ અથવા તમે કાર્યક્રમ છોડી દીધું. હવે મેમરી, ના જે તમે કદાચ હોય 1 gigabyte આ દિવસ, 2 ગીગાબાઇટ્સ, અથવા પણ વધારે, સામાન્ય રીતે બહાર નાખ્યો છે આપેલ કાર્યક્રમ માટે લંબચોરસ આ પ્રકારની માં કાલ્પનિક મોડેલ અમે નીચે સ્ટેક છે જેમાં અને ટોચ પર અન્ય સામગ્રી સમૂહ. ખૂબ જ ટોચ પર આ બાબત અમે આ ચિત્ર પર જોઇ છે પરંતુ તે પહેલાં ક્યારેય વિશે વાત કરી કહેવાતા લખાણ સેગમેન્ટ છે. લખાણ સેગમેન્ટમાં માત્ર એક ફેન્સી માર્ગ છે આ zeros અને મુદ્દાઓ કહેતા કે તમારી વાસ્તવિક સંકલિત કાર્યક્રમ કંપોઝ. તેથી જ્યારે તમે ડબલ ક્લિક તમારા Mac અથવા પીસી પર માઈક્રોસોફ્ટ વર્ડ, તમે કોઈ ચલાવો ત્યારે અથવા પર મારિયો સ્લેશ તમારા ટર્મિનલ વિન્ડો પર Linux કમ્પ્યુટર, કંપોઝ કે zeros અને મુદ્દાઓ શબ્દ અથવા મારિયો કામચલાઉ સંગ્રહિત થાય છે કહેવાતા તમારા કમ્પ્યુટરની રેમ ચોક્કસ કાર્યક્રમ માટે લખાણ સેગમેન્ટમાં. કે જાય નીચે આરંભ અને uninitialized માહિતી. આ વૈશ્વિક ચલો જેવી સામગ્રી છે, અમે ઘણા ઉપયોગ ન કરી લીધી છે, પરંતુ પ્રસંગે અમે કર્યું વૈશ્વિક ચલો હતી અથવા સ્થિર શબ્દમાળાઓ વ્યાખ્યાયિત કે હાર્ડ "હેલો" જેવા શબ્દો કોડેડ કરવામાં આવે છે વપરાશકર્તા માંથી લેવામાં નથી કે કે જે તમારા કાર્યક્રમ માં હાર્ડ કોડેડ છે. હવે, નીચે તળિયે અમે કહેવાતા સ્ટેક છે. અને સ્ટેક, આમ અત્યાર સુધી, અમે કરી છે હેતુઓ કયા પ્રકારના માટે ઉપયોગ? સ્ટેક શું માટે ઉપયોગ થાય છે? અરે વાહ? પ્રેક્ષક: કાર્યો. ડેવિડ જે MALAN: કાર્યો માટે? કાર્યો માટે કયા અર્થમાં? પ્રેક્ષક: તમે એક કાર્ય કૉલ છે, જે દલીલો સ્ટેક પર નકલ કરવામાં આવે છે. ડેવિડ જે MALAN: ચોક્કસ. તમે કાર્ય કહી છે, તેની દલીલો સ્ટેક પર નકલ કરવામાં આવે છે. તેથી કોઈ પણ એક્સ અથવા વાય અથવા એક અથવા બી માતાનો જો તમે કાર્ય માં પસાર કરી રહ્યાં છે કામચલાઉ પર મૂકવામાં આવે છે કહેવાતા સ્ટેક, માત્ર Annenberg એક જેવી ડાઇનિંગ હોલ ટ્રે, અને એ પણ વસ્તુઓ સ્થાનિક ચલો છે. તો તમારા foo કાર્ય અથવા તમારા સ્વેપ કાર્ય સ્થાનિક ચલો છે, કામચલાઉ નોકર, જેમ કે તે બે સ્ટેક પર અંત. હવે, અમે વિશે ખૂબ વાત નહીં તેમને, પરંતુ આ પર્યાવરણ ચલો નીચે અમે જ્યારે પહેલા જ્યારે જોયું હું કીબોર્ડ એક દિવસ પર futzing હતી અને હું વસ્તુઓ ઍક્સેસ શરૂ argv 100 કે argv 1,000 જેમ, માત્ર elements-- હું ભૂલી આ નંબરોની પરંતુ તે મારા દ્વારા ઍક્સેસ કરી ન રહેવા હતી. અમે કેટલાક જોઈ શરૂ સ્ક્રીન પર ફંકી પ્રતીકો. તે કહેવાતા હતા પર્યાવરણ ચલો માટે વૈશ્વિક સેટિંગ્સ જેમ મારા કાર્યક્રમ કે મારા કમ્પ્યુટર નથી, માટે તાજેતરના બિનસંબંધિત અમે ચર્ચા કરી છે ભૂલ, Shellshock, કે રહી છે ખૂબ થોડા કમ્પ્યુટર્સ plaguing. હવે છેલ્લે, આજે ધ્યાન કેન્દ્રિત અમે આખરે ઢગલો પર હશો. આ મેમરી અન્ય ભાગ છે. અને મૂળભૂત આ બધા મેમરી જ સામગ્રી છે. તે જ હાર્ડવેર છે. અમે પ્રકારની માત્ર છો વિવિધ ક્લસ્ટરો સારવાર વિવિધ હેતુઓ માટે બાઇટ્સ. આ ઢગલો પણ જ્યાં હોઈ ચાલે છે તમે વિનંતી કે ચલો અને મેમરી ઓપરેટિંગ સિસ્ટમમાંથી કામચલાઉ સંગ્રહ કરવામાં આવે છે. પરંતુ એક સમસ્યા પ્રકારની છે અહીં, ચિત્ર બતાવે છે. અમે પ્રકારની બે છે વિશે જહાજો ટકરાતા. તમે વધુ અને વધુ ઉપયોગ કારણ કે અમે આજે જુઓ સ્ટેક, અને આગળ, તમે વધુ અને વધુ ઉપયોગ ઢગલો, ચોક્કસ ખરાબ વસ્તુઓ થાય છે શકે છે. અને ખરેખર, અમે તે પ્રેરિત કરી શકો છો ઈરાદાપૂર્વક અથવા અજાણતા. છેલ્લા ક્લિફહેન્ગર તેથી સમય આ કાર્યક્રમ હતો, કોઈપણ વિધેયાત્મક સેવા ન હતી, જે નિદર્શન કરતાં અન્ય હેતુ કેવી રીતે તમે એક ખરાબ વ્યક્તિ ખરેખર લઇ શકે છે કોઈની કાર્યક્રમ ભૂલો લાભ અને તે પણ એક એક કાર્યક્રમ અથવા લેવા સમગ્ર કમ્પ્યુટર સિસ્ટમ અથવા સર્વર. તેથી માત્ર નજરે માટે થોડા સમય માટે, તમે નીચે કે મુખ્ય નોટિસ આદેશ વાક્ય માં લઈ જાય છે argv મુજબ દલીલો,. અને તે એક કાર્ય એફ માટે કૉલ છે, અનિવાર્યપણે એક નનામું કાર્ય કહેવાય એફ, અને તે argv માં પસાર છે [1]. તેથી પર ગમે શબ્દ વપરાશકર્તા પ્રકારો આ કાર્યક્રમના નામ પછી પ્રોમ્પ્ટ પર, અને પછી આ મનસ્વી કાર્ય ટોચ, એફ, એક શબ્દમાળા માં લે છે, ઉર્ફ ઘરનાં પરચૂરણ કામો *, અમે ચર્ચા શરૂ કર્યું છે, અને તે માત્ર "બાર." તે કહે છે પરંતુ આપણે કંઈ કહી શકે છે. અને પછી તે અંદર, જાહેર એફ, અક્ષરો ઝાકઝમાળ 12 જેમ કે અક્ષરો સી કહેવાય છે. હવે, વાર્તા દ્વારા હું કહી હતી એક ક્ષણ પહેલા, જ્યાં મેમરી સી છે, અથવા તે 12 છે અંત રહ્યા અક્ષરો? જસ્ટ સ્પષ્ટ છે. અરે વાહ? પ્રેક્ષક: સ્ટેક પર. ડેવિડ જે MALAN: સ્ટેક પર. તેથી સી સ્થાનિક ચલ છે. અમે 12 અક્ષરો અથવા 12 બાઇટ્સ માટે કહીએ છીએ. તે અંત જવું છે કહેવાતા સ્ટેક પર. હવે છેલ્લે આ અન્ય કાર્ય છે કે, ખરેખર ખૂબ ઉપયોગી છે પરંતુ અમે ખરેખર ઉપયોગ કર્યો તે આપણી જાતને, strncopy. તે શબ્દમાળા નકલ અર્થ એ થાય પરંતુ માત્ર અક્ષરો, એ અક્ષરો n. તેથી એ અક્ષરો હશે સી માં પટ્ટીમાંથી નકલ. અને કેટલા? બાર લંબાઈ. તેથી અન્ય શબ્દોમાં, તે એક વાક્ય, strncopy, નકલ રહ્યું છે અસરકારક રીતે સી માં બાર. હવે, માત્ર પ્રકારની પૂર્વાનુમાન આ વાર્તા નૈતિક, શું અહીં સંભવિત સમસ્યારૂપ છે? અમે લંબાઈ ચકાસણી કરી રહ્યા છીએ, તેમ છતાં બાર અને strncopy માં પસાર, શું તમારા આંતરડા તમે છે કહેવાની છે હજુ પણ આ કાર્યક્રમ વિશે ભાંગી? અરે વાહ? પ્રેક્ષક: સમાવેશ કરતું નથી આ નલ પાત્ર માટે જગ્યા. ડેવિડ જે MALAN: સમાવેશ કરતું નથી આ નલ પાત્ર માટે જગ્યા. માં સંભવિત, વિપરીત છેલ્લા પ્રથા અમે પણ નથી છે એક વત્તા 1 માટે ખૂબ જ કે નલ પાત્ર સમાવવા. પરંતુ તે કરતાં પણ વધુ ખરાબ છે. બીજું અમે શું કરવામાં નિષ્ફળ રહ્યા છે? અરે વાહ? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: યોગ્ય છે. અમે હાર્ડ ખૂબ આપખુદ 12 કોડેડ છે. તે ખૂબ જ નથી સમસ્યા છે, પરંતુ હકીકત એ છે અમે તો પણ ચકાસણી કરી રહ્યાં છો કે બાર લંબાઈ કરતાં ઓછી 12 છે જે કિસ્સામાં તે જ હશે મેમરી માં મૂકી સલામત અમે ફાળવવામાં કર્યું છે કહેવાય સી. ખરેખર, બાર જેવા છે લાંબા 20 અક્ષરો, આ કાર્ય નકલ હોય તેમ લાગે છે ત્યાં સી માં બાર, 20 અક્ષરો ઓછામાં ઓછા 8 બાઇટ્સ લેવા તે ન હોવી જોઈએ છે. તે અહીં સૂચિતાર્થ છે. ટૂંકા, તૂટેલા કાર્યક્રમ તેથી. એક મોટી સોદો જેવા નથી. કદાચ તમે સેગ્મેન્ટેશન ક્ષતિમાં છે. અમે બધા કાર્યક્રમોમાં ભૂલો હતી. અમે તમામ ભૂલો હોય છે હમણાં કાર્યક્ર. પરંતુ સૂચિતાર્થ શું છે? ઠીક છે, અહીં એક ઝૂમ કરેલું ઈન આવૃત્તિ છે મારા કમ્પ્યુટર મેમરી કે ચિત્ર. આ મારો સ્ટેક તળિયે છે. અને ખરેખર, આ ખૂબ જ નીચે શું છે કહેવાય પિતૃ નિયમિત સ્ટેક, ફેન્સી માર્ગ કે મુખ્ય છે કહે છે. કાર્ય કહેવાય વિષયક જેથી અમે વિશે વાત કરી રહ્યા છીએ કે એફ. તેથી આ સ્ટેક તળિયે છે. રીટર્ન સરનામું કંઈક નવું છે. તે હંમેશા ત્યાં કરવામાં આવી છે હંમેશા કે ચિત્રમાં આવી. અમે તે માટે ધ્યાન કહેવાય માત્ર નથી. તે તારણ છે સી જે રીતે કામ કરે છે એક કાર્ય બીજા કહે છે કે જ્યારે, એટલું જ નહીં કરવા માટે દલીલો કરી કાર્ય સ્ટેક પર દબાણ કરો, માત્ર કાર્ય સ્થાનિક કરવું ચલો સ્ટેક પર દબાણ કરો, કંઈક વળતર સરનામું કહેવાય પણ સ્ટેક પર મૂકી નહીં. ખાસ કરીને, જો મુખ્ય foo કોલ્સ, મુખ્ય હિસ્સો મેમરીમાં પોતાના સરનામું, બળદની કંઈક, અસરકારક રીતે સ્ટેક પર મૂકી નહીં જેથી એફ તે ચલાવવા કરવામાં આવે છે ત્યારે ટેક્સ્ટની પાછા કૂદકો જ્યાં જાણે ચલાવવા ચાલુ રાખવા માટે ક્રમમાં સેગમેન્ટમાં. અમે સરળ અહીં છો તેથી જો, મુખ્ય માં, પછી એફ કહેવાય નહીં. એફ ખબર નથી કેવી રીતે જે પાછા હાથ નિયંત્રણ કરવા માટે? ઠીક છે, આ થોડું અહીં લાલ બ્રેડક્રમ્બને, આ વળતર સરનામા કહેવાય છે, તે માત્ર તપાસમાં, કે વળતર સરનામા શું છે? ઓહ, મને અહીં પાછા મુખ્ય બાંધી દો. અને તે થોડો છે એક વધુ પડતી સાદગીની છે, આ zeros અને મુદ્દાઓ કારણ કે મુખ્ય માટે તકનિકી છે અહીં ટેક સેગમેન્ટમાં છે. પણ જે વિચાર છે. એફ માત્ર શું ખબર છે જ્યાં નિયંત્રણ આખરે પાછા જાય છે. પરંતુ જે રીતે કોમ્પ્યુટર લાંબા વસ્તુઓ બહાર નાખ્યો છે સ્થાનિક ચલો જેમ અને દલીલો આ જેવી છે. આ ચિત્ર ટોચ માં તેથી વાદળી જેથી તમામ, એફ માટે સ્ટેક ફ્રેમ છે આ મેમરી કે એફ ખાસ ઉપયોગ છે. તેથી તે મુજબ, નોંધ્યું છે કે બાર આ ચિત્ર છે. બાર તેના દલીલ હતી. અને અમે એવો દાવો કર્યો હતો દલીલો છે કે કાર્યો સ્ટેક પર દબાણ છે. અને સી, અલબત્ત, છે પણ આ ચિત્ર માં. અને માત્ર notational હેતુઓ માટે, ટોચ ડાબી બાજુની ખૂણે નોટિસ કૌંસ 0 સી શું છે છે અને પછી સહેજ જમણી નીચે સી કૌંસ 11 છે. તેથી અન્ય શબ્દોમાં, તમે કલ્પના કરી શકો છો બાઇટ્સ એક ગ્રીડ છે તે ત્યાં છે, પ્રથમ જે ટોચ ડાબી, નીચે જે તે 12 બાઇટ્સ ના છેલ્લા છે. પરંતુ હવે આગળ ઝડપી કરવાનો પ્રયાસ કરો. અમે શું પસાર જો થાય છે સી કરતાં લાંબા સમય સુધી છે કે શબ્દમાળા પટ્ટીમાં? અને અમે જો ચકાસણી કરી રહ્યા છીએ તે ખરેખર લાંબા સમય સુધી 12 કરતાં છે. આ ચિત્ર જે ભાગ રહ્યું છે બાઇટ્સ 0, 1, 2, 3 દ્વારા ફરીથી લખાઈ મળી, કોઈ કોઈ કોઈ, 11, અને પછી ખરાબ, 12, 19 મારફતે 13? શું, અહીં થાય ચાલી રહ્યું છે તમે ઓર્ડર માંથી અટકળ બાંધવી જો કે સી કૌંસ 0 ટોચ પર છે અને c કૌંસ 11 નીચે જેવું છે જમણી? અરે વાહ? પ્રેક્ષક: વેલ, તે રહ્યું છે આ ઘરનાં પરચૂરણ કામો * બાર પર ફરીથી લખી છે. ડેવિડ જે MALAN: અરે વાહ, તે જેવી લાગે છે તમે ઘરનાં પરચૂરણ કામો * બાર પર ફરીથી લખી રહ્યા છીએ. અને ખરાબ, તમે ખરેખર લાંબા મોકલી જો શબ્દમાળા, તમે પણ શું પર ફરીથી લખી શકે છે? આ વળતર સરનામું. જે ફરી, માત્ર એક જેવી છે કાર્યક્રમ જ્યાં કહેવું બ્રેડક્રમ્બને જ્યારે એફ પર પાછા જાઓ કહેવાય રહી કરવામાં આવે છે. તેથી ખરાબ ગાય્ઝ ખાસ કરીને શું તેઓ એક કાર્યક્રમ આવે તો છે તેઓ છે કે શું વિચિત્ર છો એવી રીતે વાપરી, બગડેલ તે અથવા તેણી લઈ શકે છે કે ભૂલ લાભ, સામાન્ય રીતે તેઓ મળી નથી આ અધિકાર પ્રથમ વખત. તેઓ માત્ર દાખલા તરીકે, મોકલવા શરૂ કરવા માટે, તમારા કાર્યક્રમ માં રેન્ડમ શબ્દમાળાઓ, કીબોર્ડ પર છે કે શું, અથવા પ્રમાણિકપણે તેઓ કદાચ થોડી કાર્યક્રમ લખવા માત્ર આપોઆપ શબ્દમાળાઓ પેદા, અને તમારા કાર્યક્રમ પર એકાએક સપાટો શરૂ અલગ ઇનપુટ્સ ઘણાં માં મોકલવા વિવિધ લંબાઈનો છે. જલદી તમારા કાર્યક્રમ ભંગાણો તરીકે, કે એક સુંદર વાત છે. તે અર્થ એ થાય છે અથવા તે મળી આવ્યું છે શું ખરેખર કદાચ ભૂલ છે. અને પછી તેઓ વધુ હોંશિયાર વિચાર કરી શકો છો અને શરૂ વધુ મુશ્કેલીથી ધ્યાન કેન્દ્રિત કે ભૂલ શોષણ કરવા માટે કેવી રીતે. ખાસ કરીને, શું તે અથવા તેણી કદાચ શું હેલો, શ્રેષ્ઠ કિસ્સામાં, મોકલી છે. કોઈ મોટો સોદો. તે પૂરતી ટૂંકા છે કે શબ્દમાળા છે. પરંતુ શું તે અથવા તેણી મોકલે છે, અને અમે તે સામાન્ય પડશે હુમલો zeros જેથી રહ્યાં છે કોડ અને મુદ્દાઓ કે વસ્તુઓ rm-RF, જેમ બધું દૂર છે હાર્ડ ડ્રાઈવમાંથી અથવા સ્પામ મોકલવા અથવા કોઈક મશીન પર હુમલો? આ દરેક તેથી જો અક્ષરો એક માત્ર રજૂ કલ્પનાત્મક, હુમલો, હુમલો, હુમલો, હુમલો, કેટલાક ખરાબ કોડ કોઈએ લખ્યું છે, પરંતુ તે વ્યક્તિ પૂરતી સ્માર્ટ છે માત્ર તમામ સમાવેશ થાય છે તે rm-rfs ના, પણ તેના અથવા તેના છેલ્લા થોડા બાઇટ્સ છે અનુલક્ષે એ સંખ્યા છે કે હોઈ ના સરનામા માટે તેમના અથવા પોતાના હુમલો કોડ તે અથવા તેણી માત્ર પસાર કે પ્રોમ્પ્ટ પર તે આપીને, તમે અસરકારક રીતે કમ્પ્યૂટર યુક્તિ કરી શકો છો એફ ચલાવવા કરવામાં આવે છે ત્યારે ધ્યાનમાં લીધા માં, ઓહ, તે મને કૂદી માટે સમય છે પાછા લાલ વળતર સરનામા માટે. પરંતુ તે અથવા તેણી કોઈક છે કારણ કે કે વળતર સરનામા અરસપરસ વ્યાપ્ત પોતાના નંબર સાથે, અને તેઓ પૂરતી સ્માર્ટ છો કે રૂપરેખાંકિત છે નંબર તમે, નો સંદર્ભ લો સુપર ટોચ જોવા ત્યાં ડાબા ખૂણે, કમ્પ્યુટર માં વાસ્તવિક સરનામા તેમના પર હુમલો કોડ કેટલાક યાદમાં, એક ખરાબ વ્યક્તિ કોમ્પ્યુટર યુક્તિ કરી શકો છો પોતાની કોડ ચલાવવા માં. અને તે કોડ છે, ફરી, કંઈપણ થઈ શકે છે. તે સામાન્ય રીતે કહેવાય છે માત્ર છે, જે શેલ કોડ છે, તે નથી કહે છે કે એક માર્ગ rm-RF તરીકે સરળ સામાન્ય રીતે કંઈક. તે ખરેખર બાસ કંઈક છે અથવા એક વાસ્તવિક કાર્યક્રમ તેમને આપે છે અથવા તેના કાર્યક્રમ વિષયક નિયંત્રણ ચલાવવા માટે તેઓ કરવા માંગો છો કે જે કંઈપણ. તેથી ટૂંકા માં, આ બધા સરળ હકીકત પરથી આવ્યો છે સામેલ આ ભૂલ ચકાસણી કે તમારા એરે ની સીમાઓ. અને જે રીતે કારણ કે કમ્પ્યુટર્સ કામ કે તેઓ ના સ્ટેક ઉપયોગ અસરકારક રીતે, સરળ, પર નીચે, પરંતુ પછી તત્વો તમે ટોચ નીચે વધવા સ્ટેક પર દબાણ આ માનવામાં ન આવે એવી સમસ્યારૂપ છે. હવે, આ આસપાસ કામ કરવા માટે માર્ગો છે. અને પ્રમાણિકપણે, ભાષાઓ છે જે સાથે આ આસપાસ કામ કરે છે. જાવા, દાખલા તરીકે, મુક્ત છે આ ચોક્કસ સમસ્યા છે. તેઓ તમને પોઇન્ટર આપી નથી કારણ કે. તેઓ તમને આપી નથી સીધું મેમરી સરનામાંઓ. અમે છે કે આ શક્તિ સાથે તેથી મેમરીમાં કંઈપણ સ્પર્શ અમે સ્વીકૃત, મહાન જોખમ આવે માંગો છો. તેથી એક આંખ બહાર રાખો. પ્રમાણિકપણે, તો આ મહિનામાં કે વર્ષો ગમે ત્યારે, આવો તમે કેટલાક શોષણ વિશે વાંચ્યું એક કાર્યક્રમ અથવા સર્વરનું, તમે ક્યારેય કંઈક એક સંકેતની જુઓ તો એક બફર ઓવરફ્લો હુમલો જેમ, અથવા સ્ટેક ઓવરફ્લો અન્ય પ્રકાર છે હુમલો, ભાવના સમાન, આ વેબસાઇટની પ્રેરણા તેટલી તમે તેને ખબર છે, નામ, તે બધા માત્ર વિશે વાત છે કેટલાક પાત્ર માપ વહેતું એરે અથવા વધુ સામાન્ય રીતે કેટલાક એરે. આ પછી કોઈપણ પ્રશ્ન છે,? ઘરે આ પ્રયાસ કરો. અધિકાર છે. તેથી malloc આમ અત્યાર સુધી અમારી નવી રહી છે અમે મેમરીને ફાળવવા શકે છે માં મિત્ર અમે જરૂરી ખબર નથી કે અમે તેથી અમે નથી માંગો છો કે આગળ માં હાર્ડ કોડ માટે અમારા 12 જેવા કાર્યક્રમ નંબરો. વપરાશકર્તા અમને કેટલી કહે એકવાર તે અથવા તેણી ઇનપુટ માંગે માહિતી, અમે તે બધી મેમરીનો malloc કરી શકો છો. તેથી malloc તે માટે, બહાર વળે અમે તેને ઉપયોગ કરી રહ્યો છું હદ, બાહ્ય રીતે છેલ્લા સમય, અને પછી તમે ગાય્સ તેને ઉપયોગ કરવામાં આવી છે માટે અજાણપણે GetString માટે કેટલાંક અઠવાડિયા, malloc મેમરી બધા કહેવાતા ઢગલો આવે છે. અને આ, દાખલા તરીકે, શા માટે GetString છે ગતિશીલ મેમરી ફાળવણી કરી શકો છો તમે છો શું જાણ્યા વગર અગાઉથી લખો જાઉં, કે મેમરી પાછા નિર્દેશક તમે હાથ, અને તે મેમરી તમારામાં રાખવા હજુ પણ છે, પણ વળતર GetString પછી. કારણ કે રિકોલ બધા પછી કે સ્ટેક સતત ઉપર અને નીચે રહ્યું છે ઉપર અને નીચે. અને જલદી તે જાય છે નીચે, કે જે કોઈપણ મેમરી અર્થ એ થાય ઉપયોગ આ કાર્ય જોઈએ અન્ય કોઈને દ્વારા વાપરી શકાય છે. તે હવે કચરો કિંમતો છે. પરંતુ ઢગલો અહીં છે. અને malloc છે વિશે સરસ શું છે malloc અહીં મેમરી ફાળવે છે, તે માટે, અસર નથી સ્ટેક દ્વારા મોટા ભાગ,. અને તેથી કોઈ પણ કાર્ય ઍક્સેસ કરી શકો છો malloc'd છે કે મેમરી, પણ GetString જેમ કાર્ય દ્વારા, તે પછી પણ તે પરત આવે છે. હવે, malloc ના કન્વર્ઝ મફત છે. અને ખરેખર, આ નિયમ તમને અપનાવવા શરૂ કરવાની જરૂર છે કોઈપણ, કોઈપણ, તમે malloc ઉપયોગ કોઈપણ સમયે છે તમે તમારી જાતને, છેવટે, મફત ઉપયોગ કરવો જોઈએ તે જ નિર્દેશક પર. અમે લખી કરવામાં આવી છે આ બધા સમય બગડેલ, ઘણા કારણો માટે બગડેલ કોડ. પરંતુ જે એક છે CS50 પુસ્તકાલય ઉપયોગ જે પોતે ઇરાદાપૂર્વક છે બગડેલ, તે મેમરી લીક્સ. તમે GetString કહેવાય છે કોઈપણ સમયે છેલ્લા કેટલાક અઠવાડિયા અમે ઓપરેટિંગ કહીએ છીએ સિસ્ટમ, Linux ને, મેમરી માટે. અને તમે એક વાર પાછા આપવામાં નથી. અને આ છે, નથી , સારી વાત પ્રેક્ટિસ કરે છે. અને Valgrind, આ એક 4 pset માં રજૂ સાધનો, તમે મદદ વિશે બધું છે હવે જેમ ભૂલો શોધો. પરંતુ thankfully 4 pset માટે તમે જરૂર નથી CS50 પુસ્તકાલય અથવા GetString વાપરવા માટે. તેથી મેમરી સંબંધિત કોઈ ભૂલો છે આખરે તમારા પોતાના જ હશે. તેથી malloc માત્ર કરતાં વધુ છે આ હેતુ માટે અનુકૂળ. અમે ખરેખર હવે હલ કરી શકો છો મૂળભૂત વિવિધ સમસ્યાઓ, અને મૂળભૂત વધુ સમસ્યાઓ ઉકેલવા અસરકારક રીતે સપ્તાહ શૂન્ય વચન મુજબ. આમ અત્યાર સુધીમાં આ સેક્સી છે માહિતી બંધારણ અમે હતી. અને માહિતી બંધારણ દ્વારા હું માત્ર અર્થ પ્રત્યયવાદી મેમરી એક માર્ગ માત્ર કહેતા બહાર જાય છે તે રીતે, આ ચાર રચે છે, પૂર્ણાંક છે. અમે સાથે મળીને વસ્તુઓ ક્લસ્ટર શરૂ કરી શકો છો. તેથી ઝાકઝમાળ આ જેવો દેખાતો હતો. અને લગભગ એક કી શું હતું એરે તે તમને આપે છે બેક ટુ બેક હિસ્સામાં મેમરી, જેમાં દરેક એક જ પ્રકારના હોઈ ચાલે છે, પૂર્ણાંક, પૂર્ણાંક, પૂર્ણાંક, પૂર્ણાંક, અથવા ચાર, ચાર, ચાર, ચાર. પરંતુ થોડા downsides છે. આ ઉદાહરણ માટે, છે કદ છ પણ દર્શાવે છે. તમે છ સાથે આ એરે ભરવા ધારો નંબરો અને પછી, ગમે કારણો માટે, તમારા વપરાશકર્તા આપવા માંગે છે તમે સાતમી સંખ્યા. જ્યાં તમે મૂકી છે? જો તમારી પાસે ઉકેલ શું છે સ્ટેક પર એક એરે બનાવેલ છે, દાખલા તરીકે, માત્ર અઠવાડિયાના સાથે અમે રજૂઆત કરી છે કે બે સંકેત, અંદર સાથે ચોરસ કૌંસ ના? સારું, તમે છ મળી છે આ બોક્સ માં નંબરો. તમારા વૃત્તિ શું હશે? જ્યાં તમે તેને મૂકવા માગતા નથી? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: માફ કરશો? પ્રેક્ષક: ઓવરને પર મૂકો. ડેવિડ જે MALAN: ઓવરને પર મૂકો. તેથી માત્ર જમણી પર, આ બોક્સની બહાર. જે સરસ હોઈ શકે છે, પરંતુ તે કરશે તમે તે ન કરી શકો બહાર કરે છે. તમને પૂછવામાં નથી કર્યું કારણ કે જો મેમરી આ ભાગ માટે, તે આ છે કે સંયોગ દ્વારા હોઈ શકે છે કેટલાક અન્ય ચલ દ્વારા ઉપયોગ કરવામાં આવી રહ્યો છે એકસાથે. અમે નાખ્યો જેથી જ્યારે એક સપ્તાહ પાછા વિચારો અથવા Zamyla અને Davin અને ગાબે નામો બહાર મેમરીમાં. તેઓ શાબ્દિક હતા પાછા પાછળ પાછળ. તેથી અમે જરૂરી નથી કરી શકો છો કે જે માતાનો વિશ્વાસ અહીં મને ઉપયોગ કરવા માટે ઉપલબ્ધ છે. તેથી જો તમે બીજું શું કરી શકે? ઠીક છે, એક વાર તમે અનુભૂતિની , કદ સાત ઝાકઝમાળ જરૂર તમે માત્ર એક બનાવી શક્યા કદ સાત એરે પછી લૂપ અથવા જ્યારે લૂપ માટે, નવા એરે માં નકલ કરો, અને પછી અચાનક જ છૂટકારો મેળવવા આ એરે અથવા માત્ર તે ઉપયોગ કરવાનું બંધ. પરંતુ તે ખાસ કરીને અસરકારક નથી. ટૂંકમાં, એરે દો નથી તમે ગતિશીલ માપ બદલો. તેથી એક તરફ તમે વિચાર અમેઝિંગ છે, જે રેન્ડમ એક્સેસ,. તે દે છે કારણ કે અમને વસ્તુઓ વિભાજન અને જીતી, જેમ કે અમે કર્યું જે તમામ બાઈનરી શોધ, અહીં સ્ક્રીન પર વિશે વાત કરી. પરંતુ તમે એક ખૂણામાં માં જાતે રંગ કરે છે. જલદી તમે હિટ તરીકે તમારા એરે ઓવરને, તમે ખૂબ જ કરી છે ખર્ચાળ કામગીરી અથવા કોડ સંપૂર્ણ સમૂહ લખવા હવે સમસ્યા સાથે વ્યવહાર. તેથી તેના બદલે જો અમે હતી શું કંઈક યાદી કહેવાય છે, અથવા ખાસ કરીને યાદી કડી? તો શું બદલે કર્યા લંબચોરસ, પાછળ પાછળ પાછળ અમે થોડી છોડી કે લંબચોરસ છે તેમને વચ્ચે વારંવાર હાલવું રૂમ બીટ? છતાં પણ હું આ દોરવામાં કર્યું છે ચિત્ર અથવા આ ચિત્ર અનુકૂળ પાઠો એક અહીં પાછા પ્રયત્ન પાછા વાસ્તવમાં, ખૂબ ઓર્ડરલી પાછળ, તે લંબચોરસ એક અહીં મેમરી હોઈ શકે છે. તેમાંથી એક અહીં હોઇ શકે છે. તેમાંથી એક, અહીં હોઇ શકે છે અહીં, અને તેથી આગળ પર. પરંતુ અમે દોર્યું જો આ કિસ્સામાં, તીર કોઈક આ લિંક કે એક સાથે લંબચોરસ? ખરેખર, અમે એક તકનિકી જોઇ છે એક તીર અવતાર. અમે શું તાજેતરના માં ઉપયોગ કર્યો છે દિવસ કે, હૂડ નીચે, એક તીર પ્રતિનિધિ છે? એક નિર્દેશક, અધિકાર? તેથી શું છે, બદલે માત્ર નંબરો સ્ટોર, જેમ 9, 17, 22, 26, 34, શું અમે સંગ્રહિત જો માત્ર એક નંબર પરંતુ નિર્દેશક દરેક જેમ કે નંબર માટે આગામી? તેથી તે ખૂબ તમે થ્રેડ કરશે જેવા ફેબ્રિક સંપૂર્ણ જથ્થો દ્વારા સોય, કોઈક બાંધે વસ્તુઓ એક સાથે, એ જ રીતે કરી શકો છો પોઇન્ટર છે, સાથે અમે અહીં તીર દ્વારા અવતાર, પ્રકારની મળીને વણાટ આ વ્યક્તિગત લંબચોરસ અસરકારક રીતે એક નિર્દેશક ઉપયોગ કરીને દરેક નંબર આગળ કે કે, કેટલાક આગામી નંબર નિર્દેશ , બદલામાં, કેટલાક આગામી નંબર નિર્દેશ? તેથી અન્ય શબ્દોમાં, શું અમે ખરેખર ઇચ્છતા હોય તો આ કંઈક અમલ? વેલ કમનસીબે, આ લંબચોરસ, 9 સાથે ઓછા એક, 17, 22 પર, અને તેથી આગળ, આ લાંબા સમય સુધી છે એક નંબર સાથે સરસ ચોરસ. નીચે, લંબચોરસ 9 નીચે, ઉદાહરણ તરીકે, રજૂ કરે છે તે જોઈએ એક નિર્દેશક, 32 બિટ્સ છે. હવે, હું હજુ સુધી કોઇ માહિતી પ્રકાર પરિચિત નથી સી કે તમે માત્ર પૂર્ણાંક આપે છે પરંતુ નિર્દેશક એકસાથે. અમે માંગો છો તેથી જો ઉકેલ શું છે આ અમારી પોતાની જવાબ શોધ? અરે વાહ? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: તે શું છે? પ્રેક્ષક: ન્યૂ માળખું. ડેવિડ જે MALAN: અરે વાહ, શા માટે તેથી અમે નવું બંધારણ બનાવવા નથી, અથવા સી, સ્ટ્રક્ટ માં? અમે તો થોડા સમય પહેલાં સ્ટ્ર્ક્ટ્સ જોઇ છે અમે એક વિદ્યાર્થી માળખું વિચાર કર્યો છે આ જેમ, એક નામ અને એક ઘર હતું જે. Pset માં 3 બ્રેકઆઉટ તમે સમગ્ર ઉપયોગ structs-- GRect અને GOvals ટોળું સ્ટેનફોર્ડ બનાવનાર કે એક સાથે ક્લસ્ટર માહિતી. તેથી શું અમે આ જ વિચાર લે જો કીવર્ડ્સ "typedef" અને "સ્ટ્રક્ટ," અને પછી કેટલાક વિદ્યાર્થી ચોક્કસ સામગ્રી, અને નીચેનો આ બદલાય: typedef સ્ટ્રક્ટ નોડ અને નોડ છે માત્ર એક ખૂબ જ સામાન્ય કોમ્પ્યુટર વિજ્ઞાન એ માહિતી બંધારણ માં કંઈક માટે શબ્દ, એ માહિતી બંધારણ માં કન્ટેનર. હું દાવો એક નોડ હોય રહ્યું છે તદ્દન સરળ પૂર્ણાંક n એ, અને પછી વધુ રહસ્યમય થોડી, આ બીજા લાઇન, સ્ટ્રક્ટ નોડ * આગામી. પરંતુ ઓછી ટેકનિકલ દ્રષ્ટિએ, કે બીજા વાક્ય છે આ સર્પાકાર કૌંસ અંદર કોડ? અરે વાહ? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: એક અન્ય નોડ માટે નિર્દેશક. તેથી દેખીતી રીતે, થોડો ભેદી વાક્યરચના. પરંતુ તમે શાબ્દિક તે વાંચી છે, આગામી એક ચલ નામ છે. તેની માહિતી પ્રકાર શું છે? તે આ સમયે થોડી વર્બોઝ છે પરંતુ તે * પ્રકાર સ્ટ્રક્ટ નોડ છે. અમે કંઈક સ્ટાર જોઇ છે કોઈપણ સમયે, કે તે માહિતી પ્રકાર માટે નિર્દેશક છે છે. તેથી આગામી દેખીતી રીતે એક છે સ્ટ્રક્ટ નોડ માટે નિર્દેશક. હવે, સ્ટ્રક્ટ નોડ શું છે? સારું, તમે તે જોવા નોટિસ ટોચ જમણે જ શબ્દો. અને ખરેખર, તમે પણ શબ્દ જુઓ નીચે અહીં નીચે ડાબે "નોડ". અને આ ખરેખર માત્ર એક સગવડ છે. અમારા વિદ્યાર્થી વ્યાખ્યા માં નોંધ કરો કે માત્ર એક જ વાર શબ્દ "વિદ્યાર્થી" છે. અને તે એક વિદ્યાર્થી કારણ છે પદાર્થ સ્વ સંદર્ભ ન હતી. એક વિદ્યાર્થી ની અંદર કશું જ નથી કે અન્ય વિદ્યાર્થી માટે નિર્દેશ કરવાની જરૂર છે, persay. તે પ્રકારની છે વાસ્તવિક દુનિયામાં વિચિત્ર. પરંતુ એક નોડ સાથે કડી યાદી, અમે નોડ માંગો છો એક જ પદાર્થ માટે સંદર્ભ છે. અને તેથી અહીં ફેરફાર નથી નોટિસ માત્ર શું આ સર્પાકાર કૌંસ અંદર છે. પરંતુ અમે "નોડ" શબ્દ ઉમેરવા ટોચ પર તેમજ નીચે તે ઉમેરી રહ્યા છે બદલે "વિદ્યાર્થી." અને આ માત્ર એક તકનીકી વિગતવાર છે જેથી, ફરી, તમારી માહિતી માળખું , સ્વ સંદર્ભ હોઈ શકે છે એક કે જેથી નોડ બીજા આવા નોડ માટે નિર્દેશ કરી શકો છો. તેથી આ આખરે છે અમારા માટે અર્થ રહ્યા? વેલ, એક, આ સામગ્રી અંદર અમારા નોડ સમાવિષ્ટો છે. અહીં આ વસ્તુ, ઉપર જમણી, માત્ર જેથી છે કે, ફરી, અમે જાતને ઉલ્લેખ કરી શકે છે. અને પછી બાહ્યતમ સામગ્રી, નોડ નવી શબ્દ છે, તેમ છતાં કદાચ, તે હજુ પણ છે વિદ્યાર્થી અને શું તરીકે જ એસપીએલ માં હૂડ નીચે હતી. તેથી અમે હવે શરૂ કરવા ઇચ્છતા હોય તો આ કડી થયેલ યાદી અમલીકરણ, અમે કેવી રીતે અનુવાદ શકે આ કંઈક કોડ માટે? વેલ, જે માત્ર એક જોવા દો કાર્યક્રમની ઉદાહરણ કે ખરેખર એક કડી થયેલ યાદી ઉપયોગ કરે છે. આજે વિતરણ કોડ વચ્ચે યાદી ઝીરો કહેવાય કાર્યક્રમ છે. હું આ સ્કોર અને જો હું એક સુપર બનાવવામાં સરળ GUI, ગ્રાફિકવાળું વપરાશકર્તા ઈન્ટરફેસ, પરંતુ તે ખરેખર માત્ર printf છે. અને હવે હું મારી જાતને થોડા મેનુ આપી છે options-- કાઢી નાખો, સામેલ કરો, શોધ, અને આડાશ. અને છોડો. આ એક પર માત્ર સામાન્ય કામગીરી છે એક લિંક યાદી તરીકે ઓળખાય છે માહિતી બંધારણ. હવે, રહ્યું છે કાઢી નાખો યાદીમાંથી એક નંબર કાઢી. સામેલ કરો ઉમેરો બનશે યાદીમાં નંબર. શોધ જોવા રહ્યું છે યાદીમાં નંબર માટે. અને આડાશ માત્ર એક ફેન્સી માર્ગ છે કહેતા, યાદીમાં લઈ જવામાં, તે છાપે છે, પરંતુ તે છે. કોઈપણ રીતે તેને બદલી નથી. તેથી આપણે આ પ્રયાસ કરો. ચાલો આગળ વધો અને 2 લખો. અને પછી હું જાઉં છું સંખ્યા દાખલ કરો, 9 છે. દાખલ કરો. અને હવે મારા કાર્યક્રમ માત્ર છે કહેવું પ્રોગ્રામ, યાદી હવે 9 છે. હવે, હું આગળ જાઓ અને ફરી દાખલ કરો છો, દો મને આગળ વધો અને બહાર ઝૂમ અને 17 માં લખો. હવે મારા યાદી પછી, 17 9 છે. હું ફરીથી દાખલ કરવા માટે, એક અવગણો દો. તેના બદલે 22, ચિત્ર મુજબ અમે કર્યું અહીં જોઈ કરવામાં આવી, મને આગળ કૂદવાનું દો અને આગામી 26 દાખલ કરો. તેથી હું 26 લખો જાઉં છું. હું અપેક્ષા તરીકે યાદી છે. પરંતુ હવે, માત્ર આ કોડ તે જોવા માટે લવચીક હોઈ ચાલે છે, હવે મને દો પ્રકાર 22, જે ઓછામાં ઓછા કલ્પનાત્મક, અમે છો આ ખરેખર છે, કે જે અલગ પાડવામાં રાખવા હમણાં બીજા ધ્યેય પ્રયત્ન રહ્યું છે, 17 અને 26 વચ્ચે જવું જોઈએ. તેથી હું Enter દબાવો. ખરેખર, કે કામ કરે છે. અને તેથી હવે મને દાખલ દો છેલ્લા, ચિત્ર, 34 દીઠ. અધિકાર છે. તેથી હવે મને કે નિયત દો કાઢી નાખો અને આડાશ અને શોધ કરવા માટે, હકીકતમાં, કામ કરે છે. હું શોધ ચલાવવા હોય તો હકીકતમાં,, ચાલો દાખલ કરો, સંખ્યા 22 માટે શોધ. તે 22 છે. જેથી આ શું છે કાર્યક્રમ યાદી ઝીરો છે. પરંતુ ખરેખર શું રહ્યું છે પર આ અમલીકરણ? ઠીક છે, પ્રથમ હું હોય છે, અને ખરેખર શકે છે હું ફાઈલ list0.h કહેવાય છે, છે. અને આ છે ક્યાંક માં રેખા, typedef, સ્ટ્રક્ટ નોડ, પછી હું મારા સર્પાકાર કૌંસ છે એ પૂર્ણાંક છે, અને પછી વ્યાખ્યા શું struct--? સ્ટ્રક્ટ નોડ આગામી. તેથી અમે તારો જરૂર છે. હવે તકનિકી અમે પ્રવેશ મેળવવા અહીં તે ચિત્ર ની આદત. તમે પાઠ્યપુસ્તકો જોઈ શકો અને ઓનલાઇન સંદર્ભો ત્યાં કામ કરે છે. તે વિધેયાત્મક રીતે સમકક્ષ છે. હકીકતમાં, આ થોડી વધુ સામાન્ય છે. પરંતુ હું શું સાથે સુસંગત રહેશો અમે છેલ્લા સમય હતી અને આ કરવા માટે. અને પછી છેલ્લે, હું આ કરવા જાઉં છું. હેડર ફાઈલમાં તેથી ક્યાંક, list0.h માં આજે આ સ્ટ્રક્ટ વ્યાખ્યા છે, અને કદાચ કેટલાક અન્ય સામગ્રી. દરમિયાન list0c માં છે અમુક વસ્તુઓ જ હશે. પરંતુ અમે જઈ રહ્યાં છો માત્ર શરૂ કરો અને આ સમાપ્ત નથી. List0.h હું માંગો છો ફાઇલ છે મારા સી ફાઈલમાં સમાવેશ થાય છે. અને પછી અમુક સમયે હું છું , મુખ્ય, પૂર્ણાંક છે ગેરમાન્ય રહ્યા. અને પછી હું જાઉં છું માટે શું કેટલાક અહીં છે. હું પણ એક હોય જાઉં છું પ્રોટોટાઇપ, ખાલીપણુ, શોધ, પૂર્ણાંક જેવી, એ, જીવનમાં જેની હેતુ છે એક તત્વ શોધવા માટે. અને પછી નીચે અહીં હું દાવો આજે કોડ છે, રદબાતલ, શોધ, પૂર્ણાંક, n એ, કોઈ અર્ધવિરામ પરંતુ ઓપન સર્પાકાર કૌંસ. અને હવે હું કોઈક શોધ કરવા માંગો છો આ યાદીમાં એક તત્વ છે. પરંતુ અમે પૂરતી નથી હજુ સુધી સ્ક્રીન પર જાણકારી. હું ખરેખર છે યાદી પોતે રજૂ કરે છે. તેથી એક રીતે અમે અમલ કરી શકે છે એક કાર્યક્રમ એક કડી થયેલ યાદી હું પ્રકારની કંઈક કરવા માંગો છો છે જેમ અહીં યાદી કડી થયેલ જાહેર. સરળતા માટે, હું બનાવવા જઈ રહ્યો છું આ પણ સામાન્ય અમે છતાં, વૈશ્વિક આ ખૂબ જ કરવું ન જોઈએ. પરંતુ તે આ ઉદાહરણ સરળ થશે. તેથી હું જાહેર કરવા માંગો છો અહીં એક કડી થયેલ યાદી. હવે, હું કેવી રીતે કરી શકે છે? અહીં એક કડી થયેલ યાદી ના ચિત્ર છે. અને હું ખરેખર નથી કેવી રીતે આ સમયે ખબર હું રજૂ વિશે જાઓ જાઉં છું માત્ર એક સાથે ઘણા વસ્તુઓ મેમરીમાં ચલ. પરંતુ પાછા એક ક્ષણ છે. અમે હતી આ બધા સમય શબ્દમાળાઓ, તો પછી જે અમે ના એરે હોઈ જાહેર અક્ષરો, તો પછી જે અમે માત્ર એક નિર્દેશક હોઈ જાહેર પ્રથમ અક્ષર પર અક્ષરો ઝાકઝમાળ કે નલ બંધ છે. કે તર્ક દ્વારા, અને આ સાથે તેથી તમારા વિચારો સીડીંગના ચિત્ર પ્રકારની, અમે ખરેખર શું લખી જરૂર અમારા કોડ એક કડી થયેલ યાદી પ્રતિનિધિત્વ? કેટલી આ જાણકારી અમે જરૂર શું સી કોડ માં મેળવવા માટે, તમે કહે છે? અરે વાહ? પ્રેક્ષક: અમે નોડ માટે નિર્દેશક જરૂર છે. ડેવિડ જે MALAN: નોડ માટે નિર્દેશક. ખાસ કરીને, જે નોડ તમારા કરશે વૃત્તિ માટે નિર્દેશક રાખવા પ્રયત્ન? પ્રેક્ષક: પ્રથમ નોડ. ડેવિડ જે MALAN: અરે વાહ, કદાચ માત્ર પ્રથમ. અને, પ્રથમ નોટિસ નોડ અલગ આકાર છે. તે સ્ટ્રક્ટ માત્ર અડધા માપ છે, કારણ કે તે ખરેખર માત્ર એક નિર્દેશક છે. તેથી જો તમે ખરેખર શું કરી શકો જાહેર છે એક કડી થયેલ યાદી * પ્રકાર નોડ છે. અને આપણે માત્ર પ્રથમ કૉલ કરો અને નલ પ્રારંભ. તેથી નલ, ફરી, આવી છે અહીં ચિત્ર. માત્ર નલ ખાસ જેમ તરીકે ઉપયોગ થાય છે GetString જેવી વસ્તુઓ માટે વળતર કિંમત અને malloc, નલ પણ શૂન્ય છે નિર્દેશક, એક નિર્દેશક અભાવ, જો તમે કરશે. તે માત્ર કશું હજુ સુધી અહીં છે અર્થ એ થાય. હવે પ્રથમ, હું કર્યું શકે આ કંઇ કહેવાય છે. હું "યાદી" તે કહે છે શકે છે અથવા અન્ય કોઈપણ વસ્તુઓ સંખ્યા. પરંતુ હું કે જેથી "પ્રથમ" તે ફોન છું આ ચિત્ર સાથે લાઇન અપ. તેથી માત્ર એક શબ્દમાળા જેમ રજૂ કરી શકાય છે તેની પ્રથમ બાઇટ ની સરનામું સાથે, જેથી એક કડી થયેલ યાદી કરી શકો છો. અને અમે અન્ય માહિતી જોશો માળખાં રજૂ કરી માત્ર એક નિર્દેશક સાથે, 32-bit તીર, પોઇન્ટ માળખામાં ખૂબ જ પ્રથમ ગાંઠ પર. પરંતુ હવે આપણે સમસ્યા અપેક્ષા છે. હું માત્ર યાદ છું મારા કાર્યક્રમ સરનામાં માં પ્રથમ નોડ, પ્રથમ આ માહિતી માળખામાં લંબચોરસ, હતી વધુ સારી રીતે વિશે કેસ શું મારા યાદી બાકીના અમલીકરણ? ચાલી રહ્યું છે કે કી વિગતવાર શું છે આ ખરેખર કામ કરે છે તેની ખાતરી કરવા માટે? અને હું "ખરેખર કામ કરે છે" ખૂબ શબ્દમાળા જેમ, તેનો અર્થ, અમને પ્રથમ અક્ષર માંથી નહીં બીજા માટે Davin નામ, ત્રીજા માટે, કરવા માટે ચોથા, ખૂબ જ અંત, અમે ઓવરને અંતે છો ત્યારે અમે ખબર નથી કે કેવી રીતે આ જેવી લાગે છે એક કડી થયેલ યાદી? જ્યારે તે નલ છે. અને હું તરીકે આ પ્રકારની રજૂ કરી છે વીજ ઈજનેર શકે, જેમ કે નાના બન્યાના સાથે પ્રતીક, પ્રકારની. પરંતુ તે માત્ર આ કિસ્સામાં નલ થાય છે. તમે તેને કોઈ પણ નંબર ડ્રો કરી શકો છો રીતે, પરંતુ આ લેખક અહીં આ પ્રતીક વાપરવા માટે થયું. અમે stringing રહ્યાં છો જેથી લાંબા એક સાથે આ ગાંઠો તમામ, માત્ર જ્યાં યાદ પ્રથમ એક છે, તેથી લાંબા છે અમે ખાસ પ્રતીક મૂકી યાદીમાં ખૂબ જ છેલ્લા નોડ, તે છે, કારણ કે અને અમે નલ ઉપયોગ કરશો અમને ઉપલબ્ધ અમે હોય છે, આ યાદી સંપૂર્ણ છે. પણ હું તો જ તમે માટે નિર્દેશક આપે છે પ્રથમ તત્વ, તમે, પ્રોગ્રામર, ચોક્કસપણે તે બાકીના ઍક્સેસ કરી શકો છો. પરંતુ તમારા મનમાં દો દો થોડો ભટકવું, તેઓ હાજર નહી હોય, તો તદ્દન શું wandered-- ચાલી રહેલ સમય જ હશે આ યાદીમાં કંઈપણ શોધવા? તે ખરેખર ખૂબ જ, તે n ના મોટા ઓ છે, જે ઔચિત્યની માં, ખરાબ નથી. પરંતુ તે રેખીય છે. અમે શું લક્ષણ અપ આપવામાં આવ્યું છે વધુ ખસેડીને એરે ગતિશીલ આ ચિત્ર તરફ એક સાથે વણાયેલા અથવા ગાંઠો કડી? અમે રેન્ડમ એક્સેસ અપ આપી છે. એક એરે કારણ કે સરસ છે ગાણિતિક બધું પાછળ પાછળ પાછળ પાછળ છે. પણ આ ચિત્ર છતાં ખૂબ લાગે છે, અને તે પણ તે આ ગાંઠો જેવી લાગે છે છતાં સરસ રીતે વાસ્તવમાં, સિવાય અંતરે છે તેઓ ગમે ત્યાં હોઈ શકે છે. Ox1, Ox50, ox123, Ox99, આ ગાંઠો ગમે ત્યાં હોઈ શકે છે. Malloc મેમરી ફાળવણી કરે છે ઢગલો છે, પરંતુ ગમે ત્યાં ઢગલો. તમે જરૂરી તે છે કે ખબર નથી પાછા હોઈ ચાલે પાછળ પાછળ. અને વાસ્તવિકતા માં તેથી આ ચિત્ર તદ્દન આ ખૂબ નથી ચાલી રહ્યું. તેથી તે એક બીટ લાગી રહ્યું છે આ કાર્ય અમલમાં કામ કરે છે. તેથી આપણે હવે શોધ અમલ કરીએ. અને અમે એક પ્રકારની જોશો આ કરવાની હોંશિયાર રીતે. હું એક શોધ કાર્ય છું તેથી જો અને હું એક ચલ, પૂર્ણાંક n એ આપવામાં છું જોવા માટે, હું જાણવાની જરૂર છે અંદર જોઈ માટે નવી વાક્યરચના છે કે માળખું , એ શોધવા પર ધ્યાન. તેથી આ કરવા દો. તેથી પ્રથમ હું જાઓ જાઉં છું આગળ અને * નોડ જાહેર. અને હું તેને કહી જાઉં છું માત્ર સંમેલન દ્વારા નિર્દેશક,. અને હું પ્રથમ તે પ્રારંભ કરવા જઈ રહ્યો છું. અને હવે હું આ કરી શકો છો રીતે સંખ્યાબંધ. પણ હું એક સામાન્ય અભિગમ લેવા જાઉં છું. નિર્દેશક બરાબર નથી નલ છે, અને તે માન્ય વાક્યરચના છે. અને તે માત્ર જેથી નીચે પ્રમાણે કરો એનો અર્થ એ થાય સુધી તમે કંઇ નિર્દેશ કરતી નથી છે. હું શું કરવા માંગો છો? નિર્દેશક ડોટ એ તો મને પાછા આવો દો કે કરવા માટે, એ બરોબર શું બરાબર? શું કિંમત હું શોધી રહ્યો છું? માં પસાર કરવામાં આવ્યો છે કે આ વાસ્તવિક એ. અહીં અન્ય લક્ષણ છે સી અને ઘણા ભાષાઓ. પણ બંધારણ કહેવાય નોડ છતાં નીચેની n એ, સંપૂર્ણપણે કાયદેસર છે પણ સ્થાનિક દલીલ હોય અથવા ચલ n એ કહેવાય. પણ અમે સાથે છે માનવ આંખો, તફાવત બતાવી શકે છે આ એ કદાચ કે આ એ અલગ. સિન્ટેક્ષ અલગ છે કારણ કે. તમે કોઈ અને નિર્દેશક મળી છે, આ એક, જ્યારે આવી કોઈ વસ્તુ છે. તેથી આ બરાબર છે. તે જ વસ્તુઓ તેમને કૉલ કરવા માટે બરાબર છે. હું તમને આ શોધી શકું, હું છું કંઈક કરવા માંગો છો જઈ જેમ અમે એ જોવા મળે છે કે જાહેરાત. અને અમે એક કે છોડી જાય છે ટિપ્પણી અથવા સ્યુડોકોડનો કોડ. બાકી, અને અહીં છે રસપ્રદ ભાગ છે, તે હું વર્તમાન નોડ જો કરવું કરવા માંગો છો હું વિશે કાળજી કે એ સમાવતી નથી? હું કેવી રીતે નીચેના પ્રાપ્ત છે? જો મારા આંગળી ક્ષણ ptr છે, અને તે છે ગમે તરફ સંકેત પ્રથમ, નિર્દેશ કરતી હોય છે હું મારી આંગળી ખસેડવા કેવી રીતે કોડ માં બીજા ગાંઠ માટે? વેલ, અમે છો બ્રેડક્રમ્બને છે આ કિસ્સામાં અનુસરો રહ્યા? AUDIENCE: [અશ્રાવ્ય]. ડેવિડ જે MALAN: અરે વાહ, તેથી આગામી. હું પર જાઓ તેથી જો મારા અહીં કોડ છે, ખરેખર, હું છું , નિર્દેશક આગળ વધો અને કહે જાઉં જે તે માત્ર કામચલાઉ ચલ છે એક વિચિત્ર નામ, ptr, પરંતુ તે માત્ર temp-- જેવું છે હું નિર્દેશક સુયોજિત કરવા માટે જઇ રહ્યો છું ગમે નિર્દેશક ઠીક બરાબર અને ફરીથી, આ એક પ્રયત્ન રહ્યું છે આગામી એક ક્ષણ ડોટ માટે થોડો બગડેલ. અન્ય શબ્દોમાં, હું લેવા જાઉં છું મારા આ ગાંઠ પર પોઇન્ટ છે કે આંગળી અહીં અને હું તમને ખબર છે, કહે છે જઇ રહ્યો છું શું, આગામી ક્ષેત્ર પર એક નજર અને તમારી આંગળી ખસેડવા ગમે તે પોઇન્ટ છે. અને આ રહ્યું છે , પુનરાવર્તન, પુનરાવર્તન પુનરાવર્તન કરો. પરંતુ જ્યારે મારી આંગળી કરે બધા કંઇ કરવાનું બંધ? જલદી તે કોડ કિક્સ લીટી માં? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: જો બિંદુ જ્યારે નિર્દેશક નલ બરાબર નથી. અમુક બિંદુએ મારા આંગળી માતાનો પર નલ નિર્દેશ કરતી કરી રહ્યા અને હું ખ્યાલ જાઉં છું કે આ યાદી ઓવરને છે. હવે, આ થોડી છે સરળતા માટે સફેદ આવેલા છે. તે તારણ આપે છે કે, તેમ છતાં અમે ફક્ત આ કોઈ સંકેત શીખી માળખાં માટે, નિર્દેશક સ્ટ્રક્ટ નથી. ptr શું છે? જસ્ટ વધુ nitpicky છે. તે નોડ માટે નિર્દેશક છે. તે નોડ પોતે નથી. હું અહીં કોઈ સ્ટાર હોય તો, નિર્દેશક absolutely-- તે નોડ છે. આ અઠવાડિયે એક જેવી છે ચલની ઘોષણા, પણ શબ્દ "નોડ" નવું છે છતાં. પરંતુ અમે એક દાખલ જલદી સ્ટાર, તે હવે નોડ માટે નિર્દેશક છે. અને કમનસીબે તમે ઉપયોગ કરી શકો છો નિર્દેશક માટે કોઈ સંકેત. તમે તીર ઉપયોગ કરે છે સંકેત, છે, કે જે આશ્ચર્યજનક, પ્રથમ વખત કોઇ ભાગ છે વાક્યરચના સાહજિક લાગે છે. આ શાબ્દિક એક તીર જેવો દેખાય છે. અને તેથી તે એક સારી વાત છે. અને અહીં નીચે શાબ્દિક એક તીર જેવો દેખાય છે. તેથી હું કે હું નથી આ la-- લાગે હું અહીં ઓવર સંગ્રહવાથી છું લાગે છે હું કે છેલ્લા નવા ભાગ છે લાગે છે વાક્યરચના અમે જોવા માટે જઈ રહ્યાં છો. અને thankfully, તે ખરેખર છે થોડી વધુ. હવે, તમે તે માટે જે જૂના રીતે પસંદ કરે છે, તમે હજુ પણ કોઈ સંકેત ઉપયોગ કરી શકો છો. પરંતુ સોમવારે મુજબ વાતચીત, અમે પ્રથમ કે પર જાઓ, ત્યાં જવા માટે જરૂર છે સંબોધવા, અને પછી જો આ ક્ષેત્રમાં ઍક્સેસ કરો. તેથી આ પણ સાચું છે. અને પ્રમાણિકપણે, આ છે એક વધુ વિદ્યાડબંરવાળું ઓછી. તમે શાબ્દિક કહી રહ્યાં છે, ખોટો સંદર્ભ નિર્દેશક અને ત્યાં જાય છે. પછી એન પડાવી લેવું, આ ક્ષેત્રમાં એ કહેવાય છે. પરંતુ પ્રમાણિકપણે, કોઈ એક માંગે છે લખો અથવા આ વાંચવા માટે. અને તેથી વિશ્વમાં શોધ તીર સંકેત, જે , સમાન, સમકક્ષ છે તે માત્ર વાકયરચનામાં ખાંડ છે. આ કહેતા તેથી ફેન્સી માર્ગ વધુ સારી દેખાય છે, અથવા સરળ લાગે છે. તેથી હવે હું એક અન્ય વસ્તુ કરવા જાઉં છું. હું કર્યું એક વાર "વિરામ" કહે છે જઇ રહ્યો છું તે તેથી હું તેને શોધી રાખી નથી મળી. પરંતુ આ ભાવાર્થ છે એક શોધ કાર્ય. પરંતુ તે, એક ખૂબ સરળ છે અંતે, આ કોડ દ્વારા જવામાં નથી. આ ખરેખર સામાન્ય અમલીકરણ છે આજે વિતરણ કોડ શોધ. હું શામેલ નથી કબૂલ કરું છું લઈ જવામાં ખાસ કરીને મજા દૃષ્ટિની, ન પણ, કાઢી નાખો દિવસ ઓવરને અંતે છતાં તેઓ એકદમ નીચે ઉકળવા સરળ heuristics. તેથી આ કરવા દો. તમે અહીં રમૂજ મને પડશે, હું કર્યું તણાવ બોલમાં એક ટોળું લાવે છે. હું નંબરો સમૂહ આવ્યા હતા. અને અમે માત્ર થોડા સ્વયંસેવકો મળી શકે 9, 17, 20, 22, 29, અને 34 પ્રતિનિધિત્વ? તેથી અનિવાર્યપણે દરેક જે અહીં આજે છે. એટલે કે, એક, બે, ત્રણ હતી ચાર, પાંચ, છ લોકો. અને હું ના, જુઓ go-- કરવાનું કહેવામાં આવ્યું છે પાછળ એક તેમના હાથ વધારે છે. બરાબર, એક, બે, ત્રણ, ચાર, five-- મને છ balance-- લોડ કરીએ. ઠીક છે, તમે છ અપ પર આવે છે. અમે અન્ય લોકો જરૂર પડશે. અમે વધારાની તણાવ બોલમાં આવ્યા હતા. અને તમે કરી શકે છે, માટે માત્ર એક ક્ષણ, લાઇન તમે પોતે જ અપ માત્ર અહીં આ ચિત્ર છે. અધિકાર છે. તમારું નામ શું છે, ચાલો જોવા? પ્રેક્ષક: એન્ડ્રુ. ડેવિડ જે MALAN: એન્ડ્રુ, તમે નંબર 9 છે. તમને મળીને સરસ. અહીં તમે જાઓ. પ્રેક્ષક: જેન. ડેવિડ જે MALAN: જેન. ડેવિડ. સંખ્યા 17. હા? પ્રેક્ષક: હું જુલિયા છું. ડેવિડ જે MALAN: જુલિયા, ડેવિડ. સંખ્યા 20. પ્રેક્ષક: ખ્રિસ્તી. ડેવિડ જે MALAN: ખ્રિસ્તી, ડેવિડ. સંખ્યા 22. અને? પ્રેક્ષક: જેપી. ડેવિડ જે MALAN: જેપી. સંખ્યા 29. તેથી ઓહ ઉહ આગળ વધો અને in-- છે. ઓહ ઉહ. સ્ટેન્ડબાય. 20. કોઈને એક માર્કર છે? પ્રેક્ષક: હું એક Sharpie મળી છે. ડેવિડ જે MALAN: તમે એક Sharpie મળી? બરાબર. અને કોઈને કાગળ એક ભાગ છે? વ્યાખ્યાન સાચવો. પર આવે છે. પ્રેક્ષક: અમે તે મેળવ્યા છે. ડેવિડ જે MALAN: અમે તે મળ્યું? બધા હક છે, આભાર. અહીં અમે જાઓ. આ તમારી પાસેથી હતી? તમે ફક્ત દિવસ સાચવી. તેથી 29. અધિકાર છે. હું 29 જોડણી ખોટી છે, પરંતુ બરાબર. આગળ જાઓ. બધા હક, હું તમને આપી શકશો તમારા પેન પાછા પળવારમાં. તેથી અમે અહીં આ લોકો છે. અન્ય એક છે દો. ગાબે, તમે ચલાવવા માંગો છો અહીં પ્રથમ તત્વ? અમે નિર્દેશ તમે જરૂર પડશે આ દંડ લોકો પર. તેથી 9, 17, 20, 22, જેવું 29, અને પછી 34. અમે કોઈને ગુમાવી હતી? હું 34 ધરાવે છે. જ્યાં માંગે did-- બરાબર, 34 હોય છે? બરાબર, 34, પર આવે છે. બધા હક છે, આ હશે પરાકાષ્ઠા વર્થ. તમારું નામ શું છે? પ્રેક્ષક: પીટર. ડેવિડ જે MALAN: પીટર, પર આવે છે. બધા હક છે, તેથી અહીં એક ગાંઠો સંપૂર્ણ જથ્થો. તમે ગાય્સ દરેક રજૂ આ લંબચોરસ છે. અને ગાબે, થોડી વિચિત્ર બહાર માણસ, પ્રથમ રજૂ કરે છે. તેથી તેના નિર્દેશક થોડી નાની હોય છે દરેક વ્યક્તિને કરતાં સ્ક્રીન પર. અને આ કિસ્સામાં, તમારા દરેક છોડી હાથ, નીચે નિર્દેશ ક્યાં રહ્યું છે ત્યાં તેથી, નલ રજૂ માત્ર એક નિર્દેશક ગેરહાજરીમાં, અથવા તે પોઇન્ટ કરી રહ્યું છે તમે આગળ એક ગાંઠ પર. તેથી હમણાં તમે શણગારવું જો ચિત્ર જેમ તમે પોતે જ અહીં, આગળ વધો અને બિંદુ ગાબે સાથે, એકબીજા પર પર ચોક્કસ પોઇન્ટ માં 9 નંબર યાદી પ્રતિનિધિત્વ. ઠીક છે, અને નંબર છે 34, તમારા ડાબા હાથ માત્ર ફ્લોર તરફ સંકેત જોઇએ. ઠીક છે, તેથી આ કડી થયેલ યાદી છે. તેથી આ પ્રશ્ન માં દૃશ્ય છે. અને ખરેખર, આ પ્રતિનિધિ છે સમસ્યાઓ એક વર્ગ તમે કોડ સાથે ઉકેલવા માટે પ્રયત્ન કરી શકો છો છે. તમે આખરે દાખલ કરવા માંગો છો યાદી માં નવા તત્વ. આ કિસ્સામાં, અમે જઈ રહ્યાં છો સંખ્યા 55 દાખલ કરો. પરંતુ હોઈ રહ્યું છે વિવિધ કિસ્સાઓમાં ધ્યાનમાં. અને ખરેખર, આ એક પ્રયત્ન રહ્યું છે મોટા ચિત્ર અહીં takeaways ના, છે વિવિધ કિસ્સાઓમાં શું છે. શરતો જો કે વિવિધ શું છે તમારા કાર્યક્રમ છે કે જે કદાચ શાખાઓ? વેલ, નંબર તમે પ્રયાસ કરી રહ્યા છો અમે 55 હોય છે હવે ખબર જે દાખલ, પરંતુ તમે જાણો છો નથી, તો અગાઉથી, હું daresay ઓછામાં ઓછા ત્રણ પડે શક્ય પરિસ્થિતિ. જ્યાં એક નવું તત્વ હોઈ શકે છે? પ્રેક્ષક: અને અંતે અથવા મધ્યમ. ડેવિડ જે MALAN: અંતે, માં મધ્યમ, અથવા શરૂઆતમાં. તેથી હું ઓછામાં ઓછા છે દાવો ત્રણ સમસ્યાઓ અમે હલ કરવાની જરૂર છે. માતાનો કદાચ છે તે પસંદ કરો દો દલીલ સરળ એક, જ્યાં નવા તત્વ શરૂઆતમાં અનુસરે છે. તેથી હું ખૂબ કોડ હોય જાઉં છું જેમ હું માત્ર લખ્યું છે, કે જે શોધ. અને હું ptr હોય જાઉં છું, જે હું મારી આંગળી સાથે અહીં પ્રતિનિધિત્વ પડશે સામાન્ય તરીકે. અને, તે કિંમત યાદ અમે ptr પ્રારંભ કરી? તેથી અમે શરૂઆતમાં નલ તેનો પ્રારંભ. પરંતુ તે પછી આપણે એક વાર શું કર્યું અમારા શોધ કાર્ય અંદર હતા? અમે પ્રથમ તેને સમાન સુયોજિત આમ તેનો અર્થ એ નથી કે જે. હું પ્રથમ બરાબર ptr સુયોજિત કરેલ હોય તો, શું મારા હાથ ખરેખર નિર્દેશ કરતી હોવી જોઈએ? અધિકાર. ગાબે અને હું ચાલુ છે તેથી જો અહીં સમાન કિંમતો છે, અમે નંબર 9 પર બંને બિંદુ જરૂર છે. તેથી આ અમારી વાર્તા શરૂઆત હતી. અને હવે આ, માત્ર સરળ છે છતાં પણ સિન્ટેક્ષ નવા છે. કલ્પનાત્મક રીતે આ માત્ર રેખીય શોધ છે. 9 બરાબર 55 છે? અથવા બદલે, ચાલો 9 કરતાં ઓછી કહેવું. હું પ્રયાસ કરી રહ્યો છું કારણ કે 55 મૂકવામાં જ્યાં બહાર આકૃતિ. 9 કરતાં ઓછી, ઓછી કરતાં 17, ઓછી 20 કરતાં ઓછી કરતાં 22, કરતાં ઓછી 29, કરતાં ઓછી 34, નં. તેથી હવે અમે કિસ્સામાં છો ઓછામાં ઓછા ત્રણ છે. હું અહીં પર 55 દાખલ કરવા માંગો છો, શું કોડ જરૂર રેખાઓ ચલાવવામાં કરો? કેવી રીતે આ ચિત્ર છે મનુષ્યો બદલવા માટે જરૂર છે? હું મારા ડાબા હાથ સાથે શું કરવું? આ શરૂઆતમાં નલ પ્રયત્ન કરીશું હું યાદી ઓવરને અંતે છું કારણ કે. અને શું થાય છે જોઈએ અહીં પીટર સાથે, તે હતો? તેઓ સ્પષ્ટપણે મને નિર્દેશ બનશે. તેથી હું ઓછામાં ઓછા બે લીટીઓ છે દાવો આજે નમૂના કોડ માં કોડ ઓફ કે આ અમલ બનશે પૂંછડી પર 55 ઉમેરવાનો દૃશ્ય. અને હું કોઈને હોપ કરી શકે છે અપ અને માત્ર 55 પ્રતિનિધિત્વ? બધા હક છે, તમે નવા 55 છે. તેથી હવે શું આગામી તો દૃશ્ય, સાથે આવે છે અને અમે પર દાખલ કરવા માંગો છો શરૂ અથવા આ યાદી વડા? અને તમારું નામ, નંબર 55 શું છે? પ્રેક્ષક: જેક. ડેવિડ જે MALAN: જેક? ઠીક છે, તમે પૂરી કરવા માટે સરસ. પર આપનું સ્વાગત છે. તેથી હવે અમે રહ્યા છીએ કહે છે, 5 નંબર દાખલ કરો. અહીં બીજા કેસ છે ત્રણ અમે પહેલાં સાથે આવ્યા હતા. તેથી 5 શરૂઆતમાં અનુસરે છે, માતાનો અમે તે શોધવા જુઓ કે કેવી રીતે કરીએ. હું મારા ptr પ્રારંભ ફરી નંબર 9 નિર્દેશક. અને હું 5 કરતાં ઓછી 9 છે, ઓહ, સમજાયું. તેથી અમારા માટે આ ચિત્ર નક્કી કરે છે. જેના હાથ, ગાબે કે દાઊદની વડે મિશ્રિત નંબર 9 નામ શું છે? પ્રેક્ષક: જેન. ડેવિડ જે MALAN: જેન માતાનો hands-- અમારા હાથ જે બદલવા માટે જરૂર છે? ઠીક છે, તેથી ગાબે હવે શું નિર્દેશ? મને પર. હું નવા નોડ છું. તેથી હું ચાલ માત્ર પ્રકારની પડશે અહીં આ જોવામાં જોવા માટે. અને વચ્ચે શું હું કે નિર્દેશ કરે છે? તેમ છતાં જ્યાં હું પોઇન્ટ છું. તેથી તે છે. કોડ સુધારાઓ તેથી માત્ર ખરેખર એક લીટી આ ચોક્કસ મુદ્દો છે, તે જણાય છે. બધા હક છે, તેથી તે સારી છે. અને કોઈને 5 માટે એક પ્લેસહોલ્ડર હોઈ શકે છે? પર આવો. અમે તમને આગામી સમય મળશે. બધા હક છે, તેથી હવે અને એક અલગ તરીકે, નામો તરીકે હું અધિકાર સ્પષ્ટ ઉલ્લેખ કર્યા છું હવે, pred નિર્દેશક, પુરોગામી નિર્દેશક અને નવા નિર્દેશક, કે માત્ર નામો આપવામાં આ પોઇન્ટર માટે નમૂના કોડ અથવા પ્રકારની આસપાસ પોઇન્ટ છે કે મારા હાથ. તમારું નામ શું છે? પ્રેક્ષક: ક્રિસ્ટીન. ડેવિડ જે MALAN: ક્રિસ્ટીન. પર આપનું સ્વાગત છે. બધા હક છે, તેથી આપણે હવે વિચાર કરીએ થોડી વધારે હેરાન દૃશ્ય, હું સામેલ કરવા માંગો છો જેમાં આ માં 26 કંઈક. 20? શું? આ અમે આ પેન છે સારી વાત are--. બધા હક છે, 20. કોઈને અન્ય ભાગ મળી શકે છે કાગળ માત્ર બધા અધિકાર કિસ્સામાં, તૈયાર છે. ઓહ, રસપ્રદ. વેલ આ એક ઉદાહરણ છે એક વ્યાખ્યાન ભૂલ. ઠીક છે, જેથી તમારું નામ ફરીથી શું છે? પ્રેક્ષક: જુલિયા. ડેવિડ જે MALAN: જુલિયા, તમે પૉપ કરી શકો છો બહાર અને ડોળ તમે ક્યારેય હતા? ઠીક છે, આ થયું નથી. આભાર. તેથી અમે દાખલ કરવા માંગો છો ધારવું આ કડી થયેલ યાદી માં જુલિયા. તે સંખ્યા 20 છે. અને અલબત્ત તે છે આ પર સંબંધ રહ્યા begin-- હજુ સુધી કંઈપણ અંતે નિર્દેશ નથી. તેથી તમારા હાથ પ્રકારની હોઈ શકે છે નીચે નલ અથવા અમુક કચરો કિંમત. માતાનો ઝડપી વાર્તા કહી દો. હું 5 નંબર આ સમયે પોઇન્ટ છું. પછી હું 9 તપાસો. પછી હું 17 તપાસો. પછી હું 22 તપાસો. અને હું Ooh, જુલિયા ખ્યાલ 22 પહેલાં જવા માટે જરૂર છે. તેથી શું થાય કરવાની જરૂર છે? જેના હાથ બદલવા માટે જરૂર છે? જુલિયા હિસ્સો, ખાણ, અથવા તમારું નામ ફરીથી શું છે? પ્રેક્ષક: ખ્રિસ્તી. ડેવિડ જે MALAN: ખ્રિસ્તી અથવા? પ્રેક્ષક: એન્ડી. ડેવિડ જે MALAN: એન્ડી. ખ્રિસ્તી અથવા એન્ડી? એન્ડી પર નિર્દેશ જરૂર છે? જુલિયા. અધિકાર છે. તેથી એન્ડી, તમે જુલિયા પર નિર્દેશ કરવા માંગો છો? પરંતુ એક મિનિટ રાહ જુઓ. આમ અત્યાર સુધી આ વાર્તામાં, હું એક ના સૉર્ટ છું અર્થમાં ચાર્જ, કે નિર્દેશક છે કે આ વસ્તુ છે યાદી દ્વારા ફરતા. અમે એન્ડી માટે નામ છે, પરંતુ શકે છે એન્ડી કહેવાય કોઈ ચલ છે. અમે આ જ અન્ય ચલ છે પ્રથમ, ગાબે દ્વારા રજૂ છે જે. તેથી આ શા માટે આ રીતે ખરેખર છે અત્યાર સુધી અમે આ જરૂરી નથી છે. પરંતુ હવે સ્ક્રીન પર છે pred નિર્દેશક ફરીથી ઉલ્લેખ. તેથી મને વધુ સ્પષ્ટ કરી દો. આ નિર્દેશક છે, હું સારી હતી થોડી વધુ બુદ્ધિશાળી વિચાર મારા પુનરાવૃત્તિ વિશે. તમે મારા અહીં પસાર થઇ વાંધો ન હોય તો ફરી, અહીં પોઇન્ટ, અહીં પોઇન્ટ. પરંતુ મને એક pred નિર્દેશક હોય દો, પુરોગામી નિર્દેશક, કે પ્રકારની તરફ સંકેત તત્વ હું માત્ર હતી. તેથી હું અહીં જાઓ ત્યારે, હવે મારા ડાબા હાથમાં સુધારાઓ. હું અહીં મારા ડાબા હાથ સુધારાઓ જાઓ ત્યારે. અને હવે હું માટે નિર્દેશક માત્ર છે જુલિયા નહીં તત્વ કે, હું હજુ પણ એક નિર્દેશક છે એન્ડી પહેલાં તત્વ. તેથી તમે અનિવાર્યપણે, વપરાશ હોય છે બ્રેડક્રમ્સમાં, તમે કરશે જો, જરૂરી પોઇંટરો તમામ છે. હું નિર્દેશ કરતી છું તેથી જો એન્ડી અને હું પણ પોઇન્ટ છું જેના હાથ ખ્રિસ્તી, પર હવે અન્યત્ર નિર્દેશ જોઈએ? એન્ડી તેથી હવે જુલિયા પર નિર્દેશ કરી શકો છો. જુલિયા હવે ખ્રિસ્તી પર નિર્દેશ કરી શકો છો. તે નકલ કરી શકો છો કારણ કે મારા જમણા હાથ નિર્દેશક. અને તે અસરકારક રીતે મૂકે અહીં પાછા આ સ્થળ માં. તેથી ટૂંકા માં, પણ આ છતાં ના કાયમ પ્રકારની અમને લઈ રહ્યું છે ખરેખર સુધારવા માટે એક યાદી કડી, ખ્યાલ આ કામગીરી કે પ્રમાણમાં સરળ હોય છે. તે, બે, એક ત્રણ છે આખરે કોડ રેખાઓ. પરંતુ તે આસપાસ આવરિત કદાચ કોડ રેખાઓ તર્ક એક બીટ કે અસરકારક છે પ્રશ્ન, અમે જ્યાં છે પૂછે છે? અમે શરૂઆતમાં છે, મધ્યમ, અથવા અંત? હવે, ચોક્કસપણે અમુક અન્ય છે અમે અમલ શકે કામગીરી. અને અહીં આ ચિત્રો માત્ર નિરૂપણ શું આપણે મનુષ્યો સાથે કર્યું. શું દૂર વિશે શું? હું કરવા માંગો છો, ઉદાહરણ તરીકે, સંખ્યા દૂર 34 અથવા 55, હું કોડ એક જ પ્રકારની હોય છે પણ હું એક કે બે પગલાં જરૂર જાઉં છું. નવા શું કારણ? હું ઓવરને અંતે કોઈને દૂર કરો છો, નંબર જેવી 55 અને પછી 34, શું પણ હું કે જેમ બદલવા માટે છે? હું evict-- નથી છે તમારું નામ ફરીથી શું છે? પ્રેક્ષક: જેક. ડેવિડ જે MALAN: જેક. હું evict-- મફત જેક માત્ર છે તેથી શાબ્દિક ઓછામાં ઓછા મફત જેક કૉલ, અથવા ત્યાં નિર્દેશક પણ છે, પરંતુ હવે શું પીટર સાથે બદલવા માટે જરૂર છે? તેમના હાથ સારી નીચે પોઇન્ટ શરૂ કરો. જલદી હું મુક્ત પર કૉલ તરીકે કારણ કે જેક, પીટર હજુ જેક નિર્દેશ કરતી જો અને હું તેથી સરકાઉ રાખવા યાદી અને વપરાશ આ નિર્દેશક, કે જ્યારે અમારા જૂના મિત્ર સેગ્મેન્ટેશન છે ખરેખર માં જવું શકે ખામી. અમે આપી છે કારણ કે જેક માટે મેમરી પાછા. તમે ત્યાં રહી શકો છો awkwardly માત્ર એક ક્ષણ માટે. અમે માત્ર એક દંપતિ છે કારણ કે અંતિમ કામગીરી ધ્યાનમાં. યાદી વડા દૂર કરી રહ્યા છીએ, આ beginning-- અને આ એક કે થોડી હેરાન. અમે તે ખબર હોય છે કારણ કે ગાબે પ્રકારની ખાસ આ કાર્યક્રમ છે. કારણ કે ખરેખર, તેઓ તેમના પોતાના નિર્દેશક છે. તેમણે માત્ર પર નિર્દેશ કરવામાં આવી રહી છે અહીં લગભગ દરેક વ્યક્તિને છે. તેથી યાદી વડા છે જેના હાથ હવે બદલવાની જરૂર દૂર? તમારું નામ ફરીથી શું છે? પ્રેક્ષક: ક્રિસ્ટીન. ડેવિડ જે MALAN: હું ભયાનક છું નામો પર, દેખીતી રીતે. તેથી ક્રિસ્ટીન અને ગાબે, જેના હાથ બદલવાની જરૂર અમે ક્રિસ્ટીન દૂર કરવાનો પ્રયત્ન કરો ત્યારે, ચિત્ર ના નંબર 5,? ઠીક છે, તેથી આપણે ગાબે કરવા દો. ગાબે નિર્દેશ રહ્યું છે, કદાચ, નંબર 9 છે. પરંતુ આગામી શું જોઈએ? પ્રેક્ષક: ક્રિસ્ટીન જોઈએ [અશ્રાવ્ય] નલ છે. ડેવિડ જે MALAN: ઠીક છે, અમે કદાચ જોઈએ make-- હું ક્યાંક "નલ" સાંભળ્યું. પ્રેક્ષક: નલ અને તેના મફત છે. ડેવિડ જે MALAN: તે NULL? પ્રેક્ષક: નલ અને તેના મફત છે. ડેવિડ જે MALAN: નલ અને તેના મફત છે. તેથી આ ખૂબ જ સરળ છે. અને તે તમે હવે સૉર્ટ છો સંપૂર્ણ છે ના જોડાયેલા, ત્યાં ન ઊભા. તમે કરી છે કારણ કે યાદી અલગ ગણી. તમે અસરકારક રીતે કરી છે યાદીમાંથી અનાથ. અને તેથી અમે વધુ સારી રીતે હવે મફત કૉલ હતી ક્રિસ્ટીન કે મેમરી પાછા આપે છે. નહિંતર દર વખતે અમે યાદીમાંથી નોડ કાઢી અમે યાદી કરી શકે છે ટૂંકા, પરંતુ ખરેખર ઘટી નથી મેમરી માપ. અને તેથી અમે ઉમેરી રહ્યા રાખવા અને જો ઉમેરી રહ્યા છે, યાદીમાં વસ્તુઓ ઉમેરી રહ્યા છે, મારું કમ્પ્યુટર ધીમી વિચાર કરી શકે છે અને ધીમી અને ધીમી, હું બહાર ચાલી રહ્યો છું કારણ કે મેમરી, હું ખરેખર નથી, પણ જો ક્રિસ્ટીન માતાનો બાઇટ્સ ઉપયોગ મેમરી હવે. તેથી અંતે અન્ય છે કોર્સ દૂર દૃશ્યો, મધ્યમ, દૂર ઓવરને અંતે, અમે જોવા મળી હતી. પરંતુ વધુ રસપ્રદ પડકાર હવે છે જવા બરાબર ધ્યાનમાં હોઈ ચાલી રહેલ સમય શું છે. તેથી માત્ર તમે રાખી શકો છો તમારા કાગળ ટુકડાઓ, ગાબે, જો, તમે આપ્યા વાંધો આવશે દરેક એક તણાવ બોલ. અમારા સંલગ્ન યાદી માટે ખૂબ આભાર અહીં સ્વયંસેવકો, તમે કરી શકે છે. [વધાવી] ડેવિડ જે MALAN: બધા અધિકાર. વિશ્લેષણાત્મક તેથી એક દંપતિ પછી પ્રશ્નો, હું કરી શકે છે. અમે પહેલાં આ સંકેત જોવા મળે છે, મોટા ઓ અને ઓમેગા, ઉચ્ચ ભૂસકે અને પર નીચા ભૂસકે કેટલાક અલ્ગોરિધમનો સમય ચાલી રહ્યું છે. તેથી આપણે માત્ર વિચાર કરીએ પ્રશ્નો એક દંપતિ. એક, અને અમે તેને જણાવ્યું હતું કે, પહેલાં, ચાલી છે એક માટે શોધ સમય મોટા ઓ દ્રષ્ટિએ યાદી? શું ચાલી પર બંધાયેલ ઉપર છે એક કડી થયેલ યાદી શોધ સમય અહીં અમારા સ્વયંસેવકો દ્વારા અમલમાં છે? તે n ના મોટા ઓ, રેખીય છે. , સૌથી ખરાબ કિસ્સામાં કારણ કે તત્વ, 55, જેમ કે અમે જ્યાં હોઈ માટે શકે શોધી શકે છે જેક, અંતે તમામ માર્ગ હતો. અને કમનસીબે, એક એરે વિપરીત અમે આ સમય ફેન્સી મેળવી શકો છો. અમારા મનુષ્યો બધા હતા છતાં પણ નાના તત્વો, 5 થી અલગ પાડવામાં, મોટા તત્વ સુધી તમામ રીતે, 55, કે સામાન્ય રીતે એક સારી વાત છે. પરંતુ તે ધારણા શું લાંબા સમય સુધી અમને કરવા માટે પરવાનગી આપે? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: ફરીથી કહો? પ્રેક્ષક: રેન્ડમ ઍક્સેસ. ડેવિડ જે MALAN: રેન્ડમ ઍક્સેસ. અને બદલામાં કે કોઈ અમે કરી શકો છો એનો અર્થ એ થાય લાંબા સમય સુધી, નબળા zeros, અંતર્જ્ઞાન ઉપયોગ બાઈનરી ઉપયોગ અને સ્પષ્ટતા શોધ અને વિભાજીત અને જીતી. છતાં પણ કારણ કે અમે મનુષ્યો દેખીતી રીતે કરી શકે છે એન્ડી અથવા ખ્રિસ્તી હતા જુઓ આશરે યાદી મધ્યમાં, અમે માત્ર એક તરીકે ખબર છે કે યાદી skimming દ્વારા કમ્પ્યુટર ખૂબ જ શરૂઆતથી. તેથી અમે તે રેન્ડમ એક્સેસ અપ આપી છે. N ના તેથી મોટા ઓ હવે ઉપર છે અમારા શોધ સમય પર બંધાયેલ. શું અમારા શોધ ઓમેગા વિશે શું? નીચલા બંધાયેલ શોધ પર છે આ યાદીમાં કેટલાક નંબર માટે? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: ફરીથી કહો? પ્રેક્ષક: એક. ડેવિડ જે MALAN: એક. તેથી સતત સમય. શ્રેષ્ઠ કિસ્સામાં, ક્રિસ્ટીન છે ખરેખર યાદી શરૂઆતમાં. અને અમે શોધી રહ્યાં છો નંબર 5, જેથી આપણે તેના જોવા મળે છે. તેથી કોઈ મોટો સોદો. પરંતુ તે પ્રયત્ન મળ્યું છે આ કિસ્સામાં યાદીમાં શરૂ. કંઈક વિશે શું કાઢી નાખો? તમે એક તત્વ કાઢી નાખવા શું માંગો છો? શું ઉપલા બાઉન્ડ અને નીચલા બંધાયેલ છે એક કડી થયેલ માંથી કંઈક કાઢવા પર યાદી? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: ફરીથી કહો? પ્રેક્ષક: એ. ડેવિડ જે MALAN: એ છે બાઉન્ડ ખરેખર ઉપલા. સૌથી ખરાબ કિસ્સામાં અમે પ્રયાસ છે અમે હમણાં જ હતી જેમ, જેક કાઢી નાખવા. તેમણે ઓવરને અંતે બધી રીતે છે. કાયમ અમને લે છે, અથવા n પગલાં તેમને શોધો. જેથી બંધાયેલ ઉપર છે. તે ખાતરી કરો કે, રેખીય છે. અને શ્રેષ્ઠ કેસ સમય ચાલી, અથવા શ્રેષ્ઠ કિસ્સામાં નીચલા ભૂસકે સતત સમય છે. કદાચ અમે કાઢી નાખવા પ્રયાસ છે ક્રિસ્ટીન, અને અમે માત્ર નસીબદાર વિચાર તે શરૂઆતમાં છે. હવે એક મિનિટ રાહ જુઓ. ગાબે, શરૂઆતમાં પણ હતો અને અમે પણ ગાબે અપડેટ હતી. તેથી તે માત્ર એક પગલું ન હતી. તેથી તે ખરેખર સતત છે સમય, શ્રેષ્ઠ કિસ્સામાં, નાના તત્વ દૂર કરવા? તે બે હોઈ શકે છે, તેમ છતાં તે, છે કોડ ત્રણ, અથવા 100 રેખાઓ, તે જ નંબર છે જો કેટલાક લુપમાં રેખાઓ, અને માપ સ્વતંત્ર યાદીમાં, સંપૂર્ણપણે. તત્વ પર કાઢી રહ્યા છીએ યાદી શરૂઆતમાં, અમે સાથે કામ હોય છે, પણ જો ગાબે, હજુ પણ સતત સમય છે. તેથી આ એક જેવી લાગે છે પાછળની મોટા પગલું. અને સમય શું કચરો , તો સપ્તાહ એક અને સપ્તાહમાં શૂન્ય અમે માત્ર હતી સ્યુડોકોડનો કોડ પરંતુ વાસ્તવિક કોડ લોગ કે કંઈક અમલમાં આધાર એ, અથવા લૉગ, તેના બદલે, એ, આધાર 2, તેના ચાલી સમય દ્રષ્ટિએ. તેથી હેક અમે શરૂ કરવા માંગો છો કરશે શા માટે એક કડી થયેલ યાદી કંઈક ઉપયોગ? અરે વાહ. પ્રેક્ષક: તેથી જો તમે ઉમેરી શકો છો એરે માટે તત્વો છે. ડેવિડ જે MALAN: તેથી તમે કરી શકો છો એરે તત્વો ઉમેરો. અને આ પણ વિષયોનું છે. અને અમે જોવા માટે ચાલુ રાખીશું આ, આ મડાગાંઠ, ખૂબ જેમ અમે જોઇ છે એક મર્જ સૉર્ટ સાથે વેપાર બોલ. અમે ખરેખર ઝડપી શકે તેના બદલે, શોધ કે છટણી, અમે થોડી વધુ જગ્યા પસાર અને જો એક મેમરી વધારાની ભાગ છે અથવા મર્જ સૉર્ટ માટે પણ દર્શાવે છે. પરંતુ અમે વધુ ખર્ચ જગ્યા છે, પરંતુ અમે સમય સાચવો. આ કિસ્સામાં, અમે છો સમય આપી પરંતુ અમે છો રાહત રહ્યો, dynamism જો તમે કરશે, જે દાવાપૂર્વક એક હકારાત્મક લક્ષણ છે. અમે પણ જગ્યા વીતાવતા કરી રહ્યાં છો. કયા અર્થમાં એક કડી થયેલ છે વધુ ખર્ચાળ યાદી ઝાકઝમાળ કરતાં જગ્યા દ્રષ્ટિએ? જ્યાં વધારાની જગ્યા માંથી આવી રહ્યું છે? અરે વાહ? AUDIENCE: [અશ્રાવ્ય] નિર્દેશક. ડેવિડ જે MALAN: અરે વાહ, અમે પણ નિર્દેશક છે. તેથી આ minorly હેરાન કરે છે કે લાંબા સમય સુધી છું હું માત્ર પૂર્ણાંક સંગ્રહવા પૂર્ણાંક પ્રતિનિધિત્વ. હું પૂર્ણાંક અને સ્ટોર છું પણ 32 બિટ્સ છે, જે નિર્દેશક. તેથી હું શાબ્દિક બમણી છું જગ્યાનો જથ્થો સમાવેશ થાય છે. જેથી એક વેપાર બોલ છે, પરંતુ કે પૂર્ણાંક કિસ્સામાં છે. , તમે પૂર્ણાંક સંગ્રહવા નથી ધારો કે પરંતુ આ લંબચોરસ દરેક ધારવું અથવા આ મનુષ્યો દરેક રજૂ કરવામાં આવી હતી એક શબ્દ, એક ઇંગલિશ શબ્દ કે પાંચ અક્ષરો, 10 હોઈ શકે છે અક્ષરો, કદાચ પણ વધુ. પછી માત્ર 32 વધુ બિટ્સ ઉમેરી રહ્યા એક મોટી સોદો ઓછી હોઈ શકે છે. શું વિદ્યાર્થીઓને દરેક જો આ પ્રદર્શન માં હતા શાબ્દિક વિદ્યાર્થી સ્ટ્ર્ક્ટ્સ કે કદાચ નામો અને ઘરો અને છે ફોન નંબરો અને ટ્વિટર સંભાળે અને ગમે છે. તેથી એ બધા ક્ષેત્રોમાં અમે શરૂ બીજા દિવસે વિશે વાત, તરીકે એક મોટી સોદો ઘણી ઓછી અમારા ગાંઠો વધુ રસપ્રદ વિચાર અને મોટા, એમ, વધારાની ખર્ચવા નિર્દેશક માત્ર તેમને એકસાથે લિંક કરવા માટે. પરંતુ ખરેખર, તે એક વેપાર બોલ છે. અને ખરેખર, આ કોડ છે વધુ જટિલ, તમે પડશે દ્વારા skimming દ્વારા જુઓ ચોક્કસ ઉદાહરણ. પરંતુ ત્યાં તો અહીં કેટલાક પવિત્ર ગ્રેઇલ. અમે એક પગલું ન લો તો શું પાછળની પરંતુ એક મોટા પગલું આગળ અને એક માહિતી અમલ માળખું જે મારફતે અમે જેક અથવા જેવા તત્વો શોધી શકો છો ક્રિસ્ટીન અથવા કોઈપણ અન્ય તત્વો સાચું સતત સમય માં આ એરે છે? શોધ સતત છે. કાઢી નાખો સતત છે. સામેલ કરો સતત છે. આ કામગીરી તમામ સતત છે. તે અમારી પવિત્ર ગ્રેઇલ છે. અને તે છે જ્યાં અમે આગામી સમય પસંદ કરશે. પછી તમે જુઓ.