DAVID MALAN: બધા અધિકાર. CS50 પાછા આપનું સ્વાગત છે. આ અઠવાડિયે 8 શરૂઆત છે. અને તે સમસ્યા સમૂહ 5 અંત યાદ એક પડકાર એક થોડુંક સાથે. જેથી તમે તમારા બધા સુધરી એમ ધારી રહ્યા છીએ શિક્ષણ ફેલો અને CA માતાનો ફોટોગ્રાફ્સ જો card.raw ફાઇલમાં, તમે પાત્ર છે હવે તે બધા લોકોને શોધવા માટે, અને એક નસીબદાર વિજેતા એક સાથે ઘરે જવામાં આવશે આ વસ્તુઓ લીપ ગતિ તમે અંતિમ માટે ઉપયોગ કરી શકો છો કે જે ઉપકરણ દાખલા તરીકે પ્રોજેક્ટ. આ દર વર્ષે તરફ દોરી જાય છે creepiness એક બીટ. અને તેથી શું હું શું કરશો વિચાર્યું શેર છે તમારી સાથે છે કે નોંધો કેટલાક ઉપર અને પાછળ આગળ ચાલ્યો અંતમાં ઓફ સ્ટાફ યાદી. ઉદાહરણ તરીકે, માત્ર છેલ્લા રાત્રે, કંપની માટે સ્ટાફ એક થી, અવતરણ ચિહ્નો પૂરાં કરવાં સભ્યો, "હું માત્ર એક વિદ્યાર્થી ફટકા હતી મારા દરવાજા પર મને સાથે ફોટો લેવા માટે. સ્ટોકર, હું તમને કહી. "બંધ શરુ અમે ખસેડવામાં પછી એકદમ વર્ણનાત્મક અને પર એક કલાક અથવા તેથી પછી, "હું એક હતી વિદ્યાર્થી વિભાગમાં પછી મારા માટે રાહ અને તેઓ અમારા નામો અને ફોટાઓ બધા હતી કાગળ કેટલાક શીટ્સ પર. "ઓલ રાઇટ. તેથી આયોજન નથી, પરંતુ હજી સુધી તે બધા વિલક્ષણ. પછી, "હું આ સપ્તાહમાં, નગર બહાર હતા અને હું પાછળ મળી, જ્યારે એક ત્યાં હતો મારું બેડરૂમમાં. "[હાસ્ય] DAVID MALAN: એક સ્ટાફ તરફથી આગળ ભાવ સભ્ય, "એક વિદ્યાર્થી પર મારા ઘરમાં આવ્યા 4 SOMERVILLE આ સવારે છું. "આગલું સ્ટાફ, "હું સાન મારી હોટેલ મળી ફ્રાન્સિસ્કો અને એક વિદ્યાર્થી માટે રાહ જોઈ હતી ત્રણ DSLRs સાથે લોબીમાં મને. " કેમેરા પ્રકાર. "હું, સ્ટાફ આ સત્ર પણ નથી પરંતુ વિદ્યાર્થી મારા ઘરમાં આ તોડ્યો સમગ્ર બાબત સવારે અને રેકોર્ડ . Google ગ્લાસ સાથે "અને પછી છેલ્લે, "ઓછામાં ઓછા 12 લોકો આતુરતા હતી હું મારી બહાર મળી ત્યારે મને માટે રાહ લિમો અને પછી હું ઉઠે. "ઓલ રાઇટ. તેથી ફોટોગ્રાફ્સ વચ્ચે તરીકે, તમે કરી શકે છે યાદ, તો આ સાથી તમે કોણ, અહીં છે રહે છે મિલો કેળા, તરીકે જાણતા હોય લોરેન Carvalho, અમારા વડા સાથે ફેલો શિક્ષણ. મિલો, મિલો, અહીં છોકરો આવે છે. મિલો. મિલો. તમે મન, જેથી, Google, ગ્લાસ પહેર્યા છે અમે તમને આ બધા પછી બતાવીશું. તમે ઈચ્છો તો આ મિલો છે પછીથી તેને સાથે ફોટોગ્રાફ લેવા. તમે બહાર જોવા માંગતા હો, તો ત્યાં પ્રેક્ષકોને મુ. ઠીક. કે સારા ફૂટેજ છે. વેલ, મિલો કેળા. ઓહ, કે નથી. [હાસ્ય] ઠીક. આગળ આવેલો શું પછી એક શબ્દ છે, તેથી અમે સંક્રમણ શરૂ કારણ કે, આ અઠવાડિયે, ખાસ રીતે સી માંથી આદેશ વાક્ય PHP, માટે પર્યાવરણ અને જાવાસ્ક્રિપ્ટ અને SQL અને HTML અને CSS માં વેબ આધારિત પર્યાવરણ, અમે હશો બધા સાથે તમને equipping વધુ જ્ઞાન સંભવિત અંતિમ પ્રોજેક્ટ. કે ઓવરને તરફ, કોર્સ એક છે પરિસંવાદો હોલ્ડિંગ પરંપરા જે સ્પર્શકીય વિષયો પર છે કોર્સ છે. ખૂબ પ્રોગ્રામિંગ માટે અને સંબંધિત એપ્લિકેશન વિકાસ અને તેથી આગળ, પરંતુ જરૂરી દ્વારા શોધવામાં નથી કોર્સ પોતાના અભ્યાસક્રમ. તમે એક રસ હોઈ શકે તેથી જો આ વર્ષે પરિસંવાદો અથવા વધુ, cs50.net/seminar ખાતે રજીસ્ટર કરો. જૂની પરિસંવાદો છે cs50.net/seminars મુ. અને આ વર્ષ માટે આમ અત્યાર સુધી રોસ્ટર પર રૂબી સાથે અમેઝિંગ વેબ એપ્સ પર હોય છે વૈકલ્પિક છે, જે રેલ્સ, PHP, માટે ભાષા. કમ્પ્યુટેશનલ લિન્ગ્વિસ્ટિક્સ. આ છે, જે iOS, પરિચય અને આઇફોન માટે વપરાય છે કે જે પ્લેટફોર્મ આઇપેડ વિકાસ. જાવાસ્ક્રિપ્ટ વેબ Apps માટે, અમે આવરી પડશે કે, પરંતુ આ પરિસંવાદ માં, તમે જવા પડશે વધુ વિગતવાર માં. મોશન કૂદકો, તેથી અમે ખરેખર કેટલાક પડશે લીપ મોશન અમારા મિત્રો, કંપનીએ પોતે, અમને જોડાવા. કાલે, હકીકતમાં, પૂરી પાડે છે એક હાથ પર પરિસંવાદ, જો તમે રસ છે. Meteor.js, માટે વૈકલ્પિક તકનીક નથી બ્રાઉઝરમાં JavaScript નો ઉપયોગ કરીને, પરંતુ કોઈ એક સર્વર પર. ખૂબ છે, જે Node.js, કે નસ તેમજ. Sleek, Android ડિઝાઇન. Android ખૂબ જ લોકપ્રિય વૈકલ્પિક છે iOS અને Windows ફોન માટે અને અન્ય મોબાઇલ પ્લેટફોર્મ. અને વેબ સુરક્ષા સક્રિય સંરક્ષણ. તેથી હકીકતમાં, તમે ઈચ્છો તો આ રોકવા માટે મને દો આ નોંધ કરો. અમે કહે છે કે ખૂબ જ ખુશ છો લીપ પર અમારા મિત્રો શરુઆત છે કે જે ગતિ, - આ ઉપકરણ ખરેખર માત્ર આવ્યો થોડા મહિના પહેલાં બહાર - ફરીને 30 આવા ઉપકરણો દાન છે ઘણા વિદ્યાર્થીઓ તરીકે માટે વર્ગ, તો જો તમે હાર્ડવેર ઉછીના લેવા માગતા સત્ર અંત તરફ અને માટે તેને વાપરો એક વાસ્તવિક અંતિમ પ્રોજેક્ટ. તેઓ ભાષાઓની નંબર આધાર આપે છે. તેમાંના જેથી સી, ​​તેમને કંઈ PHP, ખ્યાલ આ પરિસંવાદો એક અથવા વધુ રસ સાબિત થઇ શકે છે. અને તેમને બધા ફિલ્માંકન થશે તમે કરી શકતા નથી કે જે ઇવેન્ટ વ્યક્તિ હાજર છે. શેડ્યૂલ મારફતે જાહેરાત કરી શકાય અમે રૂમ મજબૂત તરીકે ઇમેઇલ કરો. અને છેલ્લે, તમે જવા માટે જો projects.cs.50.net, આ વેબસાઇટ છે અમે આમંત્રણ દરેક વર્ષે કે જાળવવા સમુદાય, શિક્ષકો, ના જાણતા વિભાગો, સ્ટાફ, અને બંને CS50 માટે એક બહાર પ્રોજેક્ટ વિચારો પ્રસ્તાવ. વિદ્યાર્થી જૂથો રસ વસ્તુઓ. વિભાગો રસ વસ્તુઓ. તમે સંઘર્ષ કરી રહ્યાં છો, તો ત્યાં ચાલુ કરો શું તમે માટે અનિશ્ચિતતા સાથે પોતાને સામનો કરવા માંગો છો. તેથી છેલ્લા સમય અમે એક દલીલ રજૂ કરવામાં વધુ જટિલ માહિતી માળખું અમે કરશો કરતાં છેલ્લા અઠવાડિયા માં બતાવ્યા. અમે ખૂબ એરે નો ઉપયોગ કરશો જો happily તરીકે ઉપયોગી સરળ માહિતી માળખું. પછી અમે આ રજૂઆત કરી હતી કોર્સ યાદી કડી થાય છે. અને માટે પ્રોત્સાહનો એક શું હતું આ માહિતી માળખું દાખલ? યાહ? કે શું? પ્રેક્ષક: ડાયનેમિક માપ. DAVID MALAN: ડાયનેમિક માપ. અરે જ્યારે તેથી, તમને છે અગાઉથી તેના કદ ત્યારે ખબર તમે તેને ફાળવો. યાદીની લિંક, તમે નથી કે ખબર હોય છે. તમે વધુ સામાન્ય રીતે ફક્ત malloc, અથવા, કરી શકો છો વધારાની ફાળવણી નોડ, તેથી વાત કરવા માટે, કોઈપણ સમયે તમે વધુ માહિતી સામેલ કરવા માંગો છો. અને નોડ પર કોઈ અર્થ પૂર્વનિર્ધારિત છે. તે માત્ર વર્ણન સામાન્ય શબ્દ છે અમે છીએ કે કન્ટેનર અમુક પ્રકારની સંગ્રહ કરવા માટે અમારા માહિતી માળખામાં મદદથી આ રસ કેટલાક આઇટમ, જે કેસ પૂર્ણાંકો હોઈ થાય છે. પરંતુ ટ્રેડઓફ હંમેશા ત્યાં છે. તેથી અમે માહિતી ગતિશીલ માપો વિચાર માળખું, પરંતુ અમે શું ચૂકવવાની કિંમત નથી? સંલગ્ન યાદીઓની નુકસાન શું છે? યાહ? પ્રેક્ષક: વધુ મેમરી જરૂર છે. DAVID MALAN: તે વધુ જરૂરી છે મેમરી, કેવી રીતે બરાબર? પ્રેક્ષક: [અશ્રાવ્ય]. DAVID MALAN: ચોક્કસ. તેથી હવે અમે પોઇન્ટર અપ લેતી હોય છે વધારાના મેમરી અમે અગાઉ તે જરૂર ન હતી, કારણ કે લાભ એક એરે છે, અલબત્ત, કે બધું સંલગ્ન પાછળ છે પાછળ પાછળ છે, જે તમે રેન્ડમ એક્સેસ આપે છે. કારણ કે માત્ર ચોરસ કૌંસ ઉપયોગ કરીને સંકેતલિપિ, અથવા વધુ ટેકનિકલ નિર્દેશક અંકગણિત, ખૂબ સરળ વધુમાં, તમે કોઈપણ ઍક્સેસ કરી શકો છો સતત સમય તત્વો છે. અને હકીકતમાં, તે અંતે hinting પ્રકારની છે અમે એક સાથે ભરવા રહ્યાં છો તે અન્ય ભાવ યાદીની લિંક. શું ચાલી રહેલ સમય થાય છે શોધ કંઈક, હું કરવા માંગો છો અમુક કિંમત અને અંદર શોધવા એક કડી થયેલ યાદી? મારા ચાલી સમય શું બની છે? N ના મોટા ઓ. તે સૉર્ટ તો? શું માહિતી માળખું સૉર્ટ હોય તો? હું મોટી કરતાં વધુ સારી કરી શકો છો શોધ માટે એ ઓ? ના, કારણ કે ખરાબ કિસ્સામાં તે કદાચ ખૂબ જ સારી રીતે છટણી, પરંતુ કરવામાં સંખ્યા તમે મોટી હોઇ શકે છે માટે શોધી રહ્યાં છે. તે જે નંબર 100, હોઇ શકે છે બધા હોઈ થાય શકે છે અંતે માર્ગ. અને તમે માત્ર એક સંલગ્ન ઍક્સેસ કરી શકો છો કારણ કે આ અમલીકરણમાં યાદી તેની પ્રથમ નોડ રીતે, તમે છો નસીબ બહાર હજુ પણ પ્રકારની. તમે સમગ્ર બાબત પસાર છે પ્રથમ માંથી શોધવા માટે છેલ્લા 100 જેવા મોટા મૂલ્ય. તે તો નક્કી કરવા માટે પણ નથી ત્યાં. તેથી અમે ડેટા શું અલ્ગોરિધમનો ન કરી શકો માળખું આ જેવી લાગે છે કે? અમે દ્વિસંગી શોધ નથી કરી શકો છો, કારણ કે દ્વિસંગી શોધ અમે હતું કે જરૂરી રેન્ડમ એક્સેસ. અમે ફક્ત પાંચ આંકડાના US સ્થાન થી કૂદકો શકે અનુસરો કર્યા વગર પાંચ આંકડાના US સ્થાન આ ફોર્મ આ બ્રેડ crumbs આ બધા પોઇન્ટર છે. હવે, કેવી રીતે અમે આ અમલ હતી? ઠીક છે, આપણે અહીં સ્ક્રીન પર જાઓ નહિં, તો જો અમે ઝડપથી આ માહિતી reimplement કરી શકો છો માળખું - મારા હસ્તાક્ષર કરે છે કે બધા નથી અહીં મહાન છે, પરંતુ અમે પ્રયત્ન કરીશું. તેથી typedef સ્ટ્રક્ટ, અને શું કર્યું હું આ બાબત અહીં કૉલ કરવા માંગો છો? નોડ. તેથી હું અમને શરૂ મળશે. અને હવે, શું અંદર હોવી જોઇએ કે એકલા માટે માહિતી બંધારણ યાદી કડી થયેલ? કેટલા ક્ષેત્રો? બે તેથી. એક ખૂબ સરળ છે. એ તેથી ઈન્. અને અમે માંગો છો એ કંઈપણ કૉલ કરી શકે છે અમે છીએ પરંતુ જો તે ઈન્ પ્રયત્ન કરીશું ints માટે યાદીની લિંક અમલીકરણ. અને હવે શું બીજા કરે છે ક્ષેત્ર પર થાય છે? સ્ટ્રક્ટ નોડ *. હું સ્ટ્રક્ટ નોડ * અને પછી મારે શું કરવું તેથી જો પણ હું માંગો ગમે તો આ ફોન કરી શકો છો, પરંતુ માત્ર હું કૉલ કરીશ સ્પષ્ટ કરવા તે પછી, આપણે કરી ગયેલ છે તેમ. અને પછી હું મારા સર્પાકાર કૌંસ બંધ પડશે. અને હવે, છેલ્લા સમય છે, હું અહીં નોડ નીચે મૂકો. પરંતુ હું આ જાહેર છું જો તરીકે છે નોડ, શા માટે હું આમ હોવા સંતાપ હતી અહીં સ્ટ્રક્ટ જાહેર માં વર્બોઝ નોડ * આગલા તરીકે, વિરોધ આગામી માત્ર નોડ * માટે? યાહ? પ્રેક્ષક: [અશ્રાવ્ય]. DAVID MALAN: ચોક્કસ. બરાબર. સી ખરેખર તમે શાબ્દિક લે અને કારણ કે માત્ર નોડને વ્યાખ્યા જુએ અહીં નીચે રીતે, તમે કરી શકતા નથી તેને અહીં સુધી સંદર્ભ લો. તેથી અમે આગોતરી આ પ્રકારની હોય છે સ્વીકૃત છે, જે અહીં ઘોષણા, વધુ વર્બોઝ. સ્ટ્રક્ટ નોડ, એનો અર્થ એ થાય અમે હવે તેને ઍક્સેસ કરી શકો છો ડેટા માળખાની અંદર. અને એક કોરે તરીકે, આ છે કારણ કે , હવે થોડી વધારે વ્યક્તિલક્ષી બની સ્ટાર ટેકનિકલ અહીં જઈ શકો છો, તે અહીં જઈ શકો છો, તે આ કરી શકો છો પણ મધ્યમ જાઓ. અમે માટે માર્ગદર્શક શૈલીનો, દત્તક કર્યું કોર્સ, મૂકે ના સંમેલન માહિતી મેળવવાનો અધિકાર પાસેના સ્ટાર પ્રકાર, આ કિસ્સામાં, કે જે સ્ટ્રક્ટ નોડ હશે. પરંતુ પાઠ્યપુસ્તક ઘણો માં ખ્યાલ અને ઑનલાઇન સંદર્ભો, તમે ખરેખર કદાચ બીજી બાજુ પર તે જુઓ. પરંતુ માત્ર કે ખરેખર ચાલશે બંને ખ્યાલ કામ કરે છે અને તમે ખાલી પ્રયત્ન કરીશું સતત. બધા અધિકાર. તેથી અમારા ઘોષણા હતી સ્ટ્રક્ટ નોડ છે. પરંતુ પછી અમે વધુ કરી શરૂ આધુનિક વસ્તુઓ. ઉદાહરણ તરીકે, અમે પરિચય લીધી હેશ ટેબલ કંઈક. તેથી અહીં માપ એ એક હેશ ટેબલ છે, એ માટે છોડી ટોચ પર 0 થી અનુક્રમિત ઓછા તળિયે 1 છોડી દીધી. આ હેશ હોઈ શકે ખાવા માટે કોષ્ટક. પરંતુ અમે વસ્તુઓ પ્રકારના વાત શું કર્યું માટે હેશ કોષ્ટક ઉપયોગ વિશે? શું સ્ટોર? નામો. અમે જેવા નામો કરી શકે અમે છેલ્લા સમય હતી. અને ખરેખર, તમે કંઈપણ સ્ટોર કરી શકો છો. અને અમે ફરી આ જોશો PHP, અને જાવાસ્ક્રિપ્ટ. હેશ કોષ્ટક સ્વિસ એક સરસ પ્રકારની છે તમે સ્ટોર કરવા માટે પરવાનગી આપે છે કે જે આર્મી છરી ખૂબ ખૂબ તમે અંદર માંગો ગમે કિંમતો સાથે કીઓ જોડીને તે. કિંમતો સાથે કીઓ. હવે આ સરળ કિસ્સામાં, અમારા કીઓ માત્ર નંબરો છે. અમે હેશ અમલ કરી રહ્યા છીએ એક એરે તરીકે કોષ્ટક. અને તેથી કીઓ 0 છે, 1, 2, અને તેથી આગળ. અને તેથી અમે, મનુષ્યો, છેલ્લા લીધી જો અમે કરશો તો શું, ખબર છે કે સપ્તાહ સ્ટોર નામો જવા દો માતાનો માત્ર આપખુદ છે, પરંતુ ખૂબ વ્યાજબી, ધારે છે કે એલીસ, એક નામ, ફક્ત 0 માં અનુક્રમિત કરવામાં આવશે. અને બોબ, બી નામ, અનુક્રમિત થશે 1 માં, અને તેથી આગળ. જેથી અમે ઇનપુટ્સ વચ્ચે મેપિંગ હતી જે શબ્દમાળાઓ છે, અને હેશ નંબરો છે જે સ્થાનો,. કે જેથી પ્રક્રિયા સામાન્ય રીતે તરીકે ઓળખાય છે હેશ વિધેય, અને તમે ખરેખર આ કરી શકો છો તે કોડ અમલ. હું હેશ વિધેય અમલ કરવા ઈચ્છતો હોય તો કે ચોકકસ શું આપણે નથી માત્ર છેલ્લા સમય થી વર્ણન, હું કદાચ તરીકે, લે કે કાર્ય જાહેર દાખલા તરીકે ઇનપુટ - અને ચાલો આ પર આ કરવું અહીં સ્ક્રીન. હું હેશ અમલ કરવા ઈચ્છતો હોય તો કાર્ય, હું કહી શકે છે આ કંઈક. તે ઈન્ પાછા બનશે. તે હેશ કહેવાય જશે, અને તે છે એક દલીલ તરીકે સ્વીકારી જવા સ્ટ્રિંગ, અથવા આપણે હવે વધુ યોગ્ય હોઈ શકે છે અને ચાર * કહે છે, અમે તેને ઓ કૉલ કરશો. અને પછી આ બધા કાર્ય કરવાની છે છેવટે, એક ઈન્ પાછા થયેલ છે. હવે, તે કેવી રીતે કરે છે કે જે કદાચ તેથી સ્પષ્ટ થઈ નથી. હું કોઇ પણ વગર આ અમલ કરવા જઇ રહ્યો છું હમણાં ચકાસીને ભૂલ રચે છે. હું માત્ર આંખ મીંચીને કહે જઇ રહ્યો છું, પાછા ઓ કૌંસ 0 ગમે છે, ઓછા, લેટ્સ મૂડી અર્ધવિરામ, કહે છે. તદ્દન ભાંગી. તે સંપૂર્ણ નથી કારણ કે એક, ઓ નલ શું હોય? ખરાબ વસ્તુઓ થાય જતા હોય છે. બે, શું જો આ પ્રથમ અક્ષર નામ મૂડી અક્ષર નથી? બંધ જવા નથી કે બહાર તેમજ ક્યાં તો. જો તે લોઅરકેસ અક્ષર હોઈ શકે છે નથી અથવા બધા ખાતે અક્ષર. અહીં સુધારો તેથી તદ્દન રૂમ, પરંતુ આ મૂળભૂત વિચાર છે. અમે મૌખિક છેલ્લા અઠવાડિયે વર્ણન શું માટે એલિસ મૅપ માત્ર એક પ્રક્રિયા 1 0 અને બોબ વ્યક્ત કરી શકાય છે ચોક્કસપણે વધુ formulaically એક સી તરીકે અહીં કામ કરે છે. ફરી હેશ કહેવાય છે, તરીકે શબ્દમાળા લે છે ઇનપુટ અને પછી અચાનક કંઈક કરે છે એક આઉટપુટ પેદા કરે છે કે જે ઇનપુટ સાથે. નથી અમારી બ્લેક બોક્સ વર્ણન વિપરીત અમે લાંબા કર્યું છે. હું આ કેવી રીતે હોઇ શકે છે ખબર નથી હૂડ નીચે કામ કરે છે. સમસ્યા સમૂહ 6, પડકારો પૈકી એક માટે તમે નક્કી કરવા માટે શું છે તમારા હેશ વિધેય થશે? કે કાળા અંદર હોઈ ચાલે છે તે બોક્સ, અને સંભવતઃ, જો તે રહેશો થોડી વધુ આ કરતાં રસપ્રદ છે, અને ભૂલ ચોક્કસપણે વધુ સંવેદનશીલ આ ચોક્કસ કરતાં તપાસ અમલીકરણ. પરંતુ સમસ્યાઓ જમણી ઊભી કરી શકે છે? અમે આ પ્રકારના એ માહિતી બંધારણ હોય તો એક, સમસ્યાઓ એક શું છે તમે દાખલ તરીકે તમે સમય પર માં ચલાવી શકો છો માં વધુ અને વધુ નામો હેશ ટેબલ? તમે અથડામણમાં વિચાર? શું તમે એલિસ અને આરોન છે, જો જેમના નામો થયું બે લોકો એક સાથે શરૂ કરવા માટે? જ્યાં તે તમે પ્રશ્ન begs બીજા જેમ કે A નામ મૂકવામાં? વેલ, તમે નિખાલસ રીતે માત્ર તેને મૂકી શકે બોબ અનુસરે છે, પરંતુ પછી બોબ છે તમે કરવાનો પ્રયાસ કરો જો પ્રકારની ખરાબ આગામી તેમના નામ દાખલ કરો અને તેને માટે આ બોલ પર કોઈ જગ્યા હોય છે. તેથી તમે ચાર્લી છે બોબ, મૂકી શકે અને જો તમે આ ખૂબ જ ઝડપથી કલ્પના કરી શકો છો એક વાસણ એક બીટ માં સોંપણી. ઓવરને માં લીનીયર કંઈક, તમે જ્યાં માત્ર સમગ્ર વસ્તુ શોધવા માટે છે એલિસ અથવા બોબ માટે જોઈ અથવા આરોન અથવા ચાર્લી. તેથી તેના બદલે આપણે તેના સ્થાને માત્ર છે, દરખાસ્ત linearly ખુલ્લી જગ્યાઓ માટે ચકાસણી અને અમે ત્યાં નામો plopping એક પારખુ અભિગમ પ્રસ્તાવ મૂક્યો. એક સાથે હજુ પણ અમલમાં હેશ કોષ્ટક સૂચકાંક અરે, પરંતુ ડેટા પ્રકાર તે સૂચકાંક હવે પોઇન્ટર હતા. શું પોઇન્ટર? કડી થયેલ યાદીઓ પોઇન્ટર. કારણ કે એક કડી થયેલ યાદી છે કે જે બોલાવવાનો ખરેખર માત્ર એક નોડ માટે નિર્દેશક, અને આ ગાંઠ આગામી ક્ષેત્ર છે, અને તે ગાંઠ છે આગામી ક્ષેત્ર ધરાવે છે, અને તેથી આગળ. તેથી તમે હવે આ એરે વિચાર કરી શકો છો હેશ કોષ્ટક તરીકે ના ડાબા હાથ બાજુ એક કડી થયેલ યાદી માટે અગ્રણી. જો તમે વિચાર તો જે લાભ છે એલિસ અને આરોન વચ્ચે અથડામણ, જો તમે તેની સાથે શું કરવું બીજા જેમ કે વ્યક્તિ? તમે ફક્ત તેને ગણાવે છે અથવા તેના અંતે, અથવા પણ શરૂઆત કે યાદીની લિંક છે. અને ખરેખર, મારફતે માત્ર ભોટ ચાલો માત્ર એક બીજા માટે. જ્યાં સૌથી અર્થમાં બનાવવા કરશે? હું એલિસ દાખલ કરો અને તે અંતે થાય તો પ્રથમ પાંચ આંકડાના US સ્થાન, પછી હું કરવાનો પ્રયાસ કરો આરોન માતાનો નામ દાખલ કરો, અને ત્યાં દેખીતી રીતે એક અથડામણ, હું કરવી જોઇએ તેને શરૂઆતમાં લિંક કરેલા યાદી? કે કે, પ્રથમ સ્થાન પર છે અથવા ઓવરને અંતે? પ્રેક્ષક: [અશ્રાવ્ય]. DAVID MALAN: OK. હું શરૂ સાંભળ્યું. શા માટે શરૂઆતમાં? પ્રેક્ષક: [અશ્રાવ્ય]. DAVID MALAN: OK. તે મૂળાક્ષર છે, સરસ છે કે જેથી. તે એક સારો મિલકત છે. તે મને સંભવિત કેટલાક સમય બચાવે છે. તે મને દ્વિસંગી શોધ કરવા દો, પરંતુ નહીં હું ઓછામાં ઓછા બહાર તોડવા માટે સક્ષમ હોઈ શકે છે હું ખ્યાલ જો લૂપ, સારી રીતે, હું માર્ગ છું ભૂતકાળમાં હતા આરોન આ હશે સંલગ્ન યાદી સૉર્ટ. હું જોઈ મારા સમય કચરો ન હોય અંતે બધી રીતે. કે જેથી વાજબી છે. શા માટે બીજું તમે દાખલ કરવા માંગો છો શકે છે જો ખાતે અથડાઈ નામ યાદીની શરૂઆત? કે શું? પ્રેક્ષક: [અશ્રાવ્ય]. DAVID MALAN: તે લાંબા સમય લાગી શકે છે યાદીમાં ઓવરને મેળવવા માટે. અને હકીકતમાં, અને લાંબા સમય સુધી લાંબા સમય સુધી. તમે દાખલ વધુ નામો કે A, જે લાંબા સમય સુધી સાથે શરૂ સાંકળ વિચાર ચાલે છે. લાંબા કડી થયેલ છે કે યાદી વિચાર ચાલે છે. તેથી તમે ખરેખર માત્ર કરશો તમારા સમય ઘસાતી. કદાચ તમે જાળવવા સારી બંધ કરશો સતત નિવેશ સમય, 1 મોટી ઓ, હંમેશા અથડાઈ નામ પર મુકીને આ યાદીની લિંક શરૂઆત, અને ઘણી તરીકે ચિંતાજનક નથી સૉર્ટ વિશે. શ્રેષ્ઠ જવાબ શું છે? તે અસ્પષ્ટ છે. તે પ્રકારની પર આધાર રાખે છે શું વિતરણ પેટર્ન શું છે, છે આ નામો તમે દાખલ કરવામાં આવે છે. તે જરૂરી નથી એક સ્પષ્ટ જવાબ. પરંતુ અહીં ફરીથી છે, ડિઝાઇન તક. તેથી અમે, પછી આ બાબત પર જોવામાં જે ખરેખર બીજી મોટી તક છે પી સેટ 6. અને, તમે પહેલેથી જ ન હોય તો, ખ્યાલ હેશ આ બંને માં Zamyla થીજેલા, કોષ્ટકો અને વધુ વિગતવાર પ્રયત્ન કરે છે,. અને વિડિઓ walkthrough છે પી સેટ ઉલ્લેખનું એમ્બેડ. આ એક trie હતી - ટી આર આઇ ઇ. અને વિશે રસપ્રદ શું હતું કે આ ચાલી રહેલ સમય હતો મેક્સવેલ, જેમ એક નામ માટે શોધ ઓફ છેલ્લા સમય, શું મોટી ગુમાવનારા હતી? કે શું? પ્રેક્ષક: પત્રો સંખ્યા. DAVID MALAN: અક્ષરો સંખ્યા. હું બે વસ્તુઓ સાંભળ્યું. અક્ષરો અને સતત સમય આઉટસ્ટેન્ડિંગની સંખ્યા. તેથી માતાનો કે પ્રથમ સાથે જવા દો. અક્ષરો ની સંખ્યા. વેલ, આ માહિતી માળખું, યાદ છે, એક વૃક્ષ, એક પરિવાર વૃક્ષ, દરેક ગમે જેની ગાંઠો એરેને બનેલી છે. અને તે એરે માટે પોઇન્ટર છે અન્ય જેમ કે ગાંઠો, અથવા જેમ કે અન્ય વૃક્ષ માં એરે. અમે પછી નક્કી કરવા માગતા હતા તેથી જો મેક્સવેલ અહીં છે કે શું, હું જવા શકે છે ખૂબ જ ટોચ પર પ્રથમ એરે માટે વૃક્ષ, કહેવાતા રુટ ટોચ પછી trie, અને મીટર નિર્દેશક અનુસરો પછી એક નિર્દેશક, એક્સ, વાઇડ, ઈ, એલ, એલ. અને પછી હું, અમુક ખાસ પ્રતીક જુઓ ત્યારે એક ત્રિકોણ તરીકે સૂચિત. કોડ તમારો અમે પ્રસ્તાવ જોશો કે તમે માત્ર હા કહીને એક bool તરીકે અમલમાં અથવા કોઈ એક શબ્દ અહીં અટકે છે. વેલ, એક વાર અમે એમ એ X-W-ઇ એલ એલ ગયો છે, કદાચ, સાત જેવી લાગે છે આઠ અમે તેને છેલ્લા એક આઠ જાઓ તો મેક્સવેલ શોધવા માટે જાય છે. અથવા ના તે કે કૉલ દો પરંતુ છેલ્લા યાદ સમય, હું ત્યાં તો દલીલ કરી હતી કે પર વાસ્તવિકતાથી મહત્તમ લંબાઈ શબ્દ, 40 અમુક વિચિત્ર અક્ષરો જેમ મહત્તમ લંબાઈ સૂચિત સતત મૂલ્ય. તેથી, ખરેખર હા, તે ટેકનિકલી મોટો o છે પરંતુ 8 અથવા 7, અથવા કે જેઓ ખરેખર મોટી ઓ શું મર્યાદિત કેપ હોય તો કેવલી હોઈ શકે છે, જો તે સતત છે. અને તેથી તે 1 મોટી ઓ અંતે ચોક્કો દિવસ ઓવરને. નથી વાસ્તવિક દુનિયામાં. તમે ખરેખર જોવાનું શરૂ નથી ત્યારે તમારા કાર્યક્રમનો ચાલતા તરીકે તમારી ઘડિયાળ. તે એકદમ થોડી જશે સાચી સતત કરતાં ધીમી એક પગલું સાથે સમય. તેમાં સાત કે આઠ પગલાંઓ જશે પરંતુ હજુ પણ તે ખૂબ, ખૂબ સારી છે કે એ મોટી ઓ જેવા અલ્ગોરિધમનો કરતાં માં શું માપ પર આધાર રાખે છે માહિતી બંધારણ. અહીં સાવ અમે દાખલ કરી શકો છો છે નોટિસ આ એક મિલિયન વધુ નામો માહિતી બંધારણ છે, પરંતુ કેટલા વધુ પગલાંઓ તેને શોધવા માટે અમને લેવા માટે જવાનું છે તે કિસ્સામાં મેક્સવેલ? ડી. કુલ અકબંધ છે. અને તારીખ માટે, હું અમે જોઈ કર્યું નથી લાગતું નથી એ માહિતી બંધારણ અથવા એક ઉદાહરણ સંપૂર્ણપણે હતું કે અલ્ગોરિધમનો બાહ્ય દ્વારા અકબંધ કે જેમ વર્તન. પરંતુ આ અમેઝિંગ ન હોઈ શકે. આ માત્ર ઉકેલ ન હોઇ શકે પી સેટ માટે અને તે નથી. આ ડેટા હોય તે જરૂરી નથી માળખું તમે માટે જવાનું જોઈએ કારણ કે હેશ કોષ્ટકો, જેમ ટ્રેડઓફ. તમે અહીં ચૂકવવા ભાવ શું છે? મેમરી. હું તેનો અર્થ, કે આ એક ભયાનક છે મેમરી જથ્થો. અને તમે ખૂબ અહીં તેને જોઈ શકતા નથી કારણ કે આ ચિત્ર લેખક દેખીતી રીતે, આ એરેને બધા કાપવામાં અને અમે એક માતાનો ઘણાં બધાં જોઈ નથી અને કરી રહ્યાં છે બી અને સી અને ક્યૂ અને વાય માતાનો અને Z માતાનો આ એરે છે. પરંતુ તેઓ ત્યાં નથી. આ ગાંઠો દરેક સમગ્ર એરે છે કેટલાક 26 અથવા વધુ બાઇટ્સ, દરેક જે અક્ષર રજૂ કરે છે. અમે સપોર્ટ કરી શકો છો, કે જેથી અમારા કિસ્સામાં 27, સમસ્યા સેટમાં apostrophes. આ માહિતી માળખું ખરેખર છે તેથી, ખરેખર ગાઢ અને વિશાળ. અને એકલા કે ધીમી અંત શકે છે વસ્તુઓ નીચે, અથવા ઓછામાં ઓછા તમે પડતર ઘણો વધુ જગ્યા નથી. પરંતુ ફરી, અમે ડ્રો કરી શકો છો અહીં સરખામણીઓ. પાછા જ્યારે યાદ, અમે ખૂબ પ્રાપ્ત સૉર્ટ વધુ ઉત્તેજક ચાલી સમય અમે મર્જ સોર્ટ, પરંતુ ભાવ ઉપયોગ કરો છો ત્યારે અમે મર્જ માટે એ સિદ્ધ એ લૉગ ચૂકવવામાં સોર્ટ અમે પસાર જરૂરી વધુ શું સાધન? વધુ જગ્યા નથી. અમે ગૌણ એરે જરૂરી જેમ માં લોકો નકલ અમે સ્ટેજ પર અહીં હતી. તેથી ફરી આ બોલ પર કોઈ સ્પષ્ટ વિજેતા, પરંતુ માત્ર વ્યક્તિલક્ષી ડિઝાઇન નિર્ણયો કરવામાં આવશે નહીં. બધા અધિકાર. તેથી કેવી રીતે આ વિશે? કોઈપણ જે ડી હોલ ઓળખી? ઠીક. તેથી અમને ત્રણ કરવું. માથેર હાઉસ. તેથી આ માથેર માતાનો ભોજન માટે છે. હું બધી ડાઇનિંગ હોલ પાસે હોડ પડશે આ જેમ ટ્રેની ઓફ સ્ટેક્સ. અને આ ખરેખર પ્રતિનિધિ છે અમે કર્યું કંઈક દેખીતી રીતે પહેલેથી જ જોવા મળે છે. અમે શાબ્દિક સ્ટેક તે કહે છે. તમારી દ્રષ્ટિએ અને સ્ટેક માહિતી જાય છે કમ્પ્યુટરની મેમરી છે, કાર્યો કહેવાય કરવામાં આવી રહી છે, જ્યારે. હમણાં પૂરતું, વસ્તુઓ કેવા પ્રકારના જાઓ આ સંદર્ભમાં સ્ટેક પર અમે ચર્ચા કરી છે મેમરી લેઆઉટ છેલ્લા અઠવાડિયામાં? કે શું? પ્રેક્ષક: કાર્યો કરવા કહે છે. DAVID MALAN: હું દિલગીર છું. પ્રેક્ષક: કાર્યો કરવા કહે છે. DAVID MALAN: કાર્યો માટે કોલ્સ, પરંતુ ખાસ કરીને, દરેક ની અંદર શું છે તે ફ્રેમ? વસ્તુઓ શું પ્રકારની? યાહ. સ્થાનિક ચલો છે. કોઈપણ સમયે અમે કેટલાક સ્થાનિક સંગ્રહ જરૂરી એક દલીલ, જેમ કે ઈન્ હું, અથવા ઈન્ temp, અથવા ગમે તે સ્થાનિક ચલ, અમે આવી કરી છે, સ્ટેક પર કે મૂકવા. અને અમે તે સ્ટેક કૉલ કારણ કે કે layering વિચાર છે. વાસ્તવિકતા સાથે મેળ માત્ર પ્રકારની, તેના ખ્યાલ. પરંતુ તે બહાર વળે સ્ટેક પણ કરી શકો છો કે જે એ માહિતી બંધારણ તરીકે જોઈ શકાય છે, એક એક એરે માટે વૈકલ્પિક, વૈકલ્પિક એક કડી થયેલ યાદી છે. કલ્પનાત્મક વધુ કંઈક રસપ્રદ હજુ પણ હોઈ શકે છે તે ક્યાં ઉપયોગ કરીને લાગુ વસ્તુઓ, પરંતુ તે એક અલગ પ્રકારની છે માહિતી બંધારણ, ખરેખર, સહાયક માત્ર બે ઓપરેશન. પરંતુ તમે પારખુ પર ઉમેરી શકો છો આ કરતાં લક્ષણો. પરંતુ આ બેઝિક્સ છે - દબાણ અને પોપ. અને સ્ટેક સાથે વિચાર છે કે જો હું સાથે અથવા Annenberg વગર, અહીં છે , આગામી બારણું એક ટ્રે જાણીને તેને નંબર 9 છે. તેથી માત્ર એક ઈન્. અને હું માહિતી પર આ દબાણ કરવા માંગો છો હાલમાં ખાલી છે જે માળખું. આ સ્ટેક તળિયે ધ્યાનમાં લો. હું પર આ નંબર 9 દબાણ કરશે ગંજી, અને હવે તે અધિકાર નથી. પરંતુ સ્ટેક વિશે રસપ્રદ બાબત હું હવે દબાણ કરવા માંગો તો એ છે કે અન્ય કેટલાક કિંમત જેવા 17, અને હું દબાણ સ્ટેક પર આ, હું કરવા જઇ રહ્યો છું , હું હમણાં જ જઈ રહ્યો છું તે માત્ર સાહજિક વસ્તુ જમણે મૂકવા જ્યાં અમે મનુષ્ય ટોચ પર, તે મૂકવામાં વળેલું આવશે. પરંતુ શું હવે રસપ્રદ , હું કેવી રીતે 9 મેળવી શકું છે? તમે જાણો છો, હું કેટલાક પ્રયત્નો વિના નથી. તેથી તે વિશે રસપ્રદ સ્ટેક કે, ડિઝાઇન છે જો તે LIFO માહિતી માળખું છે. વર્ણન સિલી માર્ગ માં છેલ્લા પ્રથમ આઉટ. તેથી જો છેલ્લા સંખ્યા આ સમયે 17 વર્ષનો હતો. હું કંઈક બંધ પૉપ કરવા માંગો છો તેથી જો સ્ટેક છે, તે માત્ર 17 હોઈ શકે છે. તેથી એક ફરજિયાત ક્રમમાં છે અહીં કામગીરી, જ્યાં જો છેલ્લા વસ્તુ પ્રથમ એક બહાર હોઈ શકે છે. તેથી ટૂંકાક્ષરમાં, LIFO. તેથી શા માટે આ ઉપયોગી હોઈ શકે? તેમના સંદર્ભમાં છો તમે કરશો કે જેમાં આ જેમ એ માહિતી બંધારણ માંગો છો? ઠીક છે, તે ચોક્કસપણે ઉપયોગી કરવામાં આવી છે કમ્પ્યુટર ની અંદર. તેથી ઓપરેટિંગ સિસ્ટમો રીતે આ સ્પષ્ટ ઉપયોગ સ્ટેક્સ માટે માહિતી માળખું કાઇન્ડ. અમે પણ આ જ વિચાર જોશો વેબ પાનાંઓ વાત આવે ત્યારે. આ અઠવાડિયે અને આગામી સપ્તાહ તેથી અને બહાર, અને તમે વેબ અમલ શરૂ તરીકે એક ભાષામાં પૃષ્ઠો HTML, તમે આ કરી શકો છો કહેવાય ખરેખર જેવા માહિતી બંધારણ વાપરો આ નક્કી કરવા માટે જો પાનું યોગ્ય રીતે ફોર્મેટ છે. અમે જોશો કારણ કે તમામ વેબ પૃષ્ઠોની અનુસરો વંશવેલો એક સૉર્ટ કરો, એક ખાડો , દિવસ ઓવરને અંતે એક હશે હૂડ નીચે વૃક્ષ માળખું. માત્ર એક બીટ છે કે આમ વધુ. પરંતુ હવે માટે, માતાનો એક માટે પ્રસ્તાવ દો ક્ષણ, અમે વિશે કેવી રીતે જાઓ શકે સ્ટેક શું છે? રજૂ અમે અમલ કે મને પ્રસ્તાવ દો આ જેમ કોડ સાથે સ્ટેક. તેથી સ્ટેક તે અંદર છે જવું છે બે વસ્તુઓ, એક એરે, કહેવાય ટ્રેની, માત્ર ડેમો સાથે સુસંગત છે. અને તે એરે માં વસ્તુઓ દરેક એક પ્રકાર ઈન્ હોઈ ચાલે છે. અને ક્ષમતા અનુમાન શું છે? હું લખેલા ન કર્યું, કારણ કે અહીં સંપૂર્ણ વ્યાખ્યા. તે કદાચ મહત્તમ છે એરે કદ. અને તે કદાચ તીવ્ર તરીકે જાહેર કરવામાં આવ્યું છે કેટલાક ફાઇલ ટોચ પર વ્યાખ્યાયિત સતત કાઇન્ડ તરીકે દ્વારા સૂચિત આ માત્ર કેપીટલાયસેશન. તેથી ક્યાંક ક્ષમતા વ્યાખ્યાયિત કરવામાં આવે છે મહત્તમ કદ શક્ય છે. વચ્ચે, અંદર ડેટા માળખાના સ્ટેક તરીકે ઓળખાય છે ત્યાં ચાલશે માત્ર ઓળખાય પૂર્ણાંક હોવો ખાલી માપ તરીકે. હવે હું આ પ્રતિનિધિત્વ હતા તેથી જો pictorially, માતાનો ધારવું દો કે આ સમગ્ર બ્લેક બોક્સ મારા સ્ટેક રજૂ કરે છે. તે અંદર બે ચલો છે. તેથી હું ડ્રો કરવા જઇ રહ્યો છું માપ તરીકે પ્રથમ એક. અને હું જાઉં છું બીજા એક એક એરે તરીકે ડ્રો. પરંતુ, ફક્ત વસ્તુઓ ઓર્ડરલી રાખવા સામાન્ય રીતે હું જેમ એક એરે ડ્રો થશે સરસ આ છે, પરંતુ તે પ્રકારની અમે વાસ્તવિકતા સાથે મેળ, અથવા, જો માનસિક મોડેલ મેળ ખાય છે. તેથી મને બદલે એરે ડ્રો દો ઊભી છે, જે ફક્ત ફરીથી છે, કલાકાર પ્રસ્તુતિ. ખરેખર તે શું વાંધો નથી હૂડ નીચે છે. અને અમે, મૂળભૂત રીતે, કહે છે કે પડશે ક્ષમતા ત્રણ હોઈ ચાલે છે. તેથી આ સ્થાન 0, આ હશે પાંચ આંકડાના US સ્થાન 1, આ હશે પાંચ આંકડાના US સ્થાન 2 હશે. હું તણાવ બોલ સાથે લાંચ નહિં, તો કરશે કોઈને આવે અને ચલાવવા માંગો માત્ર એક ક્ષણ માટે અહીં બોર્ડ? ઠીક, પ્રથમ તમારા હાથ જોયું. આ બોલ પર આવો. બધા અધિકાર. તેથી હું તેને સ્ટીવન છે માને છે. આ બોલ પર આવો. બધા અધિકાર. પરંતુ હવે અમે પ્રારંભિક માટે રીવાઇન્ડ ધારવું વિશ્વના રાજ્ય જ્યાં હું માત્ર એક સ્ટેક જાહેર, અને તે છે ક્ષમતા ત્રણ હોઈ ચાલે. પરંતુ હજુ સુધી નક્કી કરવામાં આવી નથી કદ છે. ટ્રેની હજુ સુધી નક્કી કરવામાં આવી નથી. પ્રથમ પ્રશ્નો એક દંપતિ છે. અને મને તમે માઇક આપી દો તમે કરી શકો છો જેથી આ વધુ સક્રિય લઇ. તેથી કદ ની અંદર આ ક્ષણે શું છે સમય હું થાય છે બધા હોય સાથે સ્ટેક જાહેર કોડ એક વાક્ય? સ્ટીવન: ઘણી નથી. DAVID MALAN: બરાબર, બિન ખૂબ. અમે કદ ની અંદર શું છે તે ખબર છે અમે અંદર શું ખબર નથી અહીં આ ઍરેની? સ્ટીવન: જસ્ટ રેન્ડમ કોડ છે, બરાબર ને? જસ્ટ - DAVID MALAN: અરે વાહ, હું જાઉં છું તે કોડ ફોન, પરંતુ રેન્ડમ - સ્ટીવન: બધું. DAVID MALAN: રેન્ડમ જેવી વસ્તુઓ સ્ટીવન: બિટ્સ. DAVID MALAN: બિટ્સ, બરાબર ને? કચરો કિંમતો તેથી, અધિકાર? તેથી 0 અને 1 ના ક્રમચયો. અગાઉના ઉપયોગો અવશેષો આ મેમરી. અને અમે ખરેખર ખબર નથી શું કિંમતો , તેથી અમે સામાન્ય રીતે તેમને ડ્રો થાય છે પ્રશ્ન ગુણ છે. અમે અનુમાન છો તેથી પ્રથમ વસ્તુ અહીં કરવા માંગો છો જવા - અને મને અંદર આ ક્ષેત્ર આપી દો ટ્રેની - ત્યાં એક નામ છે. અમે અનુમાન શું પ્રારંભ કરીશું કદ અમે માંગો છો તો આ સ્ટેક ઉપયોગ શરૂ? સ્ટીવન: ટ્રે ઉપ 3 છે. DAVID MALAN: તેથી, ઠીક. સ્પષ્ટ કરવા, ક્ષમતા જાહેર કરવામાં આવે છે અન્યત્ર ત્રણ. અને કે હું ઉપયોગ કર્યા શું છે એરે ફાળવવા માટે. કદ નો સંદર્ભ લો ચાલે છે કેટલા ટ્રેની સ્ટેક પર હાલમાં છે. સ્ટીવન: ઝીરો. DAVID MALAN: તેથી તે શૂન્ય પ્રયત્ન કરીશું. તેથી આગળ વધો અને કોઇ આંગળી સાથે, કદ શૂન્ય દોરે છે. બધા અધિકાર. તેથી હવે, આ અંદર શું છે અહીં, આપણે જાણતા નથી. આ ખરેખર માત્ર કચરો કિંમતો છે. જેથી અમે પ્રશ્નમાં ગુણ ડ્રો, પરંતુ શકે છે હવે બોર્ડ સ્વચ્છ રાખવા લેટ્સ તે વાંધો નથી કારણ કે ત્યાં શું છે. અમે એરે પ્રારંભ કરવાની જરૂર નથી ખાવા માટે, અમે ખબર હોય કે કારણ કે સ્ટેક કદ શૂન્ય છે, સારી રીતે, અમે કંઈ જોઈ ન હોવી જોઇએ કોઈપણ રીતે આ એરે આ બિંદુ સમય છે. તેથી હવે હું દબાણ કે ધારવું એ સ્ટેક પર નંબર 9. અમે કેવી રીતે ડેટા માળખું સુધારવા જોઈએ આ કાળા બોક્સ ની અંદર? શું કિંમતો બદલવા માટે જરૂર છે? સ્ટીવન: અંદર - કદ? DAVID MALAN: OK. માપ શું બનવું જોઈએ? સ્ટીવન: માપ હશે. DAVID MALAN: OK. તેથી કદ એક બની કરીશું. તેથી જો તમે એક દંપતિ રીતે કરી શકો છો. હવે, મને તમે આપી દો તમારા આંગળી એક ભૂંસવા માટેનું રબર છે. બધા અધિકાર. પછી હવે તમારા આંગળી બ્રશ છે. બધા અધિકાર. અને હવે બીજું શું, બદલવા માટે છે દેખીતી રીતે, આ માહિતી માળખું છે? સ્ટીવન: અમને જઈ રહ્યાં છો 9 તળિયે છે. DAVID MALAN: 9. ઠીક, ગુડ. તેથી હજુ પણ અંતે શું વાંધો નથી પાંચ આંકડાના US સ્થાન એક અથવા બે તેઓ કરશો કારણ કે કચરો કિંમતો, પરંતુ અમે સંતાપ ન જોઈએ માપ છે કારણ કે ત્યાં જોઈ અમને કહી છે કે જે માત્ર પ્રથમ તત્વ ખરેખર કાયદેસર છે. તેથી હવે હું યાદી પર 17 દબાણ. શું આ ચિત્ર માટે થાય છે? સ્ટીવન: તેથી કદ બે જવા માટે ચાલે છે. DAVID MALAN: OK. તમે ભૂંસવા માટેનું રબર છો - અરે. તમે એક ભૂંસવા માટેનું રબર છો. સ્ટીવન: ભૂંસવું. DAVID MALAN: તમે બ્રશ છો. સ્ટીવન: બ્રશ. DAVID MALAN: OK. અને બીજું શું? અને પછી આપણે: - Steven DAVID MALAN: અમે 17 નહીં. સ્ટીવન: અમે, તેથી ટોચ પર 17 નાસી - DAVID MALAN: બરાબર, સારી. સ્ટીવન: - તે નીચે મૂકવા. DAVID MALAN: બધા અધિકાર. તે સરળ મેળવવામાં આવે છે. હું તમને આ સમય મદદ કરવા જઇ રહ્યો નથી. 22 દબાણ કરો. સ્ટીવન: થઈ ગયું. એક ભૂંસવા માટેનું રબર બન્યું. હું બ્રશ બની રહ્યો છું. અને પછી હું 22 મૂકી રહ્યો છું. DAVID MALAN: 22. ઉત્તમ. તેથી એક વધુ સમય. હું હવે દબાણ કરવા માટે જઇ રહ્યો છું સ્ટેક 26 પર. સ્ટીવન: Ooh. Gosh ઓહ. તમે ખરેખર રક્ષક બંધ પડેલા મને. DAVID MALAN: તમે ન હતી આ આવતા જોઈ? સ્ટીવન: હું આ આવતા જોઈ ન હતી. અમે ફરીથી પ્રારંભિક ક્ષમતા શકે છે? DAVID MALAN: તે એક સારો પ્રશ્ન છે. તેથી અમે પ્રકારની જાતને દોરવામાં કર્યું અહીં એક ખૂણામાં. ખરેખર સ્ટીવન માટે સારી બહાર છે કોઈ અમે આ એરે ફાળવવામાં કર્યું કારણ કે સ્થિર છે, જેથી અંદર, વાત કરવા માટે માહિતી માળખું છે. અને અમે આવશ્યક હાર્ડ કોડેડ કર્યું તે કદ ત્રણ છે. તેથી આપણે ખરેખર તે reallocate શકતા નથી. અમે અમે, પાછા ગયા તો ટ્રેની કે નિર્દેશક હોઈ પુનઃવ્યાખ્યાયિત અમે પછી હાથ મેમરી malloc વાપરો. કારણ કે અમે ના મેમરી મળી જો malloc દ્વારા ઢગલો, અમે પછી તેને મુક્ત કરી શકે છે. પરંતુ તે મુક્ત પહેલાં, અમે કરી શકે છે , મેમરી એક મોટી ચંકને reallocate પોઇન્ટર સુધારવા, અને તેથી આગળ. પરંતુ હવે માટે, આ ખરેખર છે શ્રેષ્ઠ અમે કરી શકો છો. દબાણ અને પોપ અનુમાન ચાલુ છે કેટલાક ભૂલ સિગ્નલ હોય છે. તેથી દાખલા તરીકે, અમારા અમલીકરણ પુશ એક bool પાછા શકે તે અગાઉ સાચા, સત્ય, સાચી ફર્યા. પરંતુ ચોથા સમય, તે છે જવું છે દાખલા તરીકે, ખોટી પરત ફરો. બધા અધિકાર. ખૂબ જ સારી રીતે થાય. અભિનંદન. જો તમે આજે તમારી તણાવ બોલ પ્રાપ્ત કર્યું છે. [અભિવાદન] સ્ટીવન: આપનો આભાર. DAVID MALAN: આપનો આભાર. ઠીક છે, જેથી આ ઘણી નથી લાગે છે આગળ પગલું, બરાબર ને? અમે આ માહિતી બંધારણ વર્ણવે છે. તે હક, અનિવાર્ય કરવામાં આવ્યું? ઓપરેટિંગ સિસ્ટમો તે ગમે છે. દેખીતી રીતે વેબ, આ ઉપયોગ કરી શકો છો હજુ પણ અને અન્ય કાર્યક્રમો. પરંતુ શું આપણે છીએ કે મૂર્ખ મર્યાદા સોર્ટ સપ્તાહમાં બે મર્યાદા પાછા જ્યાં અમે કદ એરેને સુધારેલ છે. તેથી એક દંપતિ ખરેખર છે અમે આ રીતે હલ કરી શકે છે. અમે ગતિશીલ, એરે ફાળવી શકે છે હું કર્યું તરીકે હાર્ડ તે કોડિંગ નથી અહીં કરવામાં આવે છે, પરંતુ તેના બદલે ફરી જાહેર આ, માત્ર તરીકે, સ્પષ્ટ કરવા આ કંઈક. ઈન્ * ટ્રેની, નક્કી નથી હજુ સુધી ક્ષમતા પર. પરંતુ હું અન્યત્ર સ્ટેક જાહેર ત્યારે મારી કોડ છે, હું પછી, malloc કૉલ કરી શકે છે એક ચંકને ની સરનામા વિચાર મેમરી છે, અને હું સોંપી શકે છે ટ્રેની કે સરનામું. અને પછી, કારણ કે તે માત્ર એક ભાગ છે મેમરી, હું ચોરસ ઉપયોગ ચાલુ કરી શકે છે સામાન્ય રીતે કૌંસ સંકેત. ફરીથી, આ પ્રકારની છે કારણ કે કાર્યાત્મક એરે ની સમકક્ષ છે અને આવે છે કે જે મેમરી હિસ્સામાં પાછા malloc છે. અમે અન્ય એક સારવાર કરી શકે છે નિર્દેશક અંકગણિત મદદથી અથવા ચોરસ કૌંસ સંકેત. કે જેથી એક અભિગમ છે. પરંતુ કેવી રીતે બીજું અમે આ અમલ શકે છે જ માહિતી માળખું, સંભવિત? બરાબર ને? અમે ફક્ત આ હલ જેવા મને લાગે છે એક સપ્તાહ પહેલા જેવી સમસ્યા નથી. આ સમસ્યા માટે ઉકેલ શું હતું સ્ટીવન સપડાઇ છે? તેથી કડી થયેલ યાદીઓ, અધિકાર. આ સમસ્યા અમે રંગકામ કરી રહ્યાં છે, તો ફાળવણી દ્વારા એક ખૂણામાં માં જાતને અગાઉથી ખૂબ ઓછી મેમરીમાં છે કે અમે પછી અચાનક, સારી રીતે, સાથે વ્યવહાર છે શા માટે માત્ર કે ટાળવા નથી એકસાથે અદા? શા માટે માત્ર એક ટ્રેની હોઈ જાહેર નથી નોડ, તેને લીધે એક સાથે લિંક યાદી માટે નિર્દેશક અને પછી તેણે ખાલી નવી ગાંઠો ફાળવો સ્ટીવન એક ફિટ કરવા માટે જરૂરી દરેક સમય ડેટા માળખામાં સંખ્યા. તેથી ચિત્ર બદલવા માટે હશે. તે સ્વચ્છ અને હોઈ જવા નથી ત્રણ ints માત્ર એક એરે તરીકે સરળ. હવે તે એક નિર્દેશક જશે સ્ટ્રક્ટ, અને તે સ્ટ્રક્ટ ચાલે છે એક ઈન્ અને આગામી નિર્દેશક હોય છે. તે માને છે કે નિર્દેશક મારફતે જીવી રહ્યું છે અન્ય જેમ કે સ્ટ્રક્ટ કરવા માટે અન્ય જેમ કે સ્ટ્રક્ટ. તેથી ચિત્ર ખરેખર કરશે એ બીટ messier વિચાર. અને અમે તીર ભોગવીને છે લેતો બધું મળીને. પરંતુ તે છે, કારણ કે અધિકાર, દંડ છે અમે આ કેવી રીતે કરવું તે જોઈ કર્યું. અને એકવાર તમે આરામદાયક વિચાર એક સંલગ્ન જેવી અમલીકરણ કંઈક તમે કરવા પડશે જે યાદી, જો તમે સાથે હેશ કોષ્ટક અમલ કરવા માટે પસંદ કરો પી સેટ 6 માટે અલગ chaining, તમે આ કરી શકો છો મકાન બ્લોક, અથવા એક તરીકે તેનો ઉપયોગ ઘટક, અથવા સ્ક્રેચ માં, વાત પ્રક્રિયા, તમે મૂકી છે કે જે કંઈક તમારા પોતાના પઝલ ભાગ બનાવનાર તમે પછી ફરી શકે છે. તેથી આપલે, પરંતુ સંભવિત ઉકેલો અમે ખરેખર પહેલાં જોઈ કર્યું છે. તેથી ઘણી વાર, તમે આ દરેક જુઓ વર્ષ કે બે જ્યારે એપલ પ્રકાશનો નવું, અને બધા ક્રેઝી લોકો કંઈક એપલ બહાર અપ લાઇન તેમના સીમાંત ખરીદી સ્ટોર હાર્ડવેર પર અપગ્રેડ કરો. હું આ કહે છે, તે છે, કારણ કે ઠીક છે હું તે લોકો એક છું. તેથી શું પ્રકારની માહિતી માળખું આ વાસ્તવિકતા પ્રતિનિધિત્વ શકે? ઠીક છે, માતાનો જો તે કતાર, એક લીટી કૉલ દો. તેથી બ્રિટિશ તે સામાન્ય રીતે કોઈ કૉલ કરશે કતાર રીતે, તેથી તે સરસ નામ છે. અને તે એક કતાર બે કામગીરી અમે એન્ક્યૂ કૉલ કરશો આધાર રહેશે ઓપરેશન અને dequeue કામગીરી, જેમાં સમાન છે દબાણ અને પોપ ભાવના. તે અલગ અલગ માત્ર સોર્ટ છે પ્રચલન છે, શું અમે આ ફોન કરી રહ્યાં છો. પરંતુ કંઈક એન્ક્યૂ ઉમેરવા માટે અર્થ થાય છે અથવા માહિતી માળખું તે દાખલ કરો. Dequeue તેને દૂર કરવા માટે થાય છે. પરંતુ સ્ટેક એ LIFO માહિતી હતી જ્યારે માળખું, એક કતાર, પ્રથમ છે માહિતી બંધારણ બહાર પ્રથમ. તમે વાક્ય પ્રથમ વ્યક્તિ હોય તો તમે વિચાર પ્રથમ વ્યક્તિ હશે વાક્ય બહાર અને તમારા નવા ઉપકરણ ખરીદે છે. આ લોકો કેવી રીતે અપસેટ હશે કલ્પના એપલ તેના બદલે એક સ્ટેક વપરાયેલ હોય, માટે હમણાં પૂરતું, જો ચૂંટવું અમલ કરવા માટે તમારા નવા રમકડા ઉપર. તેથી ક્યુને ચોક્કસપણે, અર્થમાં બનાવે છે, અને અમે તમામ પ્રકારના વિચાર કરી શકો છો કાર્યક્રમો, એવું માની શકાય કે, ક્યુને માટે, તમે fairness માંગો છો, ખાસ કરીને ત્યારે. તેથી કેવી રીતે અમે આ અમલ શકે છે એ માહિતી બંધારણ તરીકે? ઠીક છે, હું માનું છું કે આપણે કદાચ પ્રસ્તાવ તે આ રીતે કરવાની જરૂર છે. તેથી હવે હું નંબરો છે જવું છું. તેથી અમે તેને સરળ નથી અને રાખીશું જરૂરી ટ્રેની દ્રષ્ટિએ વાત કરો. લોકો મેળવેલ માત્ર નંબરો છે. ક્ષમતા ફરીથી ચાલે છે, સુધારો માં જ હોઈ શકે કે જે લોકો કુલ સંખ્યા આ રેખા તરીકે, ત્રણ અથવા અન્ય કંઈપણ મૂલ્ય. પરંતુ હું ટ્રેક રાખવા માટે જરૂર છે કે જે પ્રસ્તાવ ના કદ માત્ર કતાર, તે કેવી રીતે ઘણી વસ્તુઓ છે. તેથી કદ વર્તમાન કદ, ક્ષમતા છે મહત્તમ કદ છે. જસ્ટ ફરી નામકરણ સંમેલન દ્વારા. શા માટે હું એક વધારાના ઈન્ અંદર જરૂર નથી માં જે ટ્રેક રાખવા માટે એક કતાર ઓફ લીટી સામે? શા માટે હું આ કિસ્સામાં તે કરવા માટે જરૂર નથી? વેલ, આ ચિત્ર કેવી રીતે બદલવા માટે ચાલે? હું કદાચ સૌથી પુનઃઉપયોગ કરી શકાય છે આ ચિત્ર છે. મને આગળ વધો અને અહીં શું ભૂંસી દો. અમે આ થોડો આપી શકશો અહીં અલગ નામ છે. 17 છુટકારો મેળવવા ચાલો, ચાલો છુટકારો મળી 9 નું, આ 3 છુટકારો મળી દો. અને એક અન્ય વસ્તુ ઉમેરી દો. હું ટ્રેક રાખવા માટે જરૂર છે કે જે પ્રસ્તાવ યાદીમાં આ બોલ પર છે, કે જે માત્ર છે તેમજ એક ઈન્ હોઈ ચાલે. અને અમે તેને સરળ રાખવા જઈ રહ્યાં છો. હવે માટે આ બોલ પર કોઈ કડી થયેલ યાદી. અમે જઈ રહ્યા છો તે સ્વીકાર્યું પડશે આ મર્યાદા સામે અપ ઢીમણું. પરંતુ હું એ જોવા માટે કે શું માંગો છો આ સમય થાય? હું આગળ જાઓ અને પ્રથમ તેથી ધારવું વ્યક્તિ લીટી માં આવે છે, અને તે નંબર 9 છે. અમે તણાવ બોલમાં હોય. હું કહે છે, બે અથવા ત્રણ લોકો ચોરી કરી શકે છે? એક, બે, ત્રણ? આ બોલ પર આવો. અધિકાર ફ્રન્ટ માંથી, કારણ કે અમે આ એક ઝડપી બનાવવા પડશે. તમે દરેક હવે હોઈ ચાલે છે એપલ ખાતે લાઇન એક ચાહક છોકરો. તમે એપલ હાર્ડવેર પ્રાપ્ત થશે નહીં આ છતાં ઓવરને અંતે. બધા અધિકાર. તમે નંબર 9 છો, તેથી તમે છો નંબર 17, નંબર 22. આ જેમ, મનસ્વી નંબરો છે વિદ્યાર્થી ID ને કે whatnot. અને માત્ર એક ક્ષણ, માતાનો શરૂ કરીએ વસ્તુઓ ઉમેરીને શરૂ કરવા માટે. અને હું અહીં આ સમય બોર્ડ સ્કોર પડશે. તેથી આ કિસ્સામાં, હું આરંભ કર્યું આ બોલ હોઈ - હું ખરેખર ખરેખર કાળજી નથી શું કદ શૂન્ય છે કારણ કે ફ્રન્ટ છે. તેથી આ તેમજ માત્ર કદાચ પ્રશ્ન ચિહ્ન છે. આ બધા પ્રશ્ન ગુણ છે. તેથી હવે અમે ખરેખર કેટલાક જોવા માટે શરૂ કરીશું લોકો સ્ટોર ખાતે લાઇન. તેથી નંબર 9, તો તમે પ્રથમ એક છો ત્યાં AM 5 અંતે, આગળ વધો અને રેખા અથવા તે પહેલાં રાત. ઠીક. તેથી હવે 9 અહીં છે. તેથી 9 યાદીના સામે હોય છે. તેથી હું આગળ જાઓ અને અપડેટ કરવા માટે જઇ રહ્યો છું આ વર્તમાન માહિતી કદ માળખું, હવે 0 નથી પરંતુ 1 શકે છે. હું અંતે 9 મૂકી જાઉં છું આ યાદી સામે. મને આગળ જાઓ અને સ્ક્રીન ટૉગલ દો તેથી અમે અહીં અમને ભૂતકાળમાં જોઈ શકો છો. અને હવે હું શું માંગો છો ફ્રન્ટ ખાતે મૂકવામાં? હું ટ્રેક રાખવા માટે જઇ રહ્યો છું કે હમણાં કતાર સામે પાંચ આંકડાના US સ્થાન 0 પર છે. શું પછી શું ચાલે છે, કારણ કે? ઠીક છે, હું એન્ક્યૂ હવે ધારવું 17 તેમજ. તેથી ત્યાં લાઇન હોપ. અને ફરી, બારણું સૉર્ટ કરો માટે સ્ટોર અહીં ચાલે છે. તેથી હવે હું 17 ઉમેર્યા છે. અને આ ગાય્ઝ અવરોધિત છે છતાં પણ ઠીક છે કે સ્ક્રીન, અમે અહીં તે જોઈ શકે છે. માફ કરશો. પ્રેક્ષક: અમે ખસેડી શકો છો - DAVID MALAN: ના, કે ઠીક છે. તે ત્યાં વિશાળ છે. તેથી 17 અંદર કતાર હવે છે. હું જે સુધારવા માટે જરૂર છે હવે ક્ષેત્રો છતાં? બરાબર, ચોક્કસપણે માપ. અને કેવી રીતે આગળ શું? ઠીક, નં. ફ્રન્ટ, બદલી ન જોઈએ કારણ કે સ્ટેક વિપરીત, અમે fairness જાળવવા માંગો છો. 9 પ્રથમ આવ્યો તેથી જો, અમે 9 માંગો છો રેખાના પ્રથમ બહાર હોઈ અને સ્ટોર માં. હકીકતમાં, માતાનો કે જોવા દો. અમે 22 દાખલ કરો તે પહેલાં, ચાલો આગળ વધો અને dequeue 9. તમારું નામ શું છે ફરી? પ્રેક્ષક: જેક. DAVID MALAN: જેક ચાલે છે હવે dequeued આવશે. તેથી તમે સ્ટોર માં જવામાં વિચાર. અને ડોળ કરવો કે સ્ટોર ત્યાં વધારે છે. તેથી હવે જરૂર શું - dit-dit-dit! શું હવે થાય જરૂર છે? ડિઝાઇન નિર્ણય. તેથી ન ખરાબ વૃત્તિ છે, પરંતુ - તમારું નામ શું છે ફરી? પ્રેક્ષક: ડેવિડ. DAVID MALAN: ડેવિડ. તેથી ડેવિડ શું કર્યું? કુલ માહિતી ઠીક ઓફ સૉર્ટ કરવાનો પ્રયાસ કરવામાં આવ્યો હતો તેમના પાંચ આંકડાના US સ્થાન માંથી માળખું અને ચાલ જેક ભૂતપૂર્વ પાંચ આંકડાના US સ્થાન માં. અમે તૈયાર છીએ અને જો કે દંડ છે એક કે સ્વીકારી અમલીકરણ વિગત. પરંતુ પ્રથમ, આ માહિતી અપડેટ કરવા દો અમે માળખું કે શું તે પહેલાં. હું બધા વિચારને પસંદગીમાં રહ્યો નથી કારણ કે લોકો આ વાક્ય માં સ્થળાંતર. ડેવિડ સાથે થાય તો તે કોઈ મોટા સોદો છે એક પગલું છે, પરંતુ ફરી પાછા લાગે અમે પર આઠ સ્વયંસેવકો હતી કર્યું ત્યારે સ્ટેજ અને અમે નિવેશ જેવા કર્યું અમે શરૂ કરવા માટે હતી જ્યાં સૉર્ટ કરો, આસપાસ દરેક ખસેડવાની. તે હક, ખર્ચાળ મળી? મોટા ગુમાવનારા વિશે મને આર્જવ બનાવે છે n ના, એ મોટી ઓ ફરીથી ચોરસ. તે જેવી લાગણી નથી આદર્શ પરિણામ. તેથી માતાનો માત્ર આ અપડેટ કરીએ. તેથી કતાર માપ લાંબા સમય સુધી 2 છે. તે હવે માત્ર 1 છે. પરંતુ હવે હું કંઈક અપડેટ કરી શકો છો હું પહેલાં અપડેટ ન હતું, આ યાદી સામે. હું માત્ર એમ કહી શકે કે પાંચ આંકડાના US સ્થાન 1 છે? તેથી હવે આપણે અહીં કચરો કિંમત હોય છે કચરો અહીં કિંમત છે, અને ડેવિડ આ કચરો મધ્યમ. પરંતુ માહિતી બંધારણ હજુ પણ અકબંધ છે. અને હકીકતમાં, હું પણ જરૂર નથી જેક ભૂતપૂર્વ નંબર બદલી 9, ધ્યાન આપતા જે કારણ કે. હું હવે પૂરતી માહિતી નથી હું ત્યાં એક વ્યક્તિ ખબર કે માપ આ કતાર. અને મને ખબર છે કે તે વ્યક્તિ પાંચ આંકડાના US સ્થાન 1, બિન 0 પર છે. હું ગણાય નથી. તેમજ 1 તેથી. જેથી માહિતી માળખું હજુ પણ ઠીક છે. ઠીક છે, શું હવે આગળ શું થશે? લેટ્સ એન્ક્યૂ - તમારું નામ શું છે? પ્રેક્ષક: Callen. DAVID MALAN: Callen. ના Callen એન્ક્યૂ દો, અને 22 કતારમાં હવે છે. તેથી હવે અહીં બદલી છે શું? સામે નથી જઈ રહ્યા દેખીતી રીતે, બદલો. કદ ફરીથી 2 હોઈ બદલવા માટે ચાલુ છે. અને 22 અહીં સમાપ્ત થાય છે, 9, હજુ પણ હાજર છે પરંતુ તે અસરકારક છે હવે કચરો મૂલ્ય. તે માત્ર જેક છેલ્લા એક અવશેષ છે. તેથી હવે થાય તો શું હું ડેવિડ dequeue? એક છેલ્લા ક્રિયા, dequeue ડેવિડ. અમે પાળી શકે છે, પરંતુ હું લેટ્સ પ્રસ્તાવ શક્ય તેટલું ઓછું કામ કરવું. હવે મારી માહિતી માળખું જાય 2 માટે 1 કદ બેક. પરંતુ કતાર આગળના હવે 2 બની જાય છે. હું આ નંબરો બદલવાની જરૂર નથી તેઓ કરશો હજી સુધી, કારણ કે માત્ર કચરો કિંમતો. પરંતુ હવે શું થાય? હું મારી જાતને 26 એન્ક્યૂ ધારો? હું અહીં સંબંધ જેવા મને લાગે છે. તેથી હું કતારબદ્ધ રહી છું. તેથી હું પ્રકારની અહીં અનુસરે છે. અને તમે ન તદ્દન કરવા છતાં પણ સ્ટેજ પર દૃષ્ટિની આ કદર, અમે ખંડ ખાદ્યપદાર્થો છે, કારણ કે હું જોઇએ અહીં ઉભા કરી શકાતી નથી, શા માટે? પ્રેક્ષક: તમે સીમાથી બહાર છો. DAVID MALAN: અધિકાર. હું સીમાથી બહાર છું. હું બહાર અનુક્રમિત કર્યું આ ઍરેની ભૂસકે. હું ખરેખર એક પ્રયત્ન કરીશું ત્રણ શક્ય સ્થળો. હવે, જ્યાં જવા માટે સૌથી કુદરતી છે? હું અમે લીવરેજ પ્રસ્તાવ એક સપ્તાહ એક યુક્તિ. આ mod ઓપરેટર, ટકા. હું ટેકનિકલ ખાતે સ્થાયી છું કારણ કે પાંચ આંકડાના US સ્થાન 3, પરંતુ હું, 3 mod ક્ષમતા કરવું જેથી 3, એક ટકા સંકેત, 3 - ક્ષમતા 3 છે. કે શું? બાકીની ત્યારે શું છે તમે 3 3 વિભાજિત? 0. મને મૂકે કે જેથી જેક, હતી જે ખરેખર સારા છે. તેથી હવે અમલીકરણ આ વસ્તુ જવા ના માથાનો દુખાવો એક બીટ છે. તે ખરેખર માત્ર એક વાક્ય છે માથાનો દુખાવો છે, કોડ. પરંતુ ઓછામાં ઓછા હવે કચરો છે કિંમત અહીં, પરંતુ બે છે અહીં કાયદેસર ints. અને હું હવે અમે કર્યું છે કે દાવો અમે આમ લાંબા સમય સુધી જરૂર ચોકકસ શું અમે શું જેક માતાનો બદલી કિંમત 26 હતો. હવે અમે હજુ પણ પૂરતી માહિતી નથી એકત્રિતાને જાળવવા માટે આ માહિતી માળખું છે. અમે હજી પણ પ્રકારની નસીબ બહાર છો ત્યારે અમે ચાર કે વધુ કુલ સામેલ કરવા માંગો છો તત્વો, પરંતુ હું ઓછામાં ઓછા બનાવવા ખૂબ કરી શકો છો આ સતત કાર્યક્ષમ ઉપયોગ સમય, હકીકતમાં. હું સ્થળાંતર અંગે ચિંતા કરવાની જરૂર નથી ડેવિડ માતાનો ઝોક તરીકે દરેકને હતી. સ્ટેક્સ પર કોઈપણ પ્રશ્નો, અથવા આ કતાર? પ્રેક્ષક: કારણ એ છે કે શા માટે તમને ખબર છે કે જેથી તમે માપ જરૂર એક વ્યક્તિ પાસે છે? DAVID MALAN: ચોક્કસ. હું એરે માપ ખબર જરૂર હું બરાબર કેવી રીતે ખબર જરૂર છે, કારણ કે આ કિંમતો ઘણા કાયદેસર છે, મૂકી છે અને તેથી હું શોધી શકો છો કે જે આગામી વ્યક્તિ. બરાબર. કદ છે - વાસ્તવમાં, અમે હજી સુધી આ સુધારો થયો ન હતો. હું 26 અંતે મારી ઉમેર્યું. કદ, હવે નથી એ 1, પરંતુ 2. તેથી હવે આ ખરેખર મને શોધવામાં મદદ કરે છે યાદીમાં વડા છે, કે જે 0 નથી, નથી 1, પરંતુ 2 છે. યાદીમાં આગળના ખરેખર નંબર 22 છે. તેમણે પ્રથમ આવ્યા છે, જેથી તેઓ જોઇએ કારણ કે મને પહેલાં સ્ટોર માં મંજૂરી આપવામાં આવશે, છતાં પણ દૃષ્ટિની હું સ્થાયી છું નજીક સ્ટોર છે. બધા અધિકાર? આ ગાય્ઝ માટે અભિવાદન એક રાઉન્ડ અને અમે તેમને ત્યાં બહાર દો પડશે. [અભિવાદન] DAVID MALAN: હું દો કરી શકે છે તમે ટ્રે રાખો. અમે તો શું થાય જોઈ શકે તમે માંગો છો, પરંતુ કદાચ નથી. બધા અધિકાર. તેથી શું હવે તે અમને છોડી નથી? વેલ, એક છે તે મને પ્રસ્તાવ દો અમે કરી શકે છે થોડા અન્ય માહિતી માળખાં ચાલશે કે અમારા સાધન કીટ ઉમેરવા શરૂ વાસ્તવમાં ખૂબ ખૂબ સુસંગત તરીકે હોઈ અમે વેબ સામગ્રી માં ડાઈવ. ફરીથી, જોડાણ અમુક પ્રકારના હોય છે, જે ના ફોર્મ માં વૃક્ષો માટે DOM, દસ્તાવેજ કહેવાય કંઈક ઓબ્જેક્ટ મોડલ. પરંતુ અમે વધુ જોશો કે લાંબા પહેલા. મને definitionally પ્રસ્તાવ દો કે અમે હવે તમે જાણો છો શું વૃક્ષ કૉલ એક પરિવાર વૃક્ષ, તમે જ્યાં વધુ જો કેટલાક પૂર્વજ છે વૃક્ષ મૂળ. એક પિતૃપ્રધાન અથવા matriarch વૃક્ષ ખૂબ જ ટોચ. તેમના પત્ની વગર, આ કિસ્સામાં. પરંતુ અમે હવે અમે કૉલ કરશો શું છે અટકી કે ગાંઠો છે, જે બાળકો, ડાબી બાળક અથવા જમણી બાળક બંધ, અહીં દર્શાવવામાં તરીકે તીર. એક વૃક્ષ માહિતી માળખામાં અન્ય શબ્દો છે, કમ્પ્યુટર, એક વૃક્ષ શૂન્ય છે અથવા વધુ ગાંઠો. તે ઓછામાં ઓછો એક ગાંઠ હોય તો, કે જે રુટ તરીકે ઓળખાય છે. તે દૃષ્ટિની કે વસ્તુઓ છે અમે ટોચ પર દોરે છે. અને તે ગાંઠ, અન્ય કોઇ ગાંઠ જેવા કરી શકો છો, , શૂન્ય, એક, અથવા બે, કે ત્રણ છે અથવા, જો કે ઘણા બાળકો માહિતી બંધારણ આધાર આપે છે. આ કિસ્સામાં, રુટ, આ સ્ટોર કિંમત એક, બે બાળકો, 2 અને 3 છે તેથી અમે સામાન્ય રીતે 2 ડાબી કૉલ બાળક અને 3 અધિકાર બાળક. અને પછી અમે, 5 થી 6 નીચે વિચાર, અને જ્યારે 7, 6 મધ્યમ બાળક કહેવાય હોઈ શકે છે. તમે ચાર બાળકો હોય તો તે ગૂંચવણમાં મૂકે નહીં. તેથી અમે તે પ્રકારના ઉપયોગ કરવાનું બંધ કરો મૌખિક શોર્ટકટ છે. પરંતુ તે ખરેખર માત્ર એક પરિવાર વૃક્ષ છે. અને અહીં પાંદડા કે ગાંઠો છે પોતાને કોઈ બાળકો હોય છે. તેઓ વૃક્ષ નીચે બંધ અટકી. તેથી અમે કેવી રીતે એક વૃક્ષ કે અમલ શકે છે વધુમાં માત્ર બે બાળકો છે? અમે તે બાઈનરી વૃક્ષ કૉલ કરશો. બંને બાજુથી ફરી આ માં, બે જેનો અર્થ દ્વિસંગી સાથે જેમ કેસ. અને તેથી તે, શૂન્ય, એક હોઈ શકે છે વધુમાં કે બે બાળકો. હું અમે નોડ અમલ કે પ્રસ્તાવ મળશે એક ઈન્ એ સાથે માળખું માટે, અને પછી બે પોઇન્ટર, એક કહેવાય બાકી, એક જમણા કહેવાય છે. પરંતુ તે માત્ર સરસ છે મનસ્વી સંમેલનો. અને તમે હવે ખાસ કરીને જો સરસ શું છે કાઇન્ડ સાથે કલ્પનાત્મક સંઘર્ષ પુનરાવર્તન, અથવા તે ન હતી વિચાર્યું કે ખાવા માટે ખરેખર એક ઉકેલ, ખાસ કરીને તમે જો શકે મેમરી રન આઉટ. અમે માહિતી વિશે વાત કરી રહ્યા છીએ હવે તે માળખાં અને પરવાનગી આપે છે કે જે ગાણિતીક નિયમો અમને, જવાની અને તેમને ચાલાકી પુનરાવર્તનના પાછા આવે છે કે બહાર વળે વધુ અનિવાર્ય સુંદર રસ્તો ન હોય તો. હું પ્રસ્તાવ આ અમલીકરણ છે તેથી શોધ કાર્ય છે. બે ઇનપુટ્સ આપવામાં - જેથી બ્લેક બોક્સ તરીકે આ વિચાર. બે ઇનપુટ્સ, એ, એક Int, અને આપેલા એક વૃક્ષ નિર્દેશક, એક એક નિર્દેશક એક વૃક્ષ નોડ, અથવા ખરેખર રુટ, હું આ કાર્ય પાછા આવી શકો છો કે જે દાવો સાચું કે ખોટું, કે જે કિંમત એ આ વૃક્ષ ની અંદર છે. આ કાળા બોક્સ ની અંદર શું છે? વેલ, ચાર શાખાઓ. પ્રથમ માત્ર ચકાસે છે. વૃક્ષ નલ છે, માત્ર ખોટા આવો. આ બોલ પર કોઈ ગાંઠ હોય, તો કોઈ એ, ત્યાં આ બોલ પર કોઈ નંબર છે, માત્ર ખોટા આવો. તમે શોધી રહ્યા છો, છતાં એ, મૂલ્ય તો માટે, વૃક્ષ તીર એ કરતાં ઓછી હોય છે, અને માત્ર સ્પષ્ટ કરવા, તે ત્યારે શું અર્થ છે હું પછી વૃક્ષ અને તીર લખી સંકેત એ? બરાબર. તે ખોટો સંદર્ભ અર્થ એ છે કે નિર્દેશક વૃક્ષ કહે છે. કે અંદર વિચાર પછી ત્યાં જાઓ, અને નોડ અને એ કહેવાય તેની ક્ષેત્ર વિચાર. અને પછી હતું કે વાસ્તવિક એ તુલના તેની સામે શોધ માં પસાર કર્યો હતો. એ એ એ કિંમત કરતાં ઓછી હોય છે તેથી જો વૃક્ષ નોડ પોતે, સારી રીતે, કે શું અર્થ છે? તે પ્રથમ નજરે ખાતે કંઇ થાય છે. બરાબર ને? તમે એક એરે હોય ત્યારે જેમ મૂલ્યો, તમે બાઈનરી લાગુ કરવા ગમશે વિભાજન એક સ્વરૂપ તરીકે શોધવા અને વિજય. પરંતુ અમે બનાવવા માટે શું ધારણા જરૂર હતી દ્વિસંગી શોધ બધા કામ કરવા માટે ફોન બુકમાં અને અગાઉ ઉદાહરણો? અલગ કરવામાં આવે છે કેવી રીતે. તેથી માતાનો વૃક્ષ વ્યાખ્યા રિફાઇન દો અહીં જે કરી શકે છે માત્ર એક વૃક્ષ, ન કોઈપણ બાળકો નંબર છે. માત્ર દ્વિસંગી વૃક્ષ છે, કે જે કરી શકે છે વધુમાં 0, 1, અથવા 2 છે. પરંતુ બાઈનરી શોધ વૃક્ષ, અથવા BST તરીકે, જે માત્ર એક કહીને એક ફેન્સી માર્ગ છે જેમ કે દ્વિસંગી વૃક્ષ કે દરેક નોડ માતાનો ડાબી બાળક જો હાજર હોય તો, છે આ નોડ કરતાં ઓછો છે. અને દરેક નોડ માતાનો અધિકાર બાળક, જો હાજર હોય, વધારે છે આ નોડ કરતા. તેથી અન્ય શબ્દોમાં, જો તમે ડ્રો હતા વૃક્ષ બહાર, નંબરો બધા છે કાળજીપૂર્વક આ જેમ સંતુલિત કે જેથી જો જો તમે રુટ તરીકે 55 છે, 33 જઇ શકો છો તેની ડાબે તે 55 કરતા ઓછી છે કારણ કે. 77 તેના અધિકાર કારણ કે જઈ શકો છો તે 55 કરતા વધારે છે. પરંતુ હવે, આ જ વ્યાખ્યા નોટિસ તે મૌખિક એક પૂનરાવર્તિત વ્યાખ્યા છે 33 માટે અરજી કરવાની હોય છે. 33 ડાબેરી બાળક, તે કરતાં ઓછી હોવી જોઈએ અને 33 ના અધિકાર બાળક, 44 હોવું જ જોઈએ, તે કરતાં વધારે હતું. તેથી આ એક દ્વિસંગી શોધ વૃક્ષ છે, અને હું એક થોડુંક ઉપયોગ કરીને, પ્રસ્તાવ પુનરાવર્તન, આપણે હવે એ શોધી શકો છો. એ છે કે કિંમત એ કરતાં ઓછી હોય છે તેથી જો વર્તમાન નોડ, હું જવા માટે જઇ રહ્યો છું આગળ અને વાંસડા વડે એવી હોડી ચલાવવી, તેથી વાત, અને માત્ર જવાબ છે ગમે પાછા પર એ માટે શોધ વૃક્ષ માતાનો ડાબી બાળક. ફરી નોટિસ, તો આ કાર્ય માત્ર નોડ સ્ટાર, એક અપેક્ષા નોડ માટે પોઇન્ટર. તેથી ચોક્કસ હું વૃક્ષ ડરો કરી શકો છો દોરી જશે, જે તીર ડાબે, મને બીજા ગાંઠ છે. પરંતુ તે નોડ શું છે? વેલ, આ જાહેરાત અનુસાર, ડાબી કે જેથી માત્ર માત્ર એક નિર્દેશક છે હું શોધ કાર્ય માટે પસાર છું એનો અર્થ એ થાય અલગ નિર્દેશક, એટલે કે રજૂ કરે છે એક મારા ડાબા બાળકની વૃક્ષ. તેથી આ કિસ્સામાં, નિર્દેશક, જો 33 આ અમારા નમૂના ઇનપુટ વચ્ચે, જો છે એ જો ખાતે કિંમત એ એક કરતાં વધારે છે વૃક્ષ વર્તમાન નોડ, પછી હું છું અન્ય આગળ અને વાંસડા વડે એવી હોડી ચલાવવી જાઓ જવા દિશા અને માત્ર કહે છે, હું નથી આ કિંમત એ વૃક્ષ છે તો, પરંતુ તે છે તો મને ખબર છે, તે નીચે છે મારા અધિકાર શાખા છે, તેથી વાત કરવા માટે. તેથી મને recursively શોધવા કોલ દો, ફરી એક એ પાસ, પરંતુ માં પસાર મારા અધિકાર બાળકને પોઇન્ટર. અન્ય શબ્દોમાં, હું હાલમાં છું તો 55 ખાતે અને હું 99 માટે જોઈ છું, મને ખબર છે કે 99 હું tore જેથી જેમ, 55 કરતાં વધારે છે ફોન બુકમાં અઠવાડિયા પહેલા અને અમે જમણી ગયા, તે જ રીતે આપણે છે અહીં જવા માટે જવાનું. તે મારા જમણે છે અને જો મને ખબર નથી બાળક છે, અને તે નથી, 77 ત્યાં છે, પરંતુ હું તે દિશામાં છે ખબર. તેથી હું મારા જમણા બાળક પર શોધ કૉલ 77, અને શોધ આકૃતિ બહાર દો ત્યાં જો આ મનસ્વી 99 ઉદાહરણ ત્યાં ખરેખર છે. બીજું, અંતિમ કેસ શું છે? વૃક્ષ છે અને નલ એક કેસ છે. એ વર્તમાન નોડ કરતાં ઓછી હોય તો કિંમત અન્ય કિસ્સો છે. એ વર્તમાન કરતાં વધારે છે નોડ માતાનો કિંમત ત્રીજા કેસ છે. ચોથી અને અંતિમ કેસ શું છે? હું અધિકાર, અમે કેસ બહાર છો લાગે? તે એ માં છે કે જ હોવી જોઈએ હું પર છું કે વર્તમાન નોડ. હું આ બિંદુએ 55 માટે શોધ છુ તેથી જો ની વાર્તામાં, તે શાખા વૃક્ષ સાચા પરત ફર્યા હતા. તેથી શું અહીં રસપ્રદ છે કે અમે વાસ્તવમાં, સપ્તાહો વિપરીત ભૂતકાળમાં, અમે પ્રકારની બે આધાર કિસ્સાઓમાં છે. અને તેઓ જરૂર નથી ટોચ પર હોય છે. ટોચની આધાર કેસ છે, કારણ કે જો વૃક્ષ નલ છે, તો કંઇ નથી. માત્ર એક હાર્ડ કોડેડ પાછા ખોટા બજારમૂલ્ય. તળિયે શાખા જેવું છે મૂળભૂત, જેમાં અમે ચકાસાયેલ હોય, તો તે પ્રયત્ન કરીશું જો નલ, અમે ચેક કર્યું બાકી, પરંતુ તે ન હોવો જોઇએ, અમે કર્યું તે અધિકાર હોવા જોઈએ, જો ચકાસાયેલ છે, પરંતુ તે ન હોવો જોઇએ, અને સ્પષ્ટ તે હોઈ શકે છે અધિકાર જ્યાં અમે છે. આધાર કેસ કે. તેથી બે પૂનરાવર્તિત ત્યાં કિસ્સાઓ છે મધ્યમ માં ત્યાં sandwiched. પરંતુ હું લખેલા હોઈ શકે છે આ કોઈપણ ક્રમમાં. હું માત્ર તેને પ્રકારની કુદરતી લાગ્યું વિચાર્યું પ્રથમ શક્ય ભૂલ માટે ચકાસવા માટે, પછી છોડી તપાસો, પછી, જમણી તપાસો તમે નોડ પર છો ધારે છે કે તમે ખરેખર માટે શોધી રહ્યાં છે. તેથી શા માટે આ ઉપયોગી હોઈ શકે? તેથી તે બહાર વળે - અને મને એક સતામણી માટે બાંધી દો અહીં વેબ માં છે. અમે એક ઉપયોગ શરૂ કરવા જઇ રહ્યા છો પ્રોગ્રામિંગ પ્રથમ ભાષા છે, પરંતુ માર્કઅપ ભાષા. જે એક હોવાનો એક માર્કઅપ ભાષા પ્રોગ્રામિંગ માટે ભાવના સમાન ભાષા, પરંતુ તે તમને આપી નથી ક્ષમતા તાર્કિક જાતને વ્યક્ત કરવા માટે. તે માત્ર ત્યારે જ તમે ક્ષમતા આપે છે માળખાકીય જાતને વ્યક્ત. જ્યાં તમે કંઈક મૂકી કરવા માંગો છો આ પાનાં પર, વેબ પાનું? શું તમે તેને રંગ બનાવવા કરવા માંગો છો? શું ફોન્ટ માપ તમે તેને બનાવવા કરવા માંગો છો? શું શબ્દો ખરેખર તમે શું વેબ પૃષ્ઠ પર માંગો છો? કે જેથી એક માર્કઅપ ભાષા છે. પરંતુ પછી અમે ખૂબ જ ઝડપથી રજૂ પડશે એક સંપૂર્ણ સુવિધાયુક્ત છે જે જાવાસ્ક્રિપ્ટ, ભાષા પ્રોગ્રામિંગ. વાક્યરચના અનુસાર દેખાવ ખૂબ જ સમાન સી, પરંતુ તે કેટલાંક પડશે સરસ, વધુ શક્તિશાળી છે, વધુ વપરાશકર્તા મૈત્રીપૂર્ણ સુવિધાઓ. અને આ સમયે હતાશા એક આ સત્ર માં બિંદુ અમે પડશે કે છે ટૂંક સમયમાં ઘણી ઓછી માં speller અમલ અન્ય ભાષા ઉપયોગ કરીને કોડ રેખાઓ સી પોતે પરવાનગી આપે કરતાં, પરંતુ કારણ માતાનો માટે અમે જલ્દી સમજી શકશો. આ પ્રકારનું પ્રથમ વેબ પાનું રહેશે. તે સંપૂર્ણપણે underwhelming હશે અમે ખાતરી પ્રથમ એક. તે માત્ર હેલો વર્લ્ડ કહે છે, રહેશે. પરંતુ તમે તેને ક્યારેય ન જોઈ હોય તો પહેલાં, આ HTML છે હાઇપરટેક્સ્ટ માર્કઅપ લેંગ્વેજ. જો તમે ચોક્કસ મેનુ વિકલ્પ પર જાઓ તો પર કોઈપણ વેબ પૃષ્ઠ પર સૌથી વધુ કોઈપણ બ્રાઉઝર, ઇન્ટરનેટ, તમે જોઈ શકો છો એચટીએમએલ કેટલાક લોકો લખ્યું કે, તેવા વેબ પૃષ્ઠ બનાવો. અને તે કદાચ નથી જોવા નથી સંક્ષિપ્ત અથવા આ તરીકે સુઘડ. પરંતુ તે આ પેટર્ન પાલન કરશે ઓપન કૌંસ અને સ્લેશ અને અક્ષરો અને સંભવિત નંબરો. હું તમને એક સતામણી આપી કરશો વિચાર્યું તમે કરવા માટે સમર્થ હશો શું CS50 લીધા પછી. મને cs.harvard.edu / Rob માટે જવા દો, આપણા પોતાના રોબ બોડેન હોમપેજ. તેમણે અમને માટે આ કરી હતી. તેથી તમે ટૂંક સમયમાં જ તે કરવા સમક્ષ રજુ કરવાનો પ્રયત્ન કરીશું. અને પણ, તમે શું સાંભળ્યું આ સવારે - તમે આ સવારે સાંભળ્યું શું - [હેમસ્ટર ડાન્સ સંગીત] - You'll આ કરી શકશો. કે બુધવારે અમને awaits. અમે તો પછી તમે જોશો. [હેમસ્ટર ડાન્સ સંગીત] DAVID MALAN: આગામી CS50 મુ -