[இசை] ANDI பெங்: பிரிவின் வாரம் 6 வரவேற்கிறோம். நாம் நம் தரமான பின்வாங்கவில்லை செவ்வாய்க்கிழமை பிரிவில் நேரம் இந்த அழகான ஞாயிறு காலை மதியம். அனைவருக்கும் நன்றி என்று இன்று, ஆனால் தீவிரமாக என்னை சேர்ந்து கரவொலி ஒரு சுற்று. என்று ஒரு அழகான பெரிய முயற்சி. நான் கிட்டத்தட்ட கூட அதை செய்ய வில்லை நேரம் வரை, ஆனால் அது சரி இருந்தது. அதனால் நான் உங்களுக்கு என்று அனைத்து தெரியும் வெறும் வினாடி வினா அதை செய்துவிட்டேன். அனைத்து முதல், வரவேற்க அந்த மறுபக்கமாக. இரண்டாவதாக, நாம் அதை பற்றி பேசலாம். நாம் வினாடி வினா பற்றி பேச வேண்டும். நாம் எப்படி பேச வேண்டும் நீங்கள் வர்க்கம் செய்கிறீர்கள். நீங்கள் நன்றாக இருக்க வேண்டும். நான் உங்கள் வினாடி வேண்டும் இங்கே முடிவில் நீங்கள், எனவே நீங்கள் நினைத்தால், எடுக்க விரும்பினால் ஒரு, அது நன்றாக இருக்கும். எனவே விரைவில் நாம் தொடங்கும் முன் பின்வருமாறு இன்று நிகழ்ச்சி நிரலில் உள்ளது. நீங்கள் பார்க்க முடியும் என, நாங்கள் இருக்கிறோம் அடிப்படையில் விரைவான துப்பாக்கி சூடு தரவு கட்டமைப்புகள் மொத்தமாக மூலம் உண்மையில், உண்மையில் விரைவாக. போன்ற எனவே, அது முடியாது சூப்பர் ஊடாடும் இன்று. இது எனக்கு வகையான கத்தி இருக்க வேண்டும் விஷயங்களை நீங்கள், நான் நீங்கள் குழப்ப என்றால், நான் மிக வேகமாக போகிறேன் என்றால், எனக்கு தெரியப்படுத்துங்கள். அவர்கள் பல்வேறு தரவு இருக்கிறார்கள் கட்டமைப்புகள், மற்றும் பகுதியாக இந்த உங்கள் pset இந்த எதிர்வரும் வாரம், உங்களுக்கு அவற்றில் ஒன்று செயல்படுத்த கேட்கப்படும், ஒருவேளை இரண்டு அவர்கள் them-- இரண்டு உங்கள் pset உள்ள. சரி, அதனால் நான் போகிறேன் சில அறிவிப்புகள் தொடங்கும். நாம் அடுக்குகள் மற்றும் இன்னும் உள்ள வரிசைகளில் மேல் போய் நாம் வினாடி வினா முன் என்ன விட ஆழம். நாம் செல்ல இணைக்கப்பட்ட வேண்டும் , மீண்டும், மீண்டும் பட்டியலிட விட ஆழம் இன்னும் என்ன நாங்கள் வினாடி வினா முன் இருந்தது. பின்னர் நாம் புல பற்றி பேசுகிறேன் அட்டவணைகள், மரங்கள் மற்றும் முயற்சிகளின், இது உங்கள் pset, அழகான அவசியம். பின்னர் நாம் சில மேல் போக வேண்டும் pset5 பயனுள்ளதாக குறிப்புகள். சரி, அதனால், வினாடி வினா 0. சராசரி 58% ஆக இருந்தது. இது மிகவும் குறைந்த இருந்தது, அதனால் நீங்கள் எல்லாம் ஏற்ப மிக, மிக நன்றாக வந்தது என்று. நீங்கள் என்றால் அழகான மிகவும், கட்டைவிரல் விதி உள்ளது சராசரி நியமவிலகலுடன் உள்ள நாம் ஒரு குறைவாக உள்ள நீங்கள் குறிப்பாக இருந்து வசதியான பிரிவில், நீங்கள் முற்றிலும் நன்றாக இருக்கிறோம். நீங்கள் பாதையில் இருக்கிறோம். வாழ்க்கை நன்றாக இருக்கிறது. நான் அதை என்று நினைக்க பயமாக இருக்கிறது தெரிகிறேன் நான் இந்த வினாடி வினா மீது 40% போன்ற கிடைத்தது. நான் இந்த வர்க்கம் தோல்வி போகிறேன். நான் உங்களுக்கு உறுதியளிக்கிறேன், நீங்கள் இல்லை வர்க்கம் தோல்வியடையும் போவதில்லை. நீங்கள் முற்றிலும் நன்றாக இருக்கிறோம். மீது யார் நீங்கள் அந்த சராசரி, ஈர்க்கக்கூடிய, வெறும், போன்ற, தீவிரமாக நன்றாக செய்து. நான் அவர்களுக்கு இல்லை. அவற்றை பெற வர தயங்க பிரிவில் இறுதியில். நீங்கள் எந்த இருந்தால் எனக்கு தெரியப்படுத்துங்கள் பிரச்சினைகள், அவர்களை கேள்விகள். நாங்கள் உங்கள் ஸ்கோர் சேர்க்க என்றால் தவறு, எங்களுக்கு தெரியப்படுத்துங்கள். சரி, pset5, இந்த ஒரு உண்மையில் ஆகிறது உணர்வு யேல் வித்தியாசமான வாரம் நமது pset காரணமாக உள்ளது என்று உட்பட நண்பகலில் புதன்கிழமை நாள் தாமதமாக, எனவே அது உண்மையில் நண்பகலில் செவ்வாய்க்கிழமை கோட்பாட்டளவில் காரணமாக. அநேகமாக யாருக்கும் முடிந்ததும் நண்பகலில் செவ்வாய். என்று நன்றாக. நாம் அலுவலக மணி போகிறது இன்றிரவு அத்துடன் திங்கள் இரவு. மற்றும் பிரிவுகள் அனைத்திலும் இந்த வாரம் சாப்பிடுவேன் உண்மையில் பட்டறைகள் மாறியது, அதனால் எடுக்க தயங்க நீங்கள் விரும்பும் எந்த பிரிவில், மற்றும் அவர்கள் வகையான சிறு ஒத்திகை இருக்க வேண்டும் என்று உதவி பட்டறைகள். எனவே இது போன்ற, இந்த ஒரே பிரிவில் ஆகிறது நாம் எங்கே பொருள் கற்று. அனைத்து மற்ற பிரிவுகள் கவனம் பிரத்தியேகமாக pset, உதவி. ஆமாம்? பார்வையாளர்கள்: எங்கே அலுவலக நேரம் உள்ளன? ANDI பெங்: அலுவலக நேரம் , ஓ நல்ல கேள்வி tonight--. நான் நினைக்கிறேன் அலுவலக நேரம் இன்று நீலம் அல்லது காமன்ஸ் உள்ளன. நீங்கள் ஆன்லைன், CS50 பார்க்கலாம் என்றால் நீங்கள், அலுவலக நேரம் போக ஒரு அட்டவணை இருக்க வேண்டும் என்று அவர்கள் அனைத்து எங்கே நீங்கள் சொல்கிறது. நான் இன்றிரவு அல்லது தெரிகிறேன் அல்லது நாளை வாத்து வகை, ஆகிறது ஆனால் நம்மிடம் இருக்கலாம் என்று நினைக்கிறேன் மற்ற இரவு காமன்ஸ். என்னால் உறுதியாக சொல்ல முடியாது. நல்ல கேள்வி. CS50 மீது சரிபார்க்கவும். தொடர்பான கூல், எந்த கேள்விகள் மூன்று நாட்கள் போன்ற அடுத்த அட்டவணை? நான் டேவிட் போன்ற உங்களுக்கு உறுதியளிக்கிறேன் இந்த மலையின் உச்சியில் உள்ளது, என்றார். நீங்கள் கிட்டத்தட்ட உள்ளன. வெறும் மூன்று நாள்கள். அங்கு செய்யவும், பின்னர் நாங்கள் அனைவரும் கீழே வர வேண்டும். நாம் ஒரு நல்ல சிஎஸ் இலவச இடைவெளி வேண்டும். நாம் திரும்பி விடுவேன். நாம் வலை டைவ் வேண்டும் நிரலாக்க மற்றும் அபிவிருத்தி, மிகவும் வேடிக்கையாக இருக்கும் விஷயங்களை ஒப்பிடும்போது மற்ற psets சில. அது குளிர்ச்சியை இருக்கும், மற்றும் வேண்டும் நாங்கள் மகிழ்கிறோம் வேண்டும். நாம் மேலும் சாக்லேட் வேண்டும். சாக்லேட் மன்னிக்கவும். நான் சாக்லேட் மறந்துவிட்டேன். அது ஒரு கடினமான காலை. எனவே நீங்கள், கிட்டத்தட்ட உள்ளன நான் உங்களுக்கு குறித்தும் பெருமைப்படுகிறேன். சரி, அதனால் அடுக்குகள். யார் ஜாக் பற்றி கேள்வி நேசித்தேன் மற்றும் வினாடி வினா தனது ஆடை? எந்த ஒரு? சரி, அது நல்லது. எனவே அடிப்படையில் நீங்கள் முடியும் படம் ஜாக், இங்கே இந்த பையன், ஆடை எடுக்க நேசிக்கிறது அடுக்கின் மேல் அவுட், அவர் மீது அது மீண்டும் வைக்கிறார் அவர் பிறகு ஸ்டாக் முடிந்துவிட்டது. இந்த வழியில் எனவே, அவர் பெற வேண்டும் தெரிகிறது கீழே அவரது ஆடை குவியலாக. எனவே இந்த வகையான விவரிக்கிறது அடிப்படை தரவு கட்டமைப்பு ஒரு ஸ்டேக் எவ்வாறு நிறுவப்படுகிறது. அடிப்படையில், ஒரு யோசிக்க பொருட்களை எந்த ஸ்டேக் குவியலாக நீங்கள் மேலே மீது விஷயங்களை வைத்து, மற்றும் அங்கு பின்னர் நீங்கள் மேலே இருந்து அவர்களை வெளிவந்துவிடும். எனவே LIFO நாம் விரும்பும் என்பதன் சுருக்கமாகும் கடைசியாக உள்ளே, முதல் வெளியே use-- வேண்டும். அதனால் மேல் நீடிக்கும் ஸ்டாக் வெளியே வரும் என்று முதல் ஒன்றாகும். அதனால் இரண்டு சொற்கள் நாங்கள் இணை விரும்புகிறேன் என்று புஷ் மற்றும் பாப் என அழைக்கப்படுகின்றன. போது நீங்கள் மீது ஏதாவது தள்ள குவியலாக, மற்றும் நீங்கள் மீண்டும் அதை பாப். அதனால் நான், இந்த ஒரு வகையான நினைக்கிறேன் நீங்கள் அந்த கருத்து ஒரு போன்ற பார்க்க வேண்டும் இந்த உண்மையான செயல்படுத்த நிஜ உலகில். உங்களில் எத்தனை கட்டுரை ஒன்றை எழுதியுள்ளார் ஒருவேளை ஒரு மணி நேரம் போல் அது காரணமாக இருந்தது முன் நீங்கள் தற்செயலாக ஒரு பெரிய நீக்கப்பட்டது தற்செயலாக போல அது துண்டின்,? பின்னர் என்ன கட்டுப்பாடு செய்ய நாம் அது மீண்டும் வைத்து பயன்படுத்த? கட்டுப்பாடு Z, அப்படியா? கட்டுப்பாடு Z, அதனால் மடங்கு அளவு கட்டுப்பாடு-இசட் என் உயிரை காப்பாற்றினான் என்று, ஒவ்வொரு முறையும் என் கழுதை காப்பாற்றினான் என்று ஒரு ஸ்டாக் மூலம் செயல்படுத்தப்படும். அடிப்படையில் அனைத்து தகவல் என்று, உங்கள் வேர்ட் ஆவணம் தான் அதை தள்ளி மற்றும் விருப்பத்திற்கு வந்துவிட்டது. எனவே அடிப்படையில் போதெல்லாம் நீங்கள் எதையும் நீக்க, நீங்கள் அதை மீண்டும் பாப். பின்னர் அதை மீண்டும் வேண்டும் என்றால், நீங்கள் கட்டுப்பாடு சி என்ன இது, அதை தள்ள. அதனால் உண்மையான உலக செயல்பாடு எப்படி எளிய தரவு கட்டமைப்பு உங்கள் அன்றாட வாழ்வில் உதவ முடியும். எனவே ஒரு struct வழி என்று நாம் உண்மையில் ஒரு அடுக்கு உருவாக்க. நாம் பின்னர் struct வரையறை தட்டச்சு, மற்றும் நாம் அது கீழே குவியலாக அழைக்கிறோம். மற்றும் ஸ்டாக் இருக்கும், நாம் இரண்டு அளவுருக்கள் வேண்டும் , நாம் அடிப்படையில் கையாள முடியும் என்று நாம் எரிப்பதை நட்சத்திர சரங்களை திறன் வேண்டும். அதை செய்து அனைத்து என்று ஒரு வரிசை உருவாக்கும் நாங்கள் உனக்கு என்ன வேண்டுமோ சேமிக்க முடியும் என்று இது நாம் அதன் திறன் தீர்மானிக்க முடியும். கொள்ளளவு கொண்ட அதிகபட்சம் அளவு பொருட்களை நாம் இந்த வரிசை மீது வைக்க முடியாது. எண்ணாக அளவு உள்ளதோ என்று எதிர் ஆகிறது எத்தனை பொருட்களை கண்காணிக்க தற்போது ஸ்டாக். எனவே நாம், ஒரு, கண்காணிக்க முடியும் இருவரும் உண்மையான ஸ்டாக் இல்லை எவ்வளவு பெரிதாக இருந்தாலும், மற்றும், பி, எப்படி அந்த ஸ்டாக் மிகவும் நாங்கள் விரும்பவில்லை, ஏனென்றால் நாம் நிரப்பப்பட்ட நம் திறன் என்பது என்ன வழிதல். எடுத்துக்காட்டாக, இந்த அழகான எனவே கேள்வி உங்கள் வினாடி வினா இருந்தது. அடிப்படையில் நாம் எப்படி தள்ள செய்கிறது ஒரு ஸ்டேக் மேல் மீது. அழகான எளிமையான. நீங்கள் அதை பார்த்தால், நாம் இந்த வழியாக செல்வேன். [செவிக்கு புலப்படாமல்] size-- என்றால் எப்போது நீங்கள், நினைவில் எந்த அணுக வேண்டும் ஒரு struct இருக்கும் அளவுரு, நீங்கள் struct.parameter பெயர் செய்கிறீர்கள். இந்த வழக்கில், கள் உள்ளது எங்கள் ஸ்டாக் பெயர். நாம் அளவு அணுக வேண்டும் அது, எனவே நாம் s.size செய்கிறோம். அளவு இல்லை என எனவே நீண்ட திறன் அல்லது நீண்ட சமமாக அது திறன் குறைவாக தான் என, ஒன்று இங்கே வேலை செய்யும். நீங்கள் உள்ளே அணுக வேண்டும் உங்கள் ஸ்டேக், s.strings அதனால், மற்றும் நீங்கள் அந்த புதிய எண் வைக்க போகிறோம் நீங்கள் அங்கு செருக வேண்டும் என்று. அது தான் நாம் செய்ய வேண்டும் சொல்கிறேன் ஸ்டாக் மீது முழு எண்ணாக n நுழைக்க, நாம் s.strings செய்ய முடியும் அடைப்புக்குறிக்குள், s.size, N சமம். அளவு அங்கு இருப்பதால், தற்போது ஸ்டேக் உள்ளன நாங்கள் தள்ள போகிறீர்கள் என்றால் அதை, நாம் தான் அணுக அளவு எங்கிருந்தாலும், ஸ்டாக் தற்போதைய முற்றாக, மற்றும் நாம் அதை மீது முழு எண்ணாக n தள்ள. பின்னர் அந்த உறுதி செய்ய வேண்டும் நாங்கள், n, உயர்த்துவதன் அளவு நாம் நான் மிகவும் நாம் கண்காணிக்க முடியும் அடுக்கு ஒரு கூடுதல் விஷயம் சேர்க்கப்பட்டது. இப்போது நாம் ஒரு அதிக அளவு உள்ளது. இந்த இங்கே பயன் எல்லோருக்கும், எப்படி அதை தர்க்கரீதியாக வேலை? இது மாதிரியான விரைவு இருந்தது. பார்வையாளர்கள்: நீங்கள் மேல் போக முடியுமா s.stringss.strings [s.size] மீண்டும்? ANDI பெங்: நிச்சயமாக, அதனால் என்ன செய்கிறது எங்களுக்கு கொடுக்க? பார்வையாளர்கள்: அது தற்போதைய அளவு தான். ANDI பெங்: சரியாக, எங்கள் அளவு உள்ளது என்று தற்போதைய குறியீட்டு, எனவே நாம் புதிய முழு வைக்க வேண்டும் நாம் s.size செருக வேண்டும் என்று. என்று பயன்? S.strings ஏனெனில், அந்த வரிசைக்கு பெயர். அதை எடுத்து அனைத்து அணுகும் ஆகிறது எங்கள் struct உள்ள வரிசை, எனவே நாம் விரும்பினால் அந்த குறியீட்டு ஒரு N வைக்க, நாம் தான் அதை அணுக முடியும் பயன்படுத்தி அடைப்புக்குறிக்குள் s.size. கூல். சரி, பாப், நான் அதை வெளியே சூடோகுறியீடு நீங்கள், ஆனால் இதே போன்ற கருத்து. என்று பயன்? அளவு அதிகமாக இருந்தால், பின்னர் பூச்சிய விட உங்கள் நீங்கள் ஏதாவது எடுக்க வேண்டும் என்று எனக்கு தெரியும் வெளியே அளவு அல்ல என்றால், ஏனெனில் பூச்சிய விட, நீங்கள் ஸ்டாக் எதுவும் இல்லை. எனவே நீங்கள் மட்டும் இயக்க வேண்டும் இந்த குறியீடு, அது மட்டுமே முடியும் பாப் ஏதாவது இருந்தால் பாப். அளவு அதிகமாக உள்ளது என்றால், 0 விட, நாம் கழித்தல் அளவு. நாம் அளவு குறைத்தல் பின்னர் திரும்ப ஏனெனில் அது உள்ளே என்ன இருக்கிறது உறுத்தும், நாங்கள் விரும்பவில்லை சேமிக்கப்படுகிறது என்ன அணுகல் அடுக்கின் மேல் குறியீட்டில். எல்லாம் பயன்? நான் செய்த என்றால் நீங்கள் தோழர்களே, இந்த அவுட் எழுத நீங்கள் அதை எழுத முடியும்? சரி, நீங்கள் அதை சுற்றி விளையாட முடியும். எந்த கவலையும் அது உனக்கு கிடைக்கும் என்றால். நாம் குறியீடு நேரம் இல்லை அதை இன்று நாம் நான் ஏனெனில் இந்த கட்டமைப்புகள் நிறைய செல்ல, ஆனால் அடிப்படையில் செய்ய போலிக்குறியீட்டை, மிக, மிக ஒத்த தள்ள. தான் தர்க்கம் சேர்ந்து வாசியுங்கள். நீங்கள் அனைத்து அணுகும் உறுதிசெய்யவும் சரியாக உங்கள் struct அம்சங்கள். ஆமாம்? பார்வையாளர்கள்: இந்த சரிவுகள் மற்றும் இந்த விஷயத்தை இன்று-ish? ANDI பெங்: எப்போதும், இங்கும். நான் போட முயற்சி போகிறேன் இந்த பிறகு ஒரு மணி நேரம் போன்ற. நான் டேவிட் மின்னஞ்சல் வேண்டும், டேவிட் முயற்சி இந்த பிறகு ஒரு மணி நேரம் போல் அதை போட. சரி, அதனால் நாம் இந்த மற்ற செல்ல அழகான தரவு கட்டமைப்பு வரிசையில் என்று. நீங்கள் இங்கே பார்க்க முடியும் என, ஒரு வரிசை, நமக்குள் பிரிட்டிஷ், அது அனைத்து ஒரு வரி. இவ்வளவு மாறாக என்ன நீங்கள், ஒரு ஸ்டாக் இருக்கிறது என்று நான் நினைக்கிறேன் ஒரு வரிசை சரியாக என்ன தர்க்கரீதியாக நீங்கள் நினைப்பதுபோல். அது, மற்றும் FIFO விதிகள் மூலம் நடைபெறும் இது முதல் உள்ளே, முதல் வெளியே உள்ளது. நீங்கள் முதலில் என்றால் வரி ஒன்று, நீங்கள் இருக்கிறீர்கள் முதல் ஒரு என்று வரி வெளியே வருகிறது. எனவே நாம் இந்த அழைக்க விரும்புகிறேன் என்ன dequeueing மற்றும் enqueueing. நாம் ஏதாவது சேர்க்க விரும்பினால் எங்கள் வரிசை, நாம் என்கியூ. நாங்கள் விரும்பினால் dequeue, அல்லது எடுக்க ஏதாவது விட்டு, அதில் நாம் dequeue. நாம் வகையான இருக்கிறோம் என்று அதே உணர்வு நிலையான அளவு கூறுகளை உருவாக்க என்று நாம் சில சேமிக்க முடியும் விஷயங்கள், ஆனால் நாங்கள் முடியும் நாங்கள் வைப்பது தான் அங்கு மாற்ற அவர்கள் உள்ளே அளவுருக்கள் என்ன வகை அடிப்படையில் செயல்பாடு நாம் விரும்பும். அடுக்குகள் எனவே, நாம் கடந்த விரும்பினார் ஒரு, N முதல் ஒரு வெளியே இருக்க வேண்டும். வரிசை என்று, நாம் முதல் விஷயம் வேண்டும் ஆகிறது வெளியே முதல் விஷயம் இருக்க வேண்டும். , Struct வகை எனவே நீங்கள் பார்க்க முடியும் என, வரையறுக்க, அது ஒரு சிறிய பிட் வேறு ஸ்டாக் என்ன இருந்து நாம் மட்டும் தான் வைக்க வேண்டும், ஏனெனில் அளவு தற்போது எங்கே கண்காணிப்பதற்கான, நாங்கள் தலை கண்காணிக்க வேண்டும் அதே அங்கு நாம் தற்போது உள்ளோம். எனவே நான் அதை எளிதாக என்று நான் இந்த பெற வேண்டும். எனவே நாம் ஒரு வரிசை கிடைத்துவிட்டது கற்பனை செய்வோம், எனவே தலை சரியான இங்கே சொல்கிறேன். வரி தலைவர், தான் வெறும், அங்கு தற்போது தான் சொல்கிறது மற்றும் நாம் சேர்க்க வேண்டும் வரிசை ஒன்று. நான் அடிப்படையில் அளவு அழைக்க போகிறேன் வால் அதே விஷயம், உங்கள் வரிசையில் எங்கு இறுதியில். தான் அளவு சரியான இங்கே சொல்கிறேன். எனவே எப்படி feasibly செய்கிறது ஒரு வரிசை ஒன்று சேர்க்க? என்ன குறியீட்டு நாம் வைக்க வேண்டும் செய்கிறது நாம் எங்கே செருக வேண்டும். இந்த ஆரம்பம் என்றால் உங்கள் வரிசையில் இது இறுதியில் உள்ளது அல்லது அது அளவு, நாம் எங்கே செய்கிறது அடுத்த பொருள் சேர்க்க வேண்டும்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] ANDI பெங்: சரியாக, சேர்க்க வேண்டும் பொறுத்து நீங்கள் அதை எழுதியுள்ளனர். ஒன்று இந்த வெற்று அல்லது அந்த காலியாக. எனவே ஒருவேளை நீங்கள் அதை சேர்க்க வேண்டும் ஏனெனில் இங்கு அளவு ஆகிறது என்றால் இந்த அனைத்து முழு இருந்தால், நீங்கள் வேண்டும் சரி, சரி, இங்கே அது சேர்ப்பது? மற்றும் அதனால் தான் மிக, மிக போது எளிய, இல்லை மிகவும் எப்போதும் சரியாக முக்கிய வேறுபாடு ஏனெனில் ஒரு வரிசை மற்றும் ஒரு அடுக்கு இடையே அந்த வரிசையில் முடியும் ஆகிறது உண்மையில் மோசடியாக என்று தலை மாற்றங்கள் நீங்கள் விரும்பும் இடத்தில் பொறுத்து உங்கள் கோல் தொடக்கத்தில் தொடங்க வேண்டும். இதன் விளைவாக, உங்கள் வால் மேலும் மாற்ற போகிறது. அதனால் பாருங்கள் இப்போது இந்த குறியீடு. நீங்கள் மேலும் கேட்டுக்கொள்ளப்பட்டனர் என என்கியூ, வினாடி வினா எழுத. ஒருவேளை நாம் ஏன் மூலம் பேசுகிறேன் பதில் அது என்ன இருந்தது. நான் மிகவும் ஒன்றை இந்த வரி பொருந்தும் முடியவில்லை குறியீடு ஆனால் அடிப்படையில் இந்த துண்டு ஒரு வரியில் இருக்க வேண்டும். 30 விநாடிகள் போன்ற செலவிடுங்கள். பாருங்கள், ஏன் பார்க்க இதுதான் அது என்று வழி. மிக, மிக ஒத்த, struct, மிக, மிக முந்தைய போன்ற அமைப்பு ஒருவேளை தவிர குவியலாக குறியீடு ஒரு வரி. மற்றும் குறியீடு ஒரு வரி என்று செயல்பாடு தீர்மானிக்கிறது. அது உண்மையில் வேறுபடுத்துகிறது ஒரு ஸ்டாக் இருந்து ஒரு வரிசை. யாராவது ஒரு குத்துவது எடுக்க வேண்டும் நீங்கள் ஏன் விளக்கி இல் இங்கே இந்த சிக்கலான விஷயம் கிடைத்தது? நாம் மீண்டும் பார்க்கும் எங்கள் அற்புதமான நண்பர் தனிமதிப்பு. உங்களுக்கு விரைவில் வரும் என நிரலாக்க அங்கீகரிக்க, கிட்டத்தட்ட எப்போது ஏதாவது தேவை எதையும் சுற்றி, தனிமதிப்பு அது செய்ய வழி இருக்க போகிறது. எனவே, என்று தெரிந்தும், யாரும் விரும்பவில்லை குறியீடு என்று வரி விளக்கி முயற்சி? ஆமாம், பதில்கள் உள்ளன ஏற்றுக்கொள்ளப்பட்ட மற்றும் வரவேற்பு. பார்வையாளர்கள்: நீங்கள் எனக்கு பேசுகிறீர்களா? ANDI பெங்: ஆமாம். பார்வையாளர்கள்: ஓ, எந்த மன்னிக்கவும். ANDI பெங்: சரி, நாம் இந்த குறியீடு மூலம் நடக்க. எனவே போது நீங்கள் முயற்சிக்கும் ஒரு வரிசை மீது ஏதாவது சேர்க்க தலையில் நடக்கும் என்று அழகான வழக்கில் இங்கேயே இருக்க, அது எங்களுக்கு மிக எளிது முடிவுக்கு செல்ல சரி ஏதோ, நுழைக்க? ஆனால் ஒரு வரிசை முழு புள்ளி என்று உண்மையில் மாறும் தலை அங்கு பொறுத்து மாற்ற நாம் எங்கள் குவிண்டால் தொடக்கத்தில் இருக்க வேண்டும், மற்றும், வால் மேலும் மாற்ற போகிறது. எனவே இந்த இல்லை என்று கற்பனை வரிசை, மாறாக இந்த வரிசை இருந்தது. தலை சரியான இங்கே சொல்கிறேன். நமது வரிசையில் இந்த போல சொல்கிறேன். நாம் எங்கே மாற்ற வேண்டும் என்றால் வரி தொடக்கத்தில், ஆகிறது நாம் தலை மாற்றப்படும் சொல்கிறேன் இந்த வழியில் இங்கே அளவுகள். இப்போது நாம் ஏதாவது சேர்க்க வேண்டும் இந்த வரிசையில், ஆனால் நீங்கள் பார்க்க முடியும் என, அது என எளிய அல்ல அளவு பிறகு என்ன சேர்க்க பின்னர் நாம் இல்லாத காரணத்தாலேயே நம் உண்மையான வரிசை எல்லைக்கு. நாம் உண்மையில் சேர்க்க வேண்டும், அங்கு இங்கே உள்ளது. என்று ஒரு வரிசை அழகு தான் என்று அது பார்வை, நமக்கு வரி இப்படி செல்கிறது போல், தெரிகிறது ஆனால் ஒரு தரவு கட்டமைப்பு சேமிக்கப்படும் போது, அவர்கள் ஒரு சுழற்சி போன்ற என கொடுக்கிறார்கள். இது மாதிரியான சுற்றி மறைப்புகள் முன் அதே வழியில் செய்ய ஒரு வரி கூட மடிக்க முடியாது என்று சுற்றி எங்கு நீங்கள் பொறுத்து இருக்க வரி தொடக்கத்தில் வேண்டும். எனவே நாம் ஒரு எடுத்து இருந்தால், இங்கு இருக்கும், நாம் நாம் ஒரு உருவாக்க வேண்டும் என்று செயல்பாடு என்கியூ என்று. நாம் என்று q, ஒரு முழு எண்ணாக n சேர்க்க வேண்டும். Q.size நாங்கள் எங்கள் தரவு என்று அழைக்கிறேன் என்றால் எங்கள் queue.size இல்லை என்றால் structure-- திறன் அல்லது சம அது, திறன் குறைவாக q.strings எங்கள் குவிண்டால் உள்ள வரிசை உள்ளது. நாம் அமைக்க போகிறோம் என்று q.heads சமமாக, இது இங்கு தான், பிளஸ் q.size திறன், மூலம் தனிமதிப்பு இது இங்கு எங்களுக்கு மீண்டும் மடிக்க. இந்த உதாரணம், குறியீட்டு எனவே தலையில் வலது, 1? அளவு குறியீட்டு 0, 1, 2, 3, 4 ஆகிறது. எனவே 1, பிளஸ் 4 தனிமதிப்பு செய்ய முடியும் 5 ஆக உள்ளது நமது திறன். என்ன என்று நமக்கு தருகிறது? அட்டவணை என்ன என்று இந்த வெளியே வரும்? பார்வையாளர்கள்: 0. ANDI பெங்: 0, இது வலது இங்கே இருக்கும் நடக்கும், எனவே நாம் முடியும் வேண்டும் வலது இங்கே செருக. எனவே இந்த சமன்பாடு இங்கே வகையான வெறும் எந்த எண்கள் வேலை அங்கு பொறுத்து உங்கள் தலை மற்றும் உங்கள் அளவு உள்ளன. நீங்கள் என்ன அந்த தெரியும் விஷயங்களை உங்களுக்கு தெரியும் சரியாக நீங்கள் சேர்க்க விரும்பும் என்ன உங்கள் வரிசையில் பிறகு. எல்லோருக்கும் பயன்? நான் ஒரு மூளை வகையான தெரியும் டீஸர் குறிப்பாக இருந்து இந்த உங்கள் வினாடி வினா பின்னர் வந்தது. ஆனால் வட்டம் அனைவருக்கும் இப்போது புரிந்து கொள்ள முடியும் ஏன் இந்த தீர்வு அல்லது இந்த செயல்பாடு அது என்று வழி. யாராவது ஒரு பிட் என்று தெளிவாக? சரி. அதனால் இப்போது, நீங்கள் என்றால் , இந்த dequeue வேண்டும் எங்கள் தலைவர் மாற்றுவதால் இருக்கும் இடத்தில் உள்ளது நாங்கள் dequeue என்றால், ஏனெனில் நாம் அது கே இறுதியில் கட்டி எடுத்து கொள்ள கூடாது. நாம் சரியான, தலையை எடுக்க வேண்டும்? எனவே, இதன் விளைவாக, தலைவர் மாற்ற போகிறது, நீங்கள் என்கியூ போது ஏன் என்று, ஆகிறது நீங்கள் கண்காணிக்க கிடைத்துவிட்டது அங்கு உங்கள் தலை மற்றும் உங்கள் அளவு நுழைக்க முடியும் உள்ளன சரியான நிலைக்கு. அதனால் நீங்கள் dequeue போது, நான் அதை வெளியே சூடோகுறியீடு. நீங்கள் விரும்பினால் தாராளமாக இந்த வெளியே குறியீட்டு முயற்சிக்க. நீங்கள் சொல்வது சரி, தலையை நகர்த்த வேண்டும்? நான் dequeue வேண்டும் என்றால், நான் தலைக்கு மேல் நகர்த்த வேண்டும். இந்த தலை இருக்க வேண்டும். எங்கள் தற்போதைய அளவு என்று கழித்தால் ஏனெனில் நாம் இனி வரிசை நான்கு உறுப்புகள் வேண்டும். நாம் மட்டும் மூன்று வேண்டும், பின்னர் நாம் விரும்பும் உள்ளே சேமிக்கப்படும் அதை திரும்ப தலை நாங்கள் இந்த எடுக்க வேண்டும், ஏனெனில் ஸ்டாக் மிகவும் ஒத்த மதிப்பு அவுட். நீங்கள் எடுத்து வருகிறோம் வேறு ஒரு இடத்தில் இருந்து, நீங்கள் உங்கள் சுட்டிக்காட்டி ஒதுக்கலாம் வேண்டும் விளைவாக வேறு இடத்திற்கு. தர்க்கரீதியாக, அனைவரும் பின்பற்ற? பெரும். சரி, நாம் ஒரு பிட் பேச போகிறோம் தொடர்புடைய பட்டியல்கள் பற்றி ஆழம் அதிகம் அவை மிக, மிக மதிப்புமிக்க இருக்க வேண்டும், ஏனெனில் இந்த வாரம் நிச்சயமாக நீங்கள் psets,. இணைக்கப்பட்ட பட்டியலில், உங்களுக்கு அந்த அவர்கள் அனைவரும், நினைவில் கொள்ளலாம் சில முனைகளில் இருக்கும் என்று முனைகள் ஒரு மதிப்பு மற்றும் ஒரு சுட்டிக்காட்டி இரண்டு மதிப்புகள் என்று ஒன்றாக இணைக்கப்பட்டு இருக்கும் அந்த சுட்டிகள் மூலம். எப்படி மற்றும் அப்படி struct நாம் இங்கே ஒரு முனை நாம் உருவாக்க இது, முழு எண்ணாக n என்ன ஒரு கடை அல்லது சரம் n இல் மதிப்பு அல்லது உனக்கு என்ன கரி நட்சத்திரம், n, அது அழைப்பு. சுட்டிக்காட்டி இது struct முனை நட்சத்திரம், நீங்கள் ஒவ்வொரு முனை வேண்டும் என்று, நீங்கள் வேண்டும் போகிறோம் அடுத்த நோக்கி சுட்டிக்காட்டி புள்ளி. நீங்கள் தலை வேண்டும் என்று ஒரு இணைக்கப்பட்ட பட்டியலில் மீதமுள்ள சுட்டி போகிறது அதனால் மற்றும் முன்னும் பின்னுமாக மதிப்புகள் நீங்கள் இறுதியில் அடையும் வரை. இந்த கடைசி முனை தான் ஒரு சுட்டிக்காட்டி இல்லை போகிறது. அது சுட்டிக்காட்ட நடக்கிறது பூஜ்ய, மற்றும் அந்த போது தான் நீங்கள் வெற்றி தான் தெரியும் உங்கள் இணைக்கப்பட்ட பட்டியலில் இறுதி போது உங்கள் கடந்த சுட்டிக்காட்டி எதையும் சுட்டி இல்லை. எனவே நாம் இன்னும் ஒரு பிட் செல்ல போகிறோம் தொடர்பான ஆழம் எப்படி ஒரு சாத்தியமான என்று ஒரு இணைக்கப்பட்ட பட்டியலில் தேட. சில என்ன ஞாபகம் இணைக்கப்பட்ட பட்டியல்கள் குறைபாடுகள் தேடல்கள் தொடர்பாக ஒரு வரிசை வசனங்கள். ஒரு வரிசை நீங்கள் பைனரி தேடல், ஆனால் ஏன் நீங்கள் ஒரு இணைக்கப்பட்ட பட்டியலில் செய்ய முடியாது? பார்வையாளர்கள்: அவர்கள் அனைவரும் இடைத்தொடர்பு ஏனெனில், ஆனால் நீங்கள் மிகவும் தெரியாது எங்கே [செவிக்கு புலப்படாமல்]. ANDI பெங்: சரி, இவ்வளவு துல்லியமாக நினைவில் என்று ஒரு வரிசை திறமை நாங்கள் என்று உண்மையில் இருந்தது சீரற்ற அணுகல் நினைவக அங்கு நான் குறியீட்டு இருந்து மதிப்பு வேண்டும் என்றால் ஆறு, நான், குறியீட்டு ஆறு சொல்ல முடியும் எனக்கு அந்த மதிப்பு கொடுக்க. வரிசைகள் வரிசைப்படுத்தப்பட்ட ஏனெனில் தான் நினைவகம் ஒரு தொடர்ச்சியான இடத்தில் ஒரே இடத்தில், அதேசமயம் இணைக்கப்பட்ட பட்டியல்கள் வகையான உள்ளன தோராயமாக, சுற்றி அனைத்து விடுவது ஒரே வழி நீங்கள் ஒரு காணலாம் நீங்கள் சொல்கிறது என்று ஒரு சுட்டிக்காட்டி மூலம் ஆகிறது என்று அடுத்த முனை எங்கே முகவரி. அதனால் இதன் விளைவாக, ஒரே வழி ஒரு இணைக்கப்பட்ட பட்டியலில் மூலம் தேடல் நேர்கோட்டு தேடல் இருக்கிறது. நான் சரியாக தெரியும் இல்லை, ஏனெனில் இணைக்கப்பட்ட பட்டியலில் 12 வது மதிப்பு ஆகும், நான் முழுமையாக பயணிக்க வேண்டும் என்று இணைக்கப்பட்ட பட்டியலில் ஒரு முதல் முனை தலையில் இருந்து ஒருவர், இரண்டாவது முனை, மூன்றாவது முனை, நான் இறுதியாக கிடைக்கும் வரை அனைத்து வழி கீழே நான் தேடிக்கொண்டிருக்கிறேன் என்று முனை எங்கே. எனவே இந்த அர்த்தத்தில், தேடல் ஒரு இணைக்கப்பட்ட பட்டியலில் எப்போதும் N உள்ளது. அது எப்போதும் n தான். அது நேரியல் நேரம் எப்போதும். அதனால் குறியீடு இதில் நாம் இந்த செயல்படுத்த, மற்றும் இந்த நீங்கள் முதல் உங்களுக்கு ஒரு பிட் புதிய ஆகிறது பாடல் உண்மையில் பற்றி அல்லது எப்போதும் பேசவே இல்லை எப்படி காணப்படுகிறது சுட்டிகள் சுட்டிகள் மூலம் தேட, எனவே நாம் வழியாக செல்வேன் இந்த மிக, மிக மெதுவாக. எனவே bool தேடல், வலது, நாம் விரும்பும் கற்பனை செய்வோம் என்று ஒரு செயல்பாடு உருவாக்க உண்மை கொடுக்கிறது என்று தேடல் நீங்கள் இணைக்கப்பட்ட ஒரு மதிப்பு உள்ளே காணப்படவில்லை என்றால், பட்டியலிட, மற்றும் அது இல்லையெனில் தவறான கொடுக்கிறது. முனை நட்சத்திரம் பட்டியல் தற்போது தான் சுட்டிக்காட்டி உங்கள் இணைக்கப்பட்ட பட்டியலில் முதல் உருப்படியை. எண்ணாக n நீ அந்த மதிப்பு அந்த பட்டியலில் தேடி. எனவே முனை நட்சத்திரம் சுட்டிக்காட்டி பட்டியலில் சமமாக வேண்டும். என்று நாம் அமைக்க இருக்கும் பொருள் மற்றும் ஒரு சுட்டிக்காட்டி உருவாக்கி பட்டியல் உள்ளே என்று முதல் முனை. என்னை எல்லோரும்? நாம் செல்ல இருந்தது என்றால், மீண்டும் இங்கே, நான் வேண்டும் சுட்டி காட்டும் ஒரு சுட்டிக்காட்டி துவக்கப்படும் தலையில் என்ன அந்த பட்டியலில் இல்லை. பின்னர் நீங்கள் இங்கே இறங்கி முறை சுட்டிக்காட்டி சமமாக பூஜ்ய இல்லை போது, அதனால் நாம் இதில் சுழற்சியில் உள்ளது பயணித்து பின்னர் இருக்க போகிறது என்ன காரணம், நம் பட்டியலில் மீதமுள்ள சுட்டிக்காட்டி பூஜ்ய சமம் போது என்ன நடக்கிறது? நாம் உன்னுடைய என்று எனக்கு தெரியும் பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] ANDI பெங்: சரியாக, நாம், என்று எனக்கு தெரியும் நாம் சரியான பட்டியலை இறுதி அடைந்துவிட்டீர்கள்? நீங்கள் இங்கே திரும்பி சென்று இருந்தால், ஒவ்வொரு முனை மற்றொரு முனை சுட்டி அதனால் மற்றும் முன்னும் பின்னுமாக நீங்கள் இறுதியில் வெற்றி வரை உங்கள் இணைக்கப்பட்ட பட்டியலில் வால், இது ஒரு சுட்டிக்காட்டி உள்ளது என்று தான் எந்த விட எங்கும் மற்ற சுட்டி இல்லை. அதனால் நீங்கள் அடிப்படையில் என்று எனக்கு தெரியும் உங்கள் பட்டியலில் இன்னும் அங்கு உள்ளது சுட்டிக்காட்டி சமமாக இல்லை வரை பூஜ்ய அது வெற்று சமம் முறை ஏனெனில், நீங்கள் எந்த இன்னும் பொருள் இருக்கிறது என்று எனக்கு தெரியும். அதனால் நாம் தான் இது லூப் ஆகிறது உண்மையான தேடல் வேண்டும் போகிறீர்கள். மேலும் சுட்டிக்காட்டி நீங்கள் பார்க்க செய்கின்றன என்றால் அங்கு அம்பு செயல்பாடு என்று வகையான? எனவே சுட்டிக்காட்டி புள்ளிகள் என்றால் N, என்றால் சமமாக N சமம், n நேரத்தில் சுட்டிக்காட்டி, அதனால் என்று அர்த்தம் என்று நீ அந்த சுட்டிக்காட்டி ஒவ்வொரு இறுதியில் தேடி முனை மதிப்பு உண்மையில் சமமாக உள்ளது அப்புறம், நீங்கள் தேடும் நீங்கள் உண்மையான திரும்ப வேண்டும். எனவே அடிப்படையில், நீங்கள் ஒரு முனை என்றால் அந்த , நீங்கள் தேடும் அந்த மதிப்பு உள்ளது நீங்கள் தான் என்று தெரிகிறீர்கள் வெற்றிகரமாக தேட முடியும். இல்லையெனில், நீங்கள் அமைக்க வேண்டும் அடுத்த முனை உங்கள் சுட்டிக்காட்டி. என்று அந்த வரிசையில் இங்கே என்ன ஆகும். சுட்டிக்காட்டி அடுத்த சுட்டிக்காட்டி சமம். என்று வேலை எப்படி எல்லாரும் பார்க்கலாம்? அடிப்படையில் நீங்கள் போகிறாய் பட்டியலில் முழுமையாக தொடரவேண்டும் உங்கள் சுட்டிக்காட்டி ஒவ்வொரு முறை வரை மீட்டமைக்க நீங்கள் இறுதியில் பட்டியலில் இறுதியில் வெற்றி. நீங்கள் எந்த உள்ளன என்று தெரியும் மேலும் முனைகளில், மூலம் தேட பின்னர் நீங்கள் தவறான திரும்ப முடியும் உங்களுக்கு தெரியும், ஏனெனில் அது நன்றாகவே, ஓ, நான் தேட முடிந்தது என்றால் பட்டியலில் முழுமையாக மூலம். இந்த உதாரணம் என்றால், நான் விரும்பினால் 10 மதிப்பு பார்க்க, நான் தலையில் மணிக்கு தொடங்கும், மற்றும் நான் அனைத்து வழி கீழே தேட நான் இறுதியில், இந்த கிடைத்தது இது புள்ளிகள் பூஜ்ய வேண்டும் ஒரு சுட்டிக்காட்டி, நான் இல்லை, தனம், நான் 10 நினைக்கிறேன் என்று எனக்கு தெரியும் இந்த பட்டியலில் நான் அதை கண்டுபிடிக்க முடியவில்லை. நான் பட்டியலில் முடிவில் இருக்கிறேன். மேலும் இதில் உங்களுக்கு தெரியும் நான் தவறான திரும்ப போகிறேன். என்று கொஞ்சம் உள்ள ஊற விடுங்கள். இந்த அழகான இருக்கும் உங்கள் pset முக்கியம். அது தர்க்கம் ஒருவேளை மிகவும் எளிது, எனும் சொல் தான் அதை செயல்படுத்தும். நீங்கள் செய்ய வேண்டும் நீங்கள் புரிந்து கொள்ள வேண்டும் என்று உறுதி. கூல். சரி, நாம் எப்படி இருக்க வேண்டும் வலது, முனைகளில் சேர்க்கைக்கு, ஒரு பட்டியலில் ஏனெனில் நினைவில் என்ன நன்மைகள் என்ன ஒரு இணைக்கப்பட்ட பட்டியலில் எதிராக கொண்ட சேமிப்பு வகையில் ஒரு வரிசை? பார்வையாளர்கள்: இது டைனமிக், அதனால் அது எளிதாக to-- ANDI பெங்: சரியாக, அது, மாறும், இது அதை விரிவுபடுத்த மற்றும் சுருக்க முடியும் என்று அர்த்தம் பயனர் தேவைகளை பொறுத்து. எனவே, இந்த அர்த்தத்தில், நாம் தேவையில்லை தேவையற்ற நினைவக வீணடிக்க நான் நான் எனக்கு எப்படி பல மதிப்புகள் தெரியாது என்றால் கடைக்கு, அது எனக்கு பயன் இல்லை ஒரு வரிசை ஏனெனில் உருவாக்க நான் 10 மதிப்புகள் சேமிக்க வேண்டும் என்றால் மற்றும் நான் 1000 ஒரு வரிசை, என்று உருவாக்க வீணாகி நினைவு நிறைய, ஒதுக்கப்பட்ட. நாம் ஒரு இணைக்கப்பட்ட பயன்படுத்த வேண்டும், அதனால் தான் பட்டியலில் மாறும் முடியும் மாற்ற அல்லது எங்கள் அளவு சுருக்க. அதனால் அந்த செருகும் செய்கிறது ஒரு பிட் மேலும் சிக்கலானது. நாம் தோராயமாக கூறுகளை அணுக முடியாது என்பதால் நாம், ஒரு வரிசை என்று வழி. நான் ஒரு உறுப்பு நுழைக்க வேண்டும் என்றால் ஏழாம் குறியீட்டு ஒரு, நான் அதை நுழைக்க முடியாது ஏழாம் குறியீட்டு ஒரு. ஒரு இணைக்கப்பட்ட பட்டியலில், அது இல்லை மிகவும் எளிதாக வேலை, மற்றும் நாம் செருக வேண்டும் என்றால் இணைக்கப்பட்ட பட்டியலில் இங்கே ஒரு, பார்வை, அதை பார்க்க மிகவும் எளிது. நாம் தான், அங்கேயே அதை சேர்க்க வேண்டும் வலது பட்டியலில் ஆரம்பத்தில், வலது தலையில் பிறகு. ஆனால் நாம் எந்த வழியில் ஒதுக்கலாம் செய்ய சுட்டிகள் ஒரு பிட் மடிப்புகளை அல்லது, தர்க்கரீதியாக, அது அர்த்தமுள்ளதாக ஆனால் நீங்கள் அதை என்பதை உறுதி செய்ய வேண்டும் முற்றிலும் ஏனெனில் நீங்கள் கடைசியாக ஒன்று ஒரு சுட்டிக்காட்டி ஒதுக்கலாம் வேண்டும் நாம் இங்கே செய்கிறீர்கள் என்று வழி. நீங்கள், dereference 1 தலையில் இருந்து சுட்டிக்காட்டி, பின்னர் திடீரென தி அனைத்து உங்கள் இணைக்கப்பட்ட பட்டியலில் மீதமுள்ள நீங்கள் உண்மையில் வேண்டும், ஏனெனில் இழந்தது ஒரு தற்காலிக எதையும் உருவாக்கப்பட்ட. அந்த 2 சுட்டிக்காட்டினார். நீங்கள் பின்னர் சுட்டிக்காட்டி, ஒதுக்கலாம் என்றால் உங்கள் பட்டியலில் மீதமுள்ள முற்றிலும் இழந்தது. எனவே நீங்கள் இருக்க வேண்டும் இங்கே மிக, மிக கவனமாக முதல் ஒதுக்க நீங்கள் என்ன இருந்து சுட்டிக்காட்டி எங்கு செருக வேண்டும் நீங்கள் விரும்பும், பின்னர் நீங்கள் உங்கள் பட்டியலில் மீதமுள்ள, dereference முடியும். எனவே இந்த எங்கு பொருந்தும் நீங்கள் ஒரு நுழைக்க முயற்சி. நீங்கள் நுழைக்க வேண்டும் என்றால் தலை, நீங்கள் இங்கே பதில் வேண்டும் என்றால், நீங்கள் நுழைக்க வேண்டும் இறுதியில், நன்றாக, இறுதியில் நான் யூகிக்க நீங்கள் என்று எந்த சுட்டிக்காட்டி வேண்டும், ஆனால் நீங்கள் நீங்கள் இல்லை என்பதை உறுதி செய்ய வேண்டும் உங்கள் பட்டியலில் முழுவதும் இழக்க. நீங்கள் எப்போதும் உறுதி செய்ய வேண்டும் உங்கள் புதிய கணு சுட்டி என்ன நோக்கி நீங்கள் செருக வேண்டும், பின்னர் நீங்கள் பிணைப்பு சேர்க்க முடியும். அனைவரும் தெளிவாக? இந்த போகிறது உண்மையான பிரச்சினைகளில் ஒன்று. மிகவும் முக்கிய பிரச்சினைகளில் ஒன்று நீங்கள் உங்கள் pset மீது போகிறது நீங்கள் உருவாக்க முயற்சி செய்ய போகிறோம் என்று ஒரு இணைக்கப்பட்ட பட்டியலில் சேர்த்த விஷயங்கள் ஆனால் பின்னர் தான் இழக்க உங்கள் இணைக்கப்பட்ட பட்டியலில் மீதமுள்ள. உன்னைப் போன்ற இருக்க போகிறோம், நான் இந்த நடக்கிறது ஏன் என்று தெரியவில்லை? அது வழியாக செல்ல ஒரு வலி தான் உங்கள் சுட்டிகள் அனைத்து தேட. நான் இந்த pset மீது நீங்கள் உத்தரவாதம், இந்த முனைகள் வெளியே எழுதுதல், படம் வரைதல் மிக, மிக பயனுள்ளதாக இருக்கும். அதனால் நீ முற்றிலும் கண்காணிக்க முடியும் உங்கள் சுட்டிகள் எங்கே, என்ன, தவறு நடக்கிறது உங்கள் முனைகளில் எங்கே, நீங்கள் அணுக என்ன செய்ய வேண்டும் அல்லது நுழைக்க அல்லது நீக்கவோ அல்லது அவர்கள் எந்த. அந்த நல்ல எல்லோரும்? கூல். நாங்கள் குறியீடு பார்க்க வேண்டும் என்றால்? ஓ, எனக்கு தெரியாது என்றால் நாம் எனவே, the-- சரி பார்க்க முடியும் மேல் அது அனைத்து ஒரு செயல்பாடு ஆகும் நாங்கள் வேண்டும், அங்கு என்ற சேர்க்கைக்கு இணைக்கப்பட்ட பட்டியலில் எண்ணாக n நுழைக்க. நாம் இந்த வழியாக நடக்க போகிறது. அது குறியீடு நிறைய, புதிய இலக்கணத்தை நிறைய இருக்கிறது. நாம் சரி இருக்க வேண்டும். மேல், எப்போது வரை எனவே நாம் எதையும் உருவாக்க வேண்டும் நாம் என்ன செய்ய வேண்டும், குறிப்பாக நீங்கள் என்றால் அது, ஸ்டாக் சேமிக்கப்படும் ஆனால் குவியல்? நாம் சரியான, ஒரு malloc செல்ல? எனவே நாம் ஒரு சுட்டிக்காட்டி உருவாக்க நடக்கிறது. கணு, சுட்டிக்காட்டி, புதிய சம அந்தஸ்தில் ஒரு முனை அளவு malloc நாங்கள் வேண்டும், ஏனெனில் அந்த முனை உருவாக்க வேண்டும். நாம் அளவு வேண்டும் ஒரு முனை எடுத்து நினைவக ஒதுக்கப்பட்ட வேண்டும் புதிய கணு உருவாக்கம். பின்னர் நாம் செய்ய பார்க்க போகிறோம் புதிய சம அந்தஸ்தில் பூஜ்ய சமம் என்றால் பார்க்க. நாங்கள் சொன்னதை நினைவில்? Malloc என்ன நீங்கள், நீங்கள் எப்போதும் என்ன செய்ய வேண்டும்? நீங்கள் எப்போதும் பார்க்கவும் அல்லது இல்லையா என்று பூஜ்ய உள்ளது. உதாரணமாக, உங்கள் இயக்க அமைப்பு, முற்றிலும் முழு இருந்தது நீங்கள் எந்தவித இன்னும் நினைவகம் இருந்தால் அனைத்து நீங்கள் malloc முயற்சி, அதை நீங்கள் பூஜ்ய திரும்ப வேண்டும். அதனால் நீங்கள் அதை பயன்படுத்த முயற்சி என்றால் அது வெற்று சுட்டி போது, நீங்கள் முடியும் போவதில்லை அந்த தகவலை அணுக வேண்டும். அதனால் போன்ற, நாம் செய்ய வேண்டும் எப்போது நீங்கள் mallocing வருகிறோம் என்று உறுதி, நீங்கள் எப்போதும் தான் என்பதை சோதனை நீங்கள் கொடுத்த அந்த நினைவு பூஜ்ய உள்ளது. அது இல்லை என்றால், நாம் செல்ல முடியும் எங்கள் குறியீடு மற்ற மீது. எனவே நாம் என்ன செய்ய போகிறோம் புதிய கணு துவக்க. நாம் புதிய லோக் n சமம் செய்ய போகிறோம். பின்னர் நாம் என்ன செய்ய போகிறோம் புதிய புதிய சுட்டிக்காட்டி அமைக்க பூஜ்ய இப்போது நாம் செய்ய ஏனெனில் அதை சுட்டி எதுவும் வேண்டும். நாங்கள் யோசனை அங்கு இல்லை அதை நீங்கள் வைத்து நடக்கிறது நாம் என்ன செய்ய வேண்டும் என்றால் தலை அதை நுழைக்க, பின்னர் நாம் reassign முடியாது தலையில் சுட்டிக்காட்டி. அனைவருக்கும் தர்க்கம் பின்பற்ற அங்கு என்ன நடக்கிறது என்று? நாம் செய்கிறோம் அனைத்து புதிய உருவாக்குவதில் முனை, பூஜ்ய சுட்டிக்காட்டி அமைக்க, பின்னர் reassigning அது தலையில் நாங்கள் என்றால் நாங்கள் தலை அதை நுழைக்க வேண்டும் தெரிகிறது. பின்னர் தலையை போகிறது புதிய கணு நோக்கி சுட்டி. என்று சரி எல்லோரும்? எனவே இது ஒரு இரண்டு படி செயல்முறை தான். நீங்கள் முதலில் ஒதுக்க கிடைத்துவிட்டது என்ன நீங்கள் உருவாக்கும். என்று சுட்டிக்காட்டி அமைக்கவும் நீங்கள் குறிப்பில், பின்னர் முடியும், dereference வகையான முதல் சுட்டிக்காட்டி மற்றும் புதிய கணு நோக்கி அது சுட்டிக்காட்ட. நீங்கள் அதை சேர்க்க வேண்டும் எங்கிருந்தாலும், என்று தர்க்கம் உண்மையான நடத்த போகிறது. அது ஒதுக்க போன்ற வகையான தான் தற்காலிக மாறிகள். நினைவில் வைத்து கொள்ளுங்கள், நீங்கள் கிடைத்துவிட்டது உறுதி செய்ய நீங்கள் என்று நீங்கள் மாற்ற என்றால் பாதையில் இழக்க வேண்டாம். நீங்கள் ஒரு வேண்டும் என்பதை உறுதி செய்ய வேண்டும் வகையான வைத்திருக்கிறது அந்த தற்காலிக மாறி அங்கு அந்த விஷயம் பாதையில் என்று சேமிக்கப்படுகிறது நீங்கள் நிச்சயமாக எந்த மதிப்பையும் இழக்க வேண்டாம் அது சுற்றி குளறுபடி போன்ற. சரி, அதனால் குறியீடு இங்கே இருக்கும். நீங்கள் பிரிவில் பின்னர் பாருங்கள். அது இருக்கும். எனவே நான் எவ்வாறு யூகிக்கிறேன் நாம் விரும்பினால் இந்த வேறுபடுகின்றன இடை அல்லது இறுதியிலிருந்து செருக? யாரும் என்ன ஒரு யோசனை உள்ளதா தருக்க குறிப்பு சூடோகுறியீடு நாம் விரும்பினால் நாம் எடுக்கும் என்று நடுத்தர அதை நுழைக்க? எனவே நாம் அதை நுழைக்க வேண்டும் தலை, நாம் செய்ய அனைத்து ஒரு புதிய கணு உருவாக்க உள்ளது. நாம், அந்த சுட்டிக்காட்டி அமைக்க என்ன தலை புதிய முனை மற்றும் நாம் தலை அமைக்க புதிய கணு, சரியான? நாங்கள் நடுத்தர அது சேர்க்க விரும்பினால், பட்டியலில், நாம் என்ன செய்ய வேண்டும்? பார்வையாளர்கள்: அது இன்னும் என்று இதே போன்ற செயல்முறை இருக்கும் சுட்டிக்காட்டி ஒதுக்க போன்ற பின்னர், அந்த சுட்டிக்காட்டி ஒதுக்க ஆனால் நாங்கள் அங்கு கண்டுபிடிக்க வேண்டும். ANDI பெங்: சரியாக, சரியாக நீங்கள் தவிர அதே செயல்முறை எங்கு கண்டுபிடிக்கனும்.அவ நீங்கள் புதிய சுட்டிக்காட்டி கொண்டு செல்ல வேண்டும், நான் செருக வேண்டும் என்றால் சரி பட்டியலில் இணைக்கப்பட்ட மத்தியில், தான் நமது இணைக்கப்பட்ட பட்டியலில் சொல்கிறேன். நாம் இங்கே அதை நுழைக்க வேண்டும் என்றால், நாங்கள் ஒரு புதிய கணு உருவாக்க போகிறோம். நாம், malloc போகிறோம். நாம் ஒரு புதிய கணு உருவாக்க போகிறோம். நாம் ஒதுக்க வேண்டும் இங்கு இந்த முனை சுட்டிக்காட்டி. ஆனால் பிரச்சனை என்று வேறுபடுகிறது தலைவர் எங்கே இருந்து நாம் சரியாக தெரியும் என்று ஆகிறது அங்கு தலைவர். அது சரி, முதலில் சரியா? ஆனால் இங்கே நாம் கண்காணிக்க கிடைத்துவிட்டது அங்கு நாம் அதை சேர்க்கைக்கு. நாங்கள் சேர்க்கைக்கு என்றால், எங்கள் இங்கே முனை கிடைத்துவிட்டது, நாம், உறுதி செய்ய என்று இந்த முனை முந்தைய ஒரு சுட்டிக்காட்டி reassigns என்று ஒன்று உள்ளது. எனவே நீங்கள் வகையான வேண்டும் இரண்டு விஷயங்களை கண்காணிக்க. நீங்கள் எங்கே இந்த கண்காணிக்க என்றால், முனை தற்போது செருகுவது. நீங்கள் எங்கே கண்காணிப்பதற்கான வேண்டும் நீங்கள் தேடும் என்று முந்தைய முனை அங்கு வந்திருந்தார். அந்த நல்ல எல்லோரும்? சரி. எப்படி இறுதியில் ஒரு சேர்க்கைக்கு பற்றி? நான் விரும்பினால் நான் இங்கே அதை சேர்க்க விரும்பினால், ஒரு பட்டியலை இறுதி செய்ய ஒரு புதிய கணு சேர்க்க, நான் எப்படி என்று செய்து பற்றி போகலாம்? பார்வையாளர்கள்: எனவே தற்போது, கடந்த ஒரு பூஜ்ய சுட்டிக்காட்டினார். ANDI பெங்: ஆமாம். சரியாக, அதனால் இந்த ஒரு தற்போது தெரிய சுட்டிக்காட்டினார், அதனால் நான் இந்த அர்த்தத்தில், அது தான், யூகிக்கிறேன் ஒரு பட்டியலை இறுதி செய்ய சேர்க்க மிகவும் எளிது. நீங்கள் செய்ய வேண்டியது எல்லாம் அதை அமைக்க பூஜ்ய பின்னர் செழிக்கச் சமமாக. அங்கே, மிகவும் எளிதானது. மிகவும் எளிமையான. மிகவும் ஒத்த நீங்கள் தலை, ஆனால் தர்க்கரீதியாக படிகள் என்று உறுதி செய்ய வேண்டும் நீங்கள், இந்த எந்த செய்து நோக்கி எடுக்கிறீர்கள் நீங்கள் சேர்த்து தொடர்ந்து. அது மத்தியில், மிக எளிது உங்கள் குறியீடு, மற்றவர்கள் அலசும் ஓ, நான் பல சுட்டிகள் கிடைத்துவிட்டது. நான் எங்கே தெரியாது எதையும் சுட்டி. நான் கூட நான் இருக்கிறேன் இது முனை தெரியாது. என்ன நடக்கிறது? ஒரு ஆழ்ந்த மூச்சு எடுத்து, அமைதியாக இருங்கள், ரிலாக்ஸ். உங்கள் இணைக்கப்பட்ட பட்டியலில் வரைந்து. நீங்கள் சொன்னால், நான் எங்கு தெரிகிறேன் நான் இந்த நுழைக்க வேண்டும் நான் என் ஒதுக்கலாம் சரியாக எப்படி தெரியும் சுட்டிகள், மிகவும் எளிதாக, படம் out-- மிகவும் எளிதாக, இல்லை உங்கள் குறியீடு பிழைகள் தொலையும். என்று சரி எல்லோரும்? சரி. எனவே நான் நாங்கள் இல்லை என்று ஒரு கருத்து யூகிக்கிறேன் உண்மையில் நீங்கள் இப்போது முன் பேசினார் நான் ஒருவேளை நீங்கள் யூகிக்க மிகவும் yet-- சந்திக்க மாட்டேன் அது ஒரு மேம்பட்ட concept-- வகையான தான் நாம் உண்மையில் ஒரு தரவு வேண்டும் என்று ஆகிறது அமைப்பு ஒரு இரட்டை இணைக்கப்பட்ட பட்டியலில் என்று. நீங்கள் பார்க்க முடியும் என, நாங்கள் செய்கிறோம் அனைத்து உருவாக்குவதில் ஆகிறது ஒரு உண்மையான மதிப்பு, ஒரு கூடுதல் எங்கள் முனைகளில் ஒவ்வொரு சுட்டிக்காட்டி என்று முந்தைய முனை சுட்டி காட்டும். எனவே மட்டும் நாங்கள் எங்கள் வேண்டும் முனைகளில் அடுத்த ஒரு சுட்டி. அவர்கள் முந்தைய ஒரு சுட்டி. நான் இப்போது இந்த இரண்டு புறக்கணிக்க போகிறேன். எனவே நீங்கள் ஒரு சங்கிலி வேண்டும் என்று இரண்டு வழிகளில் செல்ல முடியும், பின்னர் அதை ஒரு பிட் எளிதாக தர்க்கரீதியாக சேர்த்து பின்பற்ற. இங்கே, பதிலாக ஓ, கண்காணிப்பதற்கு, நான் இந்த முனை என்று தெரிந்து கொள்ள வேண்டும் நான் ஒதுக்கலாம் வேண்டும் என்று ஒரு, நான் இங்கே செல்ல முடியும் வெறும் முந்தைய இழுக்க. அப்பொழுது நான் சரியாக தெரியும் என்று, பின்னர் நீங்கள் பயணிக்க வேண்டும் இணைக்கப்பட்ட பட்டியலில் முழுமையாக. அது ஒரு பிட் எளிதாக இருக்கிறது. ஆனால் போன்ற, நீங்கள் இரட்டை வேண்டும் சுட்டிகள் அளவு, அந்த நினைவகம் இரட்டை அளவு தான். அதை கண்காணிக்க சுட்டிகள் நிறைய இருக்கிறது. அது ஒரு பிட் மிகவும் சிக்கலான, ஆனால் அது தான் பயனர் நட்பு பொறுத்து ஒரு பிட் மேலும் நீங்கள் நிறைவேற்ற முயற்சிக்கும் என்ன. எனவே இந்த வகை தரவு அமைப்பு முற்றிலும் உள்ளது மற்றும் அமைப்பு மிக, மிக ஆகிறது நீங்கள் வைக்கிறார்களா அனைத்து தவிர எளிய, அதற்கு பதிலாக அடுத்த ஒரு சுட்டிக்காட்டி இன், நீங்கள் முந்தைய ஒரு சுட்டிக்காட்டி வேண்டும். என்று அனைத்து வித்தியாசம் தான். அந்த நல்ல எல்லோரும்? கூல். சரி, அதனால் இப்போது நான் இருக்கிறேன் உண்மையில் ஒருவேளை செலவழிக்க 15 முதல் 20 நிமிடங்கள் அல்லது மொத்தமாக போன்ற பிரிவில் அக்காலத்தின் ஓய்வு புல அட்டவணைகள் பற்றி. எப்படி நீங்கள் எப்படி பல pset5 ஸ்பெக் படிக்க வேண்டும்? சரி, நல்ல. பொதுவாக 50% விட அதிகமாக இருக்கிறது. அது சரி தான். நீங்கள் பார்ப்பீர்கள் என, நீங்கள் pset5 உள்ள சவால் இருக்கிறீர்கள் ஒரு அகராதி செயல்படுத்த இருக்கும் நீங்கள் 140,000 வார்த்தைகள் மீது ஏற்ற அங்கு நாங்களும் பிழைதிருத்தும் நீங்கள் கொடுக்கும் உரை அனைத்து எதிராக அது. நாம் நீங்கள் சீரற்ற கொடுக்க வேண்டும் இலக்கிய துண்டுகள். நாங்கள் உங்களுக்கு ஒடிஸி கொடுக்க வேண்டும். நாங்கள் உங்களுக்கு இலியட் கொடுக்க வேண்டும். நாங்கள் உங்களுக்கு ஆஸ்டின் பவர்ஸ் கொடுக்க வேண்டும். மற்றும் உங்கள் சவால் எழுத்துப்பிழை இருக்கும் அனைத்து ஒவ்வொரு ஒற்றை வார்த்தை அந்த அகராதிகள் அடிப்படையில் எமது எழுத்துப்பிழை சரிபார்ப்பு கொண்டு. அதனால் ஒரு சில பகுதிகளில் இருக்கிறது இந்த pset உருவாக்கும், முதல் நீங்கள் இருக்க வேண்டும் உண்மையில் ஏற்ற முடியும் அனைத்து வார்த்தைகள் உங்கள் அகராதி, பின்னர் நீங்கள் முடியும் வேண்டும் அவர்களுக்கு அனைத்து சரிபார்க்க கூற. அதனால் போன்ற, நீங்கள் வேண்டும் போகிறாய் இந்த வேகமாக செய்ய முடியும் என்று ஒரு தரவு கட்டமைப்பு திறமையாகவும் மற்றும் மாறும். எனவே நான் எளிதான நினைக்கிறேன் இதை செய்ய வழி, நீங்கள் ஒருவேளை சரியான, ஒரு வரிசை உருவாக்க வேண்டும்? சேமிப்பு எளிதான வழி நீங்கள் ஆகிறது 140,000 வார்த்தைகளின் வரிசை உருவாக்க முடியும் மற்றும் அங்கு அவர்களுக்கு அனைத்து வைக்க பின்னர், பைனரி தேடல் மூலம் பயணிப்பதற்கு அவர்களை அல்லது தேர்வு அல்லது not-- மன்னிக்கவும் என்று வரிசைப்படுத்த. நீங்கள் அவர்களை வரிசைப்படுத்த பின்னர் அவர்கள் பயணிக்க முடியும் இரும தேடல் அல்லது வெறும் நேரியல் தேடல் மூலம் மற்றும் இறுதி வார்த்தைகள், ஆனால் அந்த , நினைவகம் ஒரு பெரிய அளவு எடுக்கிறது மற்றும் மிகவும் திறமையான தான். அதனால் நாம் தொடங்க போகிறோம் செய்யும் வழிகள் பற்றி பேசி எங்கள் இயங்கும் நேரம் திறமையான. நமது இலக்கு பெற உள்ளது நிலையான நேரம் அங்கு அது கிட்டத்தட்ட வரிசைகள், அங்கு போல் நீங்கள் உடனடியாக அணுக வேண்டும். நான் எதையும் தேட வேண்டும் என்றால், நான், நான் முடியும் வேண்டும் ஏற்றம், அதை சரியாக கண்டுபிடிக்க, மற்றும் அதை வெளியே இழுக்க. அதனால் ஒரு அமைப்பு இதில் நாம் மிகவும் நெருக்கமாக வருகிறது நிலையான அணுக முடியும் நேரம், இந்த புனித புத்தகமாகும் நிலையான நிரலாக்க நேரம் ஒரு ஹாஷ் அட்டவணை என்று. அதனால் டேவிட், முன்னர் குறிப்பிட்ட [செவிக்கு புலப்படாமல்] விரிவுரை சிறிது, ஆனால் நாம் உண்மையில் போகிறோம் ஆழமான இந்த வாரம் முழுக்கு தொடர்பான என்று ஒரு துண்டு எப்படி ஒரு ஹாஷ் அட்டவணை வேலை. அந்த வழியில் எனவே ஒரு ஹாஷ் அட்டவணை படைப்புகள், எடுத்துக்காட்டாக, நான் வார்த்தைகள் ஒரு கொத்து சேமிக்க வேண்டும் என்றால், ஒரு ஆங்கில மொழி வார்த்தைகள் கொத்து, நான் கோட்பாட்டளவில் வைக்க முடியும் வாழை, ஆப்பிள், கிவி, மாம்பழம், ஜோடி, மற்றும் அனைத்து ஒரு வரிசை மீது பரங்கி. அவர்கள் அனைத்து பொருந்தும் மற்றும் கண்டுபிடிக்க வேண்டும். அது ஒரு வலி வகையான இருக்க விரும்புகிறேன் மற்றும் அணுகல் மூலம் தேட, ஆனால் இதை எளிதாக வழி நாம் ஒரு கட்டமைப்பு உண்மையில் உருவாக்க முடியும் என்று நாங்கள் புல அங்கு ஒரு ஹாஷ் அட்டவணை என்று. நாம் மூலம் நமது விசைகள் அனைத்து இயக்க ஒரு ஹாஷ் சார்பு, ஒரு சமன்பாடு, என்று அவற்றை அனைத்து மாறிவிடகிறது ஒரு மதிப்பு சில வகையான பின்னர் நாம் மீது சேமிக்க முடியும் என்று இணைக்கப்பட்ட பட்டியலில் அடிப்படையில் ஒரு வரிசை. எனவே இங்கு நாம், வேண்டும் என்றால் ஆங்கிலம் வார்த்தைகள் சேமிக்க, நாம் சாத்தியமான தான் முடியும், நான் இல்லை , எனக்கு எல்லா முதல் கடிதங்கள் திரும்ப பல ஒருவித. அதனால், எடுத்துக்காட்டாக, நான் விரும்பினேன் ஒரு apple-- உடன் ஒத்ததாக இருக்க வேண்டும் அல்லது 0 குறியீட்டு, மற்றும் பி, 1 உடன் ஒத்ததாக இருக்க வேண்டும் நாங்கள் 26 உள்ளீடுகளை இருக்க முடியும் என்று தான் சேமிக்க முடியும் கடிதங்களை அனைத்து நாம் தொடங்க வேண்டும் என்று எழுத்துக்கள். பின்னர் நாம் இருக்க முடியும் 0 குறியீட்டு ஆப்பிள். நாம் குறியீட்டு வாழை இருக்க முடியும் 1, 2, குறியீட்டு பரங்கி, அதனால் மற்றும் முன்னும் பின்னுமாக. மேலும், இதனால் நான் தேட வேண்டும் என்றால் என் ஹாஷ் அட்டவணை மற்றும் அணுகல் ஆப்பிள், நான் ஆப்பிள் தொடங்குகிறது தெரிகிறேன் ஒரு ஒரு, நான், சரியாக தெரிகிறேன் அது இருக்க மற்றும் புல வேண்டும் என்று குறியீட்டு 0 ஏனெனில் அட்டவணை செயல்பாடு முன்னர் அளிக்கப்பட்ட எண். எனக்கு தெரியாது எனவே, நாம் இருக்கிறோம் ஒரு பயனர் நிரல் எங்கே நீங்கள் குற்றம் தன்னிச்சையாக இல்லை arbitrarily--, சிந்தனையுடன் முயற்சி நல்ல சமன்பாடுகள் யோசிக்கிறது பரவ முடியும் உங்கள் மதிப்புகள் ஆல் அவுட் ஒரு வழியில் அவர்கள் எளிதாக அணுக முடியும் அது பின்னர் ஒரு சமன்பாடு போன்ற நீங்கள், உங்களை, தெரியும். நான் போக வேண்டும் என்றால் அர்த்தத்தில் அப்படி மாம்பழம், நான், ஓ, அது மீ தொடங்குகிறது, தெரிகிறேன். இது 12 குறியீட்டு இருக்க வேண்டும். நான் எதையும் மூலம் தேட வேண்டும். நான் செல்ல முடியும் சரியாக நான் தெரிகிறேன் 12 குறியீட்டு என்று வெளியே இழுக்க. எப்படி ஒரு அனைவரும் தெளிவாக ஹாஷ் அட்டவணை செயல்பாடு வேலை? இது ஒரு மிகவும் சிக்கலான வரிசை வகையான தான். அது அனைத்து இருக்கிறது. சரி. அதனால் நாம் ஒரு ரன் யூகிக்கிறேன் இந்த பிரச்சினை என்ன நீங்கள் பல விஷயங்கள் இருக்கிறது என்றால் நடக்கிறது என்று நீங்கள் அதே குறியீட்டு கொடுக்க? எனவே அனைத்து, அது நமது செயல்பாடு சொல்ல அந்த முதல் கடிதத்தை எடுத்து இருந்தது மற்றும் ஒரு அந்த திரும்ப 0 குறியீட்டெண் 25 மூலம் அந்தந்த. அந்த என்றால் நன்றாக இருக்கிறது நீங்கள் மட்டும் ஒவ்வொரு ஒரு வேண்டும். ஆனால் இரண்டாவது நீங்கள் தொடங்க மேலும் கொண்டு, நீங்கள் இருக்கிறீர்கள் ஒரு மோதல் என்று என்ன இருக்கிறது போகிறது. நான் நுழைக்க முயற்சி செய்தால் ஒரு ஹாஷ் ஒரு அடக்கம் எனவே ஏற்கனவே அதை வாழை என்று அட்டவணை, என்ன நடக்க போகிறது போது நீங்கள் நுழைக்க முயற்சி? கெட்ட விஷயங்கள் வாழை ஏற்கனவே குறியீட்டு உள்ள உள்ளது நீங்கள் அதை சேமிக்க வேண்டும் என்று. பெர்ரி வகையான நான் என்ன செய்ய, ஹா, போன்ற? நான் எங்கு செல்ல வேண்டும் என்று எனக்கு தெரியாது. நான் இதை எப்படி தீர்ப்பீர்கள்? எனவே நீங்கள் நினைத்தால் சாப்பிடுவேன் வகையான நாம் இந்த தந்திரமான விஷயம் செய்ய பார்க்க அங்கு நாம் வகையான உண்மையில் முடியும் நம் வரிசைகள் இணைக்கப்பட்ட பட்டியலில் உருவாக்க. அதனால் எளிதான வழி இதை பற்றி யோசிக்க, அனைத்து ஹாஷ் அட்டவணை ஒரு இணைக்கப்பட்ட பட்டியல்கள் வரிசை. எனவே, அந்த சமயங்களில், நீங்கள் வேண்டும் சுட்டிகள் இந்த அழகான வரிசை, பின்னர் ஒவ்வொரு சுட்டிக்காட்டி அந்த மதிப்பு, அந்த குறியீட்டு உள்ள, உண்மையில் மற்ற விஷயங்களை சுட்டிக்காட்ட முடியும். அதனால் நீங்கள் அனைவரும் இந்த தனி வேண்டும் ஒரு பெரிய வரிசை இருந்து வரும் சங்கிலிகள். அதனால் இங்கே, நான் என்றால் பெர்ரி நுழைக்க வேண்டும், நான் சரி, நான் உள்ளீடு போகிறேன், தெரிகிறேன் அது என் ஹாஷ் சார்பு மூலம். நான் குறியீட்டு முடிவடையும் போகிறேன் 1, பின்னர் நான் வேண்டும் முடியும் போகிறேன் இந்த ஒரு சிறிய துணைக்குழு மாபெரும் 140,000 வார்த்தை வரவேற்கிறோம். பின்னர் நான் பார்க்க முடியும் அந்த 1/26 மூலம். அதனால் அதன் பிறகு நான் நுழைக்க முடியாது முன் அல்லது வாழை பின் அல்லது பெர்ரி இந்த வழக்கில்? பிறகு, சரியா? அதனால் நீங்கள் வேண்டும் போகிறோம் வாழை பிறகு இந்த முனை நுழைக்க, அதனால் நீங்கள் நுழைக்க போகிறோம் என்று இணைக்கப்பட்ட பட்டியலில் வால். நான் திரும்பி செல்ல போகிறேன் இந்த முந்தைய ஸ்லைடு, எனவே நீங்கள் நினைத்தால், எப்படி பார்க்க முடியும் ஹாஷ் சார்பு வேலை. எனவே புல விழாவில், இந்த சமன்பாடு நீங்கள் உங்கள் உள்ளீடு வகையான இயங்கும் என்று பெற என்ன குறியீட்டு மூலம் நீங்கள் திசையில் ஒதுக்க வேண்டும். எனவே, இந்த உதாரணம், அனைத்து நாம் விரும்பிய செய்ய, முதல் கடிதம் எடுத்து இருந்தது நாம், ஒரு குறியீட்டு அந்த திரும்ப எங்கள் ஹாஷ் சார்பு என்று சேமிக்க முடியும். நாம் இங்கே செய்கிறீர்கள் அனைத்து நாம் தான் ஆகிறது முதல் கடிதம் மாற்றும். எனவே keykey [0] தான் முதல் கடிதம் என்ன சரம் நாம், வைக்கிறார்களா, நாம் கடந்து செல்லும். நாம் மேல் என்று மாற்றும், மற்றும் நாம் தொடரை ஒரு மூலம் கழிப்பதன் அதனால் செய்யும் அனைத்து எங்களுக்கு ஒரு எண் கொடுத்து இதில் நாம் மதிப்புகள் மீது புல முடியும். பின்னர் நாம் என்ன செய்ய போகிறோம் புல தனிமதிப்பு அளவு திரும்ப. மிக, மிக கவனமாக இருக்க வேண்டும் கோட்பாட்டளவில், இங்கே, ஏனெனில் உங்கள் ஹாஷ் மதிப்பு எல்லையற்ற இருக்க முடியும். இது மற்றும் மற்றும் செல்ல முடியும். அது உண்மையில் சில இருக்க முடியும் உண்மையில் பெரிய மதிப்பு, ஆனால் உங்கள் ஹாஷ் அட்டவணை, ஏனெனில் அந்த நீங்கள் உருவாக்கிய மட்டும் 26 குறியீடுகளும் உள்ளது, நீங்கள் உறுதி செய்ய வேண்டும் உங்கள் modulusing என்று நீங்கள் அதே தான் run-- உங்கள் queue-- போன்ற விஷயம் எனவே நீங்கள் ஆஃப் ஓட வேண்டாம் என்று உங்கள் ஹாஷ் சார்பு கீழே. நீங்கள் அதை சுற்றி திரும்பி மடிக்க வேண்டும் [செவிக்கு புலப்படாமல்] போது அதே வழியில் நீங்கள், ஒரு மிக போல இருந்தது மிக பெரிய கடிதம், நீங்கள் என்று விரும்பவில்லை இறுதியில் ஓடுகின்றனர். இங்கே தான், நீங்கள் உறுதி செய்ய வேண்டும் அதை போர்த்தி இறுதியில் இனிய ரன் இல்லை சுற்றி அட்டவணை மேல். எனவே இந்த ஒரு மிக எளிய ஹாஷ் சார்பு. என்று அனைத்து எடுத்து முதல் இருந்தது என்ன எங்கள் உள்ளீடு கடிதம் இருந்தது மற்றும் ஒரு குறியீட்டு அந்த திரும்ப என்று நாம் நம் ஹாஷ் அட்டவணை ஒரு வைக்க முடியும். ஆமாம், அதனால் நான் முன்னர் கூறியது போல் நாங்கள் மோதல்கள் தீர்க்க அந்த வழியில் எங்கள் ஹாஷ் அட்டவணைகள் கொண்ட, நாங்கள் பிணைப்பு, என்ன அழைக்க. நீங்கள் பல நுழைக்க முயற்சி என்றால் அதே விஷயம் தொடங்கும் என்று வார்த்தைகளை, நீங்கள் ஒரு ஹாஷ் மதிப்பு போகிறது. வெண்ணெய் மற்றும் ஆப்பிள், நீங்கள் கிடைத்தால், எங்கள் ஹாஷ் சார்பு மூலம் இயக்க, நீங்கள் கொடுக்க போகிறோம் அதே எண்ணை, 0 எண்ணிக்கை. அதனால் வழியில் நாம் என்று தீர்க்க நாம் உண்மையில் வகையான அவற்றை இணைக்க முடியும் என்று ஒன்றாக இணைக்கப்பட்ட பட்டியல்கள் வழியாக. எனவே இந்த அர்த்தத்தில், நீங்கள் வகையான பார்க்க முடியும் எப்படி தரவு கட்டமைப்புகள் என்று நாம் முன்னர் அமைக்க ஒரு திராட்சை இணைக்கப்பட்ட பட்டியலில் வகையான போன்ற ஒன்றாக சேர்ந்து வர முடியும். பின்னர் நீங்கள் இதுவரை உருவாக்க முடியும் திறமையான தரவு கட்டமைப்புகள் என்று பெரிய அளவில் கையாள முடியும் தரவு, என்று மாறும் பொறுத்து அளவை உங்கள் தேவைகளை. அனைவரும் தெளிவாக? தெளிவான அனைவரையும் வகையான இங்கே என்ன நடக்கிறது என்பதை? நான் insert-- வேண்டும் என்றால் ஒரு என்ன எனக்கு தெரியாது, என்று தொடங்குகிறது பழங்கள், பெர்ரி தவிர வேறு B, வாழை. பார்வையாளர்கள்: பிளாக்பெர்ரி. ANDI பெங்: பிளாக்பெர்ரி, ப்ளாக்பெர்ரி. எங்கே ப்ளாக்பெர்ரி இங்கே செல்ல வேண்டும்? சரி, நாம் உண்மையில் தீர்க்கில்லை இந்த இன்னும், ஆனால் கோட்பாட்டளவில் நாம் இந்த விரும்பிய அகரவரிசையில் அங்கு செல்ல பிளாக்பெர்ரி வேண்டும்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] ANDI பெங்: சரியாக, இங்கே பிறகு, சரியா? ஆனால் அது மிகவும் கடினம் என்பதால் reorder-- நான் அதை உங்களுக்கு தான் நினைக்கிறேன். நீங்கள் முற்றிலும் முடியும் நீங்கள் என்ன செயல்படுத்த. வழி ஒருவேளை இதை செய்து உங்கள் இணைக்கப்பட்ட வரிசைப்படுத்த இருக்க வேண்டும் அகரவரிசையில் ஒரு பட்டியலிட, அதனால் நீங்கள் இருக்கும் போது விஷயங்களை சேர்க்கைக்கு, நீங்கள் வேண்டும் அவர்கள் நுழைக்க உறுதியாக இருக்க அகரவரிசையில் ஒரு அதனால் நீங்கள் இருக்கும் போது அவர்களை தேட முயற்சி, நீங்கள் எல்லாம் பயணிக்க வேண்டும். நீங்கள் சரியாக தெரியும் அது, இது எளிதாக இருந்தது. ஆனால் நீங்கள் வகையான இருந்தால் விஷயங்களை, தோராயமாக விடுவது நீங்கள் இன்னும் வேண்டும் போகிறோம் அதை எப்படியும் பயணிக்க. அதனால் நான் வேண்டும் என்றால் வெறும் ப்ளாக்பெர்ரி இங்கே பொருத்தி நான் தேட வேண்டும் அது, நான் ஓ, எனக்கு தெரியும், ப்ளாக்பெர்ரி 1, குறியீட்டு தொடங்க, அதனால் நான் வேண்டும் உடனடியாக வெறும் 1 மணிக்கு தேட தெரியும். பின்னர் நான் வகையான முடியும் இணைக்கப்பட்ட பட்டியலில் நடந்தே நான் பிளாக்பெர்ரி பெற வரை, ஆமாம் then--? பார்வையாளர்கள்: நீங்கள் உருவாக்க முயற்சி என்றால் இந்த ஒரு மிக எளிய ஹாஷ் போல நான் நினைக்கிறேன் செயல்பாடு. நாம் செய்ய வேண்டும் என்றால், அது போன்ற பல அடுக்குகளை, சரி, நாம் ஒரு பிரிக்க வேண்டும் அனைத்து அகரவரிசை எழுத்துக்கள் பின்னர் மீண்டும் மற்றொரு தொகுப்பு பிடிக்கும் அந்த நேரத்தில் அகரவரிசை கடிதங்கள், நாம் ஒரு ஹாஷ் போன்ற போடுகிறாய் ஒரு ஹாஷ் அட்டவணை உள்ள அட்டவணை, அல்லது ஒரு செயல்பாடு ஒரு செயல்பாடு போன்ற? அல்லது அப்படி ஆகிறது ANDI பெங்: உங்கள் ஹாஷ் எனவே உங்கள் ஹாஷ் அட்டவணை செயல்பாடு நீங்கள் அதை விரும்பவில்லை என பெரிய இருக்க முடியும். எனவே இந்தப் பொருளில், நான் நினைத்தேன் அது மிக, மிக எளிதாக இருந்தது எனக்கு எளிய வெறும் வகையான சார்ந்த முதல் வார்த்தை கடிதங்கள். அதனால் மட்டும் 26 விருப்பங்கள் இல்லை. நான் மட்டும் இருந்து 26 விருப்பங்கள் பெற முடியும் 25 0 என்பதால் அவர்கள் மட்டுமே முடியும் ஒரு இருந்து இசட் செய்ய தொடங்க ஆனால் நீங்கள் விரும்பினால் ஒருவேளை, இன்னும் சிக்கலான சேர்க்க அல்லது வேகமாக நேரம் இயக்க உங்கள் ஹாஷ் அட்டவணை, நீங்கள் முற்றிலும் விஷயங்கள் அனைத்து வகையான செய்ய முடியும். நீங்கள் உங்கள் சொந்த செய்ய முடியும் நீங்கள் கொடுக்கும் சமன்பாடு இன்னும் விநியோகம் உங்கள் வார்த்தைகள், நீங்கள் தேடும் போது அது வேகமாக இருக்கும் நடக்கிறது. இது முற்றிலும் உங்களுக்கு தான் எப்படி என்று செயல்படுத்த வேண்டும். வெறும் வாளிகள் என நினைக்கிறேன். நான் வேண்டும் என்றால் 26 வாளிகள், நான் போகிறேன் அந்த வாளிகள் விஷயங்களை அடுக்க வேண்டும். ஆனால் நான் ஒரு கொத்து வேண்டும் போகிறேன் ஒவ்வொரு வாளி உள்ள பொருட்களை, நீங்கள் அதை செய்ய வேண்டும் என்றால் வேகமாக மற்றும் திறமையான, எனக்கு ஒரு நூறு வாளிகள் சாப்பிடலாம். ஆனால் நீங்கள் ஒரு கண்டுபிடிக்க வேண்டும் அவர்கள் இருக்கும் என்று வழி விஷயங்கள் தீர்த்துக்கொள்ள முறையான வாளி அவர்கள் இருக்க வேண்டும். ஆனால் பின்னர் போது உண்மையில் நீங்கள் அந்த வாளி பார்க்க வேண்டும், இல்லை, ஏனெனில் அது நிறைய வேகமாக இருக்கிறது ஒவ்வொரு வாளி குறைவான பொருட்களை. அதனால், ஆமாம், அந்த உண்மையில் தான் pset5 உங்களுடன் தந்திரம் நீங்கள் இருக்க வேண்டும் என்று ஆகிறது வெறும் உருவாக்க சவால் மிக திறமையான என்ன ஆகிறது நீங்கள் யோசிக்க முடியும் செயல்பாடு இருக்க வேண்டும் சேமிக்க மற்றும் இந்த மதிப்புகள் சரிபார்க்க முடியும். முற்றிலும் உங்களுக்கு வரை இருப்பினும் நீங்கள் அதை செய்ய வேண்டும், ஆனால் ஒரு நல்ல விஷயம். என்று தர்க்கம் நீங்கள் எந்த மாதிரியான பற்றி நினைத்து தொடங்க வேண்டும் நன்றாக, நான் ஏன் இன்னும் வாளிகள் செய்ய வேண்டாம், உள்ளது. பின்னர் நான் தேட வேண்டும் குறைவான விஷயங்களை, பின்னர் ஒருவேளை நான் வேறு ஹாஷ் சார்பு. சரி, இந்த செய்ய வழிகளில் நிறைய இருக்கிறது ஒத்திகை, சில மற்றவர்களை விட வேகமாக இருக்கும். நான் முற்றிலும் எப்படி பார்க்க போகிறேன் வேகமாக வேகமாக உங்களுக்கு இருந்தது உங்கள் செயல்பாடுகளை வேலை பெற முடியும். சரி, அனைவருக்கும் நல்ல மீது பிணைப்பு மற்றும் புல அட்டவணைகள்? இது ஒரு மிக எளிய போன்ற உண்மையில் தான் நீங்கள் அதை பற்றி கருத்து நினைத்தால். அதை எடுத்து அனைத்து பிரிக்கும் என்ன உங்கள் உள்ளீடுகள் வாளிகள் உள்ளன, அவர்களை வரிசைப்படுத்த, பின்னர் தேடி அங்குள்ள என்று பட்டியலிடுகிறது. கூல். சரி, இப்போது நாம் வேறு ஒரு வகையான வேண்டும் தரவு கட்டமைப்பு ஒரு மரம் என்று அந்த. நாட்டின் மீது செல்லலாம் முயற்சிகளின் பற்றி பேசுகிறேன் இது, முற்றிலும் மாறுபட்ட உள்ளன ஆனால் அதே பிரிவில். அடிப்படையில், அனைத்து ஒரு மரம் பதிலாக ஆகிறது நேரியல் வழியில் தரவு ஏற்பாடு ஒரு ஹாஷ் அட்டவணை நீங்கள் does-- என்று , அது ஒரு சிறந்த மற்றும் ஒரு கீழே கிடைத்தது பின்னர் நீங்கள் வகையான அதை ஒரு ஆஃப் இணைக்கிறீர்கள் மரம், நீங்கள் ரூட் அழைக்க இது ஒரு சிறந்த உள்ளது மற்றும் அது அனைத்து அதை சுற்றி இலைகள் உள்ளன. எனவே அனைத்து நீங்கள் இங்கே இல்லை மேல் முனை என்று மற்ற முனைகளில், புள்ளிகள் என்று சுட்டிக்காட்டுகிறது மேலும் முனைகளில், மற்றும் பல மற்றும் முன்னும் பின்னுமாக. எனவே நீங்கள் தான் பிளக்கும் கிளைகளைக் கொண்டுள்ளன. அது ஏற்பாடு தான் ஒரு வித்தியாசமான வழி தரவு, நாம் அது ஒரு மரம் அழைக்க, ஏனெனில், உங்களுக்கு அது தான் வரம்பு ஒரு மரம் போல் வெளியே மாதிரியாக. நாம் மரங்கள் அழைக்க அதனால் தான். ஹாஷ் அட்டவணை ஒரு அட்டவணை போல் தெரிகிறது. ஒரு மரம், ஒரு மரம் போல் தெரிகிறது. அதை எடுத்து அனைத்து ஒரு தனி ஆகிறது முனைகளில் ஏற்பாடு வழி உங்கள் தேவைகளை என்ன பொறுத்து. எனவே நீங்கள் ஒரு ரூட் வேண்டும் மற்றும் பின்னர் நீங்கள் இலைகள் உள்ளன. வழி என்று நாம் குறிப்பாக முடியாது அது ஒரு பைனரி மரம் பற்றி யோசிக்க, ஒரு பைனரி மரம் ஒரு ஆகிறது ஒரு மரத்தின் குறிப்பிட்ட வகை அங்கு ஒவ்வொரு கணு மட்டும் புள்ளிகள் க்கு, அதிகபட்சம் மணிக்கு, மற்ற இரண்டு முனைகளில். அதனால் இங்கே நீங்கள் வேறுபட்ட வேண்டும் உங்கள் மரம் உள்ள சமச்சீர் அது எளிதாக வகையான பார்க்க செய்கிறது மதிப்புகள் பற்றி நீங்கள் பின்னர் நீங்கள் ஏனெனில் எப்போதும் ஒரு இடது அல்லது உரிமை உள்ளது. இருந்து இடது மூன்றாவது போன்றது தான் இடது அல்லது இடது இருந்து நான்காவது. அதை நீங்கள் ஒரு இடது மற்றும் ஒரு உரிமை தான் மற்றும் நீங்கள் அந்த இரண்டு அல்லது தேடலாம். அதனால் அது ஏன் இந்த பயனுள்ளதாக இருக்கும்? இந்த என்று வழி நீங்கள் தேடும் என்றால் பயனுள்ளதாக இருக்கும் சரி, மதிப்புகள் மூலம் தேட? மாறாக பைனரி செயல்படுத்தி விட ஒரு பிழை வரிசையில், தேடல் நீங்கள் முனைகளில் நுழைக்க முடியும் வேண்டும் என்றால் மற்றும் விருப்பத்திற்கு மேலும் முனைகளில் எடுத்து தேடல் பாதுகாக்க இரும தேடல் கொள்ளளவில். இந்த வழியில், நாங்கள் வகையான இருக்கிறோம் போது நாம் நினைவில் tricking-- தொடர்புடைய பட்டியல்கள் பைனரி தேடல் முடியாது என்றார்? நாம் வகையான, ஒரு தரவு கட்டமைப்பை உருவாக்கும் தந்திரங்களை வேலை நுழைந்து என்று. அதனால், ஏனெனில் இணைக்கப்பட்ட பட்டியல்கள், நேரியல் அவர்கள் மட்டுமே ஒன்றன் பின் ஒன்றாக இணைக்க. நாம் வகையான இருக்க முடியும் சுட்டிகள் பல்வேறு வகையான வெவ்வேறு முனைகளில் என்று புள்ளி அந்த தேடல் எங்களுக்கு உதவ முடியும். அதனால் இங்கே, நான் விரும்பினேன் ஒரு பைனரி தேடல் மரம் வேண்டும், நான் தெரிகிறேன் என் நடுத்தர 55 என்றால். நான் அந்த உருவாக்க போகிறேன் என் நடுத்தர என, என் ரூட் பின்னர் நான் போகிறேன் மதிப்புகள் அதிலிருந்து சுற்ற. எனவே இங்கே, நான் தேட போகிறேன் என்றால் 66 மதிப்பு, நான் 55 மணிக்கு தொடங்க முடியும். அது 55 க்கும் 66 அதிக தான்? ஆமாம் அது தான், அதனால் நான் தேட Mus தெரியும் நான் N இந்த மரத்தின் உரிமை சுட்டிக்காட்டி. நான் 77 செல்ல. சரி, குறைவாக அல்லது 77 விட அதிகமாக 66 ஆகும்? ஓ, அதை விட குறைவாக உள்ளது, எனவே உங்களுக்கு தெரியும், என்று இடது முனை இருக்க வேண்டும். அதனால் இங்கே நாம் வகையான பாதுகாத்தல் அணிகளை பற்றி பெரிய விஷயங்களை எல்லாம், மாறும் மறு போன்ற பொருட்களை, இருப்பது நுழைக்க மற்றும் விருப்பத்திற்கு நீக்க முடியும், நிலையான பற்றி கவலை இல்லாமல் இடத்தை அளவு. நாம் இன்னும் அனைத்து பாதுகாக்கும் அந்த அற்புதமான விஷயங்கள் மேலும் பாதுகாக்க முடியும் போது உள்நுழைந்து இரும தேடல் நேரம் தேட நாம் முன்னர் மட்டுமே என்று ஒரு சொற்றொடர் பெற முடியும். கூல் தரவு கட்டமைப்பு, வகையான சிக்கலான, முனை செயல்படுத்த வேண்டும். எல்லாம், பார்க்க முடியும் என முனையத்தின் struct உள்ளது நீங்கள் ஒரு இடது வேண்டும் என்று மற்றும் ஒரு சரியான சுட்டிக்காட்டி. அது அனைத்து இருக்கிறது. எனவே மாறாக தான் ஒரு x அல்லது ஒரு முந்தைய கொண்ட. நீங்கள் ஒரு இடது அல்லது வலது, மற்றும் வேண்டும் நீங்கள் வகையான அவர்கள் ஒன்றாக இணைக்க முடியும் எனினும் நீங்கள் தேர்வு. சரி, நாம் உண்மையில் போகிறோம் ஒரு சில நிமிடங்கள். நாம் இங்கே செல்ல போகிறோம். நான் முன்பு கூறியது போல், நான் வகையான விளக்கினார் நாம் எப்படி பின்னால் தர்க்கம் இந்த மூலம் தேட வேண்டும். நாம் முயற்சி செய்ய போகிறோம் இந்த pseudocoding பார்க்க நாம் வகையான விண்ணப்பிக்க முடியும் என்றால் பைனரி தேடல் அதே தர்க்கம் தரவு கட்டமைப்பு ஒரு வெவ்வேறு வகை. நீங்கள் ஒரு ஜோடி போன்ற எடுக்க வேண்டும் என்றால், நிமிடங்கள் இதை பற்றி யோசிக்க வேண்டும். சரி. சரி, நான் போகிறேன் உண்மையில் நீங்கள் எந்த the-- கொடுக்க, நாம் முதலில் சூடோகுறியீடு பற்றி பேசுகிறேன். அதனால் யாருக்கும் வேண்டும் ஒரு குத்துவதற்கு கொடுக்க என்ன நீங்கள் போது செய்ய வேண்டும் முதல் விஷயம், நீங்கள் தேடி வருகிறது வெளியே தொடங்கும் நீ? நாம் தேடும் என்றால் 66 மதிப்பு என்ன நாங்கள் என்றால் என்ன செய்ய வேண்டும் முதல் விஷயம் நாம் இந்த மரம் தேடல் பைனரி வேண்டும்? பார்வையாளர்கள்: நீங்கள் சரியான பார்க்க வேண்டும் [செவிக்கு புலப்படாமல்] இடது பார்க்க பார்க்க அதிக எண்ணிக்கையிலான. ANDI பெங்: சரி, சரியாக. எனவே நீங்கள் உங்கள் ரூட் பார்க்க போகிறோம். நீங்கள் அழைக்க முடியும் வழிகளில் நிறைய இருக்கிறது அது, உங்கள் பெற்றோர் முனை மக்கள் சொல்கின்றன. நான் ரூட் சொல்ல விரும்புகிறேன் என்று மரத்தின் வேர் போல. நீங்கள் பார்க்க போகிறேன் உங்கள் வேர் கணு, மற்றும் நீங்கள் பார்க்க போகிறோம் 66 அதிகமாக உள்ளது விட அதிகமாக அல்லது குறைவாக 55. சரி, அது, அதிகமாக இருந்தால் அதிக தவிர, அங்கு நாம் பார்க்க வேண்டும் என்று விரும்புகிறீர்கள்? எங்கே நாம் சரியான, இப்போது தேட வேண்டும் என்று விரும்புகிறீர்கள்? நாம் தேட வேண்டும் இந்த மரத்தின் வலது பாதி. எனவே நாம், வசதியாக, ஒரு வலது சுட்டி காட்டும் என்று சுட்டிக்காட்டி. அதனால் நாம் அமைக்க முடியும் எங்கள் புதிய ரூட் 77 இருக்க வேண்டும். நாம் எங்கு செல்ல முடியும் சுட்டிக்காட்டி சுட்டி காட்டியது. சரி, ஓ, இங்கே நாம் தொடங்கி 77, மற்றும் நாம் தான் முடியும் மீண்டும் மீண்டும் மீண்டும் மீண்டும் இதை செய்ய. இந்த வழியில், நீங்கள் வகையான ஒரு செயல்பாடு உள்ளது. என்று நீங்கள் தேடி ஒரு வழி வெறும் மற்றும் மேல் மீண்டும் மீண்டும் முடியும், நீங்கள் பார்க்க வேண்டும் நான் எங்கே பொறுத்து நீங்கள் இறுதியில் மதிப்பு கிடைக்கும் வரை நீங்கள் தேடும் அந்த. பயன்? நான் உண்மையான காட்ட பற்றி இருக்கிறேன் குறியீடு, அது குறியீடு நிறைய இருக்கிறது. தேவை இல்லை பைத்தியமாக. நாம் அதை மூலம் பேசுகிறேன். உண்மையில், இல்லை. என்று வெறும் சூடோகுறியீடு இருந்தது. சரி, அந்த வெறும் சூடோகுறியீடு, இருந்தது இது ஒரு கொஞ்சம் சிக்கலானது, ஆனால் அது நன்றாக இருக்கிறது. இங்கே எல்லோரும் சேர்ந்து தொடர்ந்து? ரூட் பூஜ்ய இருந்தால், திரும்ப தவறான என்று காரணம் நீ கூட அங்கு எதுவும் இல்லை. ரூட், n என்றால் மிகவும் மதிப்பு இருந்தால், அது நீங்கள் தேடும் ஒன்றாக நடக்கும், பின்னர் நீங்கள் உண்மை திரும்ப நடக்கிறது உங்களுக்கு தெரியும், ஏனெனில் நீங்கள் அதை கண்டு. ஆனால் மதிப்பு குறைவாக இருந்தால் n, ரூட் விட, நீங்கள் இருக்கிறீர்கள் இடது தேட போகிறேன் குழந்தை அல்லது இடது இலை, நீங்கள் அதை அழைக்க வேண்டும் என்ன. மற்றும் மதிப்பு ரூட் விட அதிகமாக இருந்தால், நீங்கள் சரியான மரத்தை தேட போகிறோம், பின்னர் தான் செயல்பாடு ரன் தேடல் மூலம் மீண்டும். மற்றும் ரூட், பூஜ்ய உள்ளது என்று இருந்தால் நீங்கள் இறுதியில் அடைந்தது? என்று எந்த நீங்கள் வேண்டும் என்பதாகும் மேலும் இலைகள் தேட, உனக்கு நான், ஓ, எனக்கு தெரியும் அது இங்கே இல்லை என்று தான் நினைக்கிறேன் நான் மூலம் பார்த்துவிட்டேன் பிறகு, ஏனெனில் மற்றும் அது இங்கே இல்லை முழு விஷயம், அது இங்கே இருக்க வேண்டும். எல்லோருக்கும் பயன்? எனவே அதை பாதுகாக்கும் இரும தேடல் போன்ற இருக்கிறது தொடர்புடைய பட்டியல்கள் திறன்கள். குளிர், மற்றும் இரண்டாவது வகை தரவு கட்டமைப்பு உங்களுக்கு உங்கள் pset செயல்படுத்தி முயற்சி செய்யலாம், நீங்கள் ஒரே ஒரு முறை தேர்வு செய்ய வேண்டும். ஆனால் ஒருவேளை ஒரு மாற்று முறை ஹாஷ் அட்டவணை நாங்கள் ஒரு trie என்போம். அனைத்தும் ஒரு trie ஒரு கிளையின் குறிப்பிட்ட வகை மற்ற மதிப்புகள் சென்று அந்த மதிப்புகள் உள்ளது. எனவே, அதற்கு பதிலாக ஒரு பைனரி கொண்ட உணர்வு மரம் ஒரே ஒரு என்று ஒன்று இரண்டு சுட்டிக்காட்ட முடியும், நீங்கள் இருக்க முடியும் பல, பல விஷயங்களை ஒரு விஷயம் புள்ளி. நீங்கள் அடிப்படையில் வரிசைகள் இதில் நீங்கள் சேமிக்க உள்ளே மற்ற அணிகளை சுட்டி என்று சுட்டிகள். எனவே நாம் எப்படி முனை ஒரு trie வரையறுக்க வேண்டும் நாம் ஒரு வேண்டும் ஆகிறது பூலியன், கேட்ச் வார்த்தை, சரியான? எனவே முனை பூலியன் ஆகிறது , உண்மை அல்லது பொய் போன்ற முனையிலும் அனைத்து முதல் அந்த அணி, இந்த ஒரு வார்த்தை? இரண்டாவதாக, நீங்கள் சுட்டிகள் வேண்டும் வேண்டும் என்ன அவர்களை மற்ற உள்ளன. ஒரு பிட் சிக்கலான, ஒரு பிட் சுருக்கம், ஆனால் நான் என்ன என்று எல்லா வகையிலும் விளக்குவேன். எனவே இங்கே, மேலே, நீங்கள் என்றால் ஒரு வரிசை ஏற்கனவே அறிவித்தேன், நீங்கள் ஒரு பூலியன் வேண்டும், அங்கு ஒரு முனை முன் சேமிக்க மதிப்பு என்று நீங்கள் இந்த ஒரு வார்த்தை சொல்கிறது? இந்த ஒரு வார்த்தை என்ன? பின்னர் நீங்கள் உங்கள் வரிசை மீதமுள்ள என்று உண்மையில் சேமித்து அனைத்து அது இருக்க முடியும் என்ற சாத்திய. அதனால், எடுத்துக்காட்டாக, போன்ற மேலே நீங்கள் வேண்டும் உண்மை அல்லது என்கிறார் முதல் விஷயம் தவறான, ஆம் அல்லது இல்லை, இந்த ஒரு வார்த்தை. பின்னர் நீங்கள் 26 மூலம் 0 வேண்டும் நீங்கள் சேமிக்க முடியும் என்று கடிதங்கள். நான் இங்கே தேட விரும்பினால், பேட், நான் மேல் செல்ல மற்றும் நான் நான் பி கண்டுபிடிக்க பி பார்க்கிறேன் என் வரிசை, மற்றும் அதனால் எனக்கு, சரி, பி ஒரு வார்த்தை? பி, இதனால், ஒரு வார்த்தை அல்ல நான் தேடி வைத்திருக்க வேண்டும். நான் பி இருந்து சென்று, நான் நோக்கும் B வரை சுட்டி காட்டும் என்று சுட்டிக்காட்டி நான், தகவல் மற்றொரு வரிசை பார்க்கிறேன் நாம் முன்னர் இருந்த அதே அமைப்பு. மேலும், ஓ அடுத்த இங்கே [செவிக்கு புலப்படாமல்] கடிதம் ஏ உள்ளது எனவே நாம் அந்த வரிசையில் இருக்கும். நாம் எட்டாவது மதிப்பை கண்டுபிடிக்க, பின்னர் நாம், ஓ, பார்க்க பார்க்க ஏய், ஒரு வார்த்தை என்று, பி ஒரு வார்த்தை? அது ஒரு வார்த்தை அல்ல. நாம் தேடும் வைக்க கிடைத்துவிட்டது. அதனால் நாம் எங்கே இருக்கும், ஒரு புள்ளிகள் சுட்டிக்காட்டி, அது மற்றொரு வழியில் சுட்டிக்காட்டினால் இது நாம் இன்னும் மதிப்பு சேமிக்கப்படும் வேண்டும். இறுதியில், நாங்கள் பெற ஒரு வார்த்தை பி ஏ டி,. அதனால் அடுத்த முறை நீங்கள் பார்க்க, நீங்கள் போகிறோம் ஆம், அந்த காசோலையை வேண்டும், இந்த பூலியன் செயல்பாடு உண்மை. அதனால் அர்த்தத்தில் நாம் வகையான இருக்கிறோம் வரிசைகள் ஒரு மரம் கொண்ட. எனவே நீங்கள் வகையான கீழே தேடலாம். மாறாக ஒரு செயல்பாடு hashing விட இணைக்கப்பட்ட பட்டியலில் மூலம் மதிப்புகளை, நீங்கள் ஒரு செயல்படுத்த முடியும் downwords தேடுகிறது என்று trie,. உண்மையிலேயே, பொருட்களை சிக்கலானது. நான் அப்படி இல்லை, ஏனெனில் பற்றி யோசிக்க எளிதல்ல பல தரவு கட்டமைப்புகள் வெளியே துப்பிய நீங்கள், ஆனால் வகையான அனைவருக்கும் செய்கிறது இந்த தர்க்கம் எவ்வாறு புரிந்து? குளிர், சரி. எனவே பி ஏ டி, பின்னர் நீங்கள் தேட போகிறோம். நீங்கள் போகிறோம் அடுத்த முறை ஓ, ஏ, அது உண்மை தான், பார்க்க, இதனால் நான் இந்த ஒரு வார்த்தை இருக்க வேண்டும் என்று. பூங்காவில் அதே விஷயம். எனவே இங்கே விஷயம் என்றால், இப்போதே நாம் இப்போது, உயிரியல் பூங்காவில் தேட வேண்டும், தற்போது பூங்காவில் ஒரு அல்ல எங்கள் அகராதியில் வார்த்தை ஏனெனில், நீங்கள், பார்க்க முடியும் என நாம் ஒரு பூலியன் வேண்டும் என்று முதல் இடத்தில் திரும்ப உண்மை ஜூம் இறுதியில் உள்ளது. நாம் Z-ஓ-ஓ-எம் வேண்டும். அதனால் இங்கே, நாம் உண்மையில் இல்லை எங்கள் அகராதியில் வார்த்தை, உயிரியல் பூங்காவில், இந்த சோதனை பெட்டியை தேர்ந்தெடுத்தால், இல்லை, ஏனெனில். எனவே கணினி இல்லை உயிரியல் பூங்காவில் ஒரு வார்த்தை என்று தெரிகிறது ஏனெனில் நாம் என்று வழி ஒரு ஜூம் இங்கே, அது சேமிக்கப்படும் உண்மையில் ஒரு பூலியன் மதிப்பு உள்ளது அந்த உண்மை திரும்பி. நாம் சேர்க்க வேண்டும் என்றால் சொல், உயிரியல் பூங்காவில் எங்கள் அகராதியில் ஒரு, நாங்கள் எப்படி என்று செய்து பற்றி போக வேண்டும்? நாம் உறுதி செய்ய என்ன செய்ய வேண்டும் என்ன எங்கள் கணினி இசட்-ஓ-ஓ ஒரு வார்த்தை என்று தெரிகிறது மற்றும் முதல் வார்த்தை இசட்-ஓ-ஓ-எம் உள்ளது? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] ANDI பெங்: சரியாக, நாம் இந்த என்று உறுதி செய்ய வேண்டும் இங்கே, என்று பூலியன் மதிப்பு இருக்கிறது அது உண்மை ஆஃப் சோதிக்க. இசட்-ஓ-ஓ, நமக்கு அதில் பார்க்க போகிறோம், அதனால் நாம் சரியாக, ஏய், உயிரியல் பூங்காவில் ஒரு வார்த்தை தெரியும். நான் சொல்ல போகிறேன் அது ஒரு வார்த்தை மிகவும் என்று கணினி , போது கணினி காசோலைகளை என்று அது உயிரியல் பூங்காவில் ஒரு வார்த்தை என்று தெரிகிறது. இந்த தரவு நினைவில் ஏனெனில் கட்டமைப்புகள், அது எங்களுக்கு மிக எளிது ஓ, பேட் ஒரு வார்த்தை, சொல்ல. பூங்காவில் ஒரு வார்த்தை இல்லை. பெரிதாக்கு ஒரு வார்த்தை இல்லை. ஆனால் நீங்கள் அதை கட்டி போது, கணினி யோசனை உள்ளது. எனவே நீங்கள் சரியாக சொல்ல வேண்டும் என்ன கட்டத்தில் இந்த ஒரு வார்த்தை? என்ன கட்டத்தில் அது ஒரு வார்த்தை அல்ல? என்ன கட்டத்தில் நான் செய்கிறது விஷயங்களை தேட வேண்டும், எந்தக் காலகட்டத்தில் நான் அடுத்த செல்லலாம் செய்ய வேண்டும்? என்று தெளிவாக எல்லோரும்? கூல். அதனால் அதன் பிறகு வரும் பிரச்சினை நாம் எப்படி என்று ஏதாவது சேர்க்கைக்கு செல்ல என்று அங்கு உண்மையில் இல்லை? எனவே தான் நாம் சேர்க்க வேண்டும் என்று எங்கள் trie ஒரு வார்த்தை, குளியல்,. நீங்கள் தற்போது போன்ற பார்க்க முடியும் என நாம் இப்போது அனைத்து, பி-ஏ-டி உள்ளது மற்றும் இந்த புதிய தரவு கட்டமைப்பை ஒரு பைண்ட் இருந்தன என்று நாம் கருதி, ஏனெனில் வெற்று சுட்டிக்காட்டினார் ஓ, பி-ஏ-டி பின்னர் வார்த்தைகளே இல்லை, என்று, நாம் ஏன் வைக்க வேண்டும் அந்த டி பின்னர் விஷயங்களை கொண்ட நாங்கள் நீங்கள் செய்தால் ஆனால் பிரச்சனை எழுகிறது பிறகு வரும் என்று ஒரு வார்த்தை வேண்டும் டி. நீங்கள் குளியல் இருந்தால், நீங்கள் இருக்கிறீர்கள் ஒரு H வலது வேண்டும் போகிறீர்கள். எனவே நாம் அதை செய்ய போகிறோம் வழி நாம் ஒரு தனி முனை உருவாக்க போகிறோம். நாம் என்ன அளவு ஒதுக்கலாம் இந்த புதிய வரிசை நினைவகம், மற்றும் நாம் சுட்டிகள் ஒதுக்கலாம் போகிறோம். நாம் ஒதுக்க வேண்டும் எச், அனைத்து முதல், இந்த பூஜ்ய, நாங்கள் பெற போகிறோம். நாம் செய்ய போகிறோம் எச் புள்ளி கீழ்நோக்கி. நாங்கள் ஒரு H பார்க்க என்றால், நாம் அதை வேண்டும் வேறு எங்காவது செல்ல. இங்கே, நாம் பின்னர் சரி ஆஃப் பார்க்கலாம். நாம், டி பின்னர் ஒரு H ஹிட் என்றால், ஓ, பின்னர் நாம் இந்த ஒரு வார்த்தை என்று எனக்கு தெரியும். பூலியன் உண்மை திரும்ப நடக்கிறது. அனைவரும் அந்த நடந்தது என்று தெளிவாக? சரி. எனவே அடிப்படையில், அனைத்து இந்த தரவு கட்டமைப்புகள் இன்று நாம் சென்று விட்டேன் என்று, நான் உண்மையில், உண்மையில் விரைவில் அவர்கள் மீது சென்று மற்றும் மிகவும் இல் விவரம், மற்றும் அது சரி தான். நீங்கள் குழம்ப துவக்க முறை அது, நீங்கள் இருக்க வேண்டும் எங்கே தடம் அனைத்து சுட்டிகள் உள்ளன என்ன நடக்கிறது உங்கள் தரவு கட்டமைப்புகள், பயன்படுத்தப்படுகிறது. அவர்கள், மிகவும் பயனுள்ளதாக இருக்க வேண்டும் அது வரை நீங்கள் தான் தோழர்களே முற்றிலும் எப்படி கண்டுபிடிக்க நீங்கள் விஷயங்களை செயல்படுத்த வேண்டும். அதனால் Pset4, என்ற 5-- ஓ, அது தவறு. Pset5 எழுத்துப்பிழைகள் உள்ளது. நான் முன்பு கூறியது போல், நீங்கள் ஒரு முறை, போகிறோம் மீண்டும், நம்மை இருந்து மூல குறியீடு பதிவிறக்க. மூன்று முக்கிய இருக்க நடக்கிறது விஷயங்களை நீங்கள் பதிவிறக்கம். நீங்கள் அகராதிகள் பதிவிறக்க வேண்டும் KERS, மற்றும் நூல்கள். அனைத்து அந்த விஷயங்கள் உள்ளன உள்ளன ஒன்று வார்த்தைகள் அகராதிகள் நாங்கள் நீங்கள் சரிபார்க்க வேண்டும் என்று அல்லது தகவல் சோதனை நாங்கள் உங்களுக்கு எழுத்துப்பிழை வேண்டும் என்று. அதனால் அகராதிகள் நீர் போகிற கொடுக்கிறோம் நீங்கள் நாம் விரும்பும் உண்மையான வார்த்தைகள் கொடுக்க நீங்கள் தான் என்று ஒரு வழியில் எப்படியோ சேமிக்க ஒரு வரிசை விட திறமையான. பின்னர் நூல்கள் நாங்கள் இருக்கிறோம் என்ன இருக்க போகிறது நீங்கள் கேட்டு என்பதை சரிபார்த்து உச்சரிக்க எல்லா சொற்கள் உண்மையான வார்த்தைகள் உள்ளன. மற்றும் அதனால் மூன்று தொகுதிகள் நாங்கள் உங்களுக்கு கொடுக்க வேண்டும் என்று திட்டங்கள் dictionary.c மற்றும் அழைக்கப்படுகின்றன, அது dictionary.h, மற்றும் speller.c. எனவே அனைத்து dictionary.c மற்றும் இல்லை என்ன நீங்கள் செயல்படுத்த வேண்டும் என்று கேட்டு. அது வார்த்தைகளில் ஏற்றுகிறது. அது காசோலைகள் இன்னும் கூற, அது உறுதி செய்கிறது என்று எல்லாம் ஒழுங்காக செருகிய. diction.h ஒரு நூலகம் கோப்பு உள்ளது என்று அந்த செயல்பாடுகளை அறிவிக்கிறது. மேலும் speller.c, நாங்கள் உங்களுக்கு கொடுக்க போகிறோம். நீங்கள் அதை எந்த மாற்ற தேவையில்லை. அனைத்து speller.c என்று எடுக்கிறது, ஏற்றி, அது வேகம் சரிபார்க்கிறது எப்படி போன்ற ஒரு முக்கிய சோதிக்கிறது விரைவில் நீங்கள் எல்லாம் செய்ய முடிகிறது. இது ஒரு அம்ருதா தான். அதை குழப்பாதீர்கள் இல்லை, ஆனால் செய்ய நீங்கள் என்ன செய்து புரிந்து கொள்ள. நாம் ஒரு செயல்பாடு என்று getrusage பயன்படுத்த உங்கள் எழுத்துப்பிழை செயல்திறனை சோதிக்கும் சரிபார்ப்பு. அனைத்து அது அடிப்படையில் சோதிக்க உள்ளது செய்கிறது உங்கள் அகராதியில் எல்லாம் நேரம், அதனால் நீங்கள் அதை புரிந்து உறுதி. அது குழப்பாதீர்கள் கூடாது என்பதில் கவனமாக இருக்க அல்லது வேறு விஷயங்கள் சரியாக இயக்க மாட்டேன். இந்த சவாலை பெரும்பாலானவற்றிற்கு ஆகிறது உங்களுக்கு உண்மையிலேயே dictionary.c மற்றும் மாற்ற. நாங்கள் உங்களுக்கு கொடுக்க போகிறோம் ஒரு அகராதியில் 140,000 வார்த்தைகள். நாங்கள் உங்களுக்கு ஒரு உரை கொடுக்க போகிறோம் அந்த வார்த்தைகள் என்று கோப்பு, மற்றும் நாம் நீங்கள் ஏற்பாடு செய்ய முடியும் வேண்டும் ஒரு ஹாஷ் அட்டவணை அல்லது ஒரு trie அவற்றை நாங்கள் கூற நீங்கள் கேட்க போது, ஏனெனில் நீங்கள் எழுத்துப்பிழை என்றால் கற்பனை check-- ஹோமரின் ஒடிஸி போன்ற சோதனை. இந்த பெரிய, பெரிய சோதனை போல. ஒவ்வொரு என்றால் கற்பனை வார்த்தை நீங்கள் பார்க்க வேண்டும் 140,000 மதிப்புகள் ஒரு வரிசை மூலம். இதுவே என்றென்றும் எடுக்க வேண்டும் உங்கள் கணினியில் இயக்க வேண்டும். நாங்கள் எங்கள் ஏற்பாடு செய்ய வேண்டும் ஏன் என்று திறமையான தரவு கட்டமைப்புகள் ஒரு தரவு போன்ற ஒரு ஹாஷ் அட்டவணை அல்லது ஒரு trie போன்ற. மேலும் நீங்கள் வகையான முடியும் நீங்கள் அணுக தேட போது விஷயங்களை இன்னும் எளிதாக மற்றும் விரைவாக. அதனால் மோதல்கள் தீர்க்க கவனமாக இருக்க வேண்டும். நீங்கள் ஒரு கொத்து பெற போகிறோம் ஏ என்று தொடக்கத்தில் வார்த்தைகளை நீங்கள் ஒரு கொத்து வார்த்தைகள் பெற போகிறோம் என்று நீங்கள் பி தொடங்க உங்களுக்கு எப்படி பாடல் அது தீர்க்க. ஒருவேளை இன்னும் இருக்கிறது திறமையான ஹாஷ் சார்பு முதல் எழுத்தை விட ஏதாவது, அதனால் அந்த வரை நீங்கள் தான் தோழர்களே வகையான நீங்கள் வேண்டும் என்ன செய்ய. ஒருவேளை நீங்கள் சேர்க்க வேண்டும் ஒன்றாக அனைத்து கடிதங்கள். ஒருவேளை நீங்கள் வித்தியாசமான விஷயங்களை செய்ய விரும்பினால் கடிதங்கள் எண்ணிக்கை கணக்குக், எதுவாக. நீங்கள் செய்ய வேண்டும் எப்படி உங்களுக்கு வரை. நீங்கள் என்றால், ஒரு ஹாஷ் அட்டவணை செய்ய வேண்டும் என்றால், நீங்கள் முற்றிலும், ஒரு trie முயற்சி செய்ய வேண்டும். நான் நேரம் என்று மேலே நீங்கள் எச்சரிக்க வேண்டும் trie, பொதுவாக ஒரு பிட் மிகவும் கடினமாக உள்ளது நிறைய தான் தான் மேலும் சுட்டிகள் கண்காணிக்க. ஆனால் முற்றிலும் உங்களுக்கு வரை. அது மிகவும் திறமையான தான் பெரும்பாலான சந்தர்ப்பங்களில். நீங்கள் உண்மையில் வைக்க முடியும் வேண்டும் உங்கள் சுட்டிகள் அனைத்தும் கண்காணிக்க. போன்ற அதையே செய்ய நான் இங்கே என்ன செய்து கொண்டிருந்தேன் என்று. போது நீங்கள் நுழைக்க முயற்சி ஒரு ஹாஷ் அட்டவணை மதிப்புகள் அல்லது நீக்க, நீங்கள் இருக்கும் என்று உறுதி செய்ய உண்மையில் கண்காணிப்பதற்கான எல்லாமே எங்கே அதை நான் இருக்கிறேன் என்றால் உண்மையில் எளிது வார்த்தை ஆண்டி போன்ற நுழைக்க முயற்சி. தான் என்று ஒரு தான் நாம் சொல்ல உண்மையான வார்த்தை, வார்த்தை, ஆண்டி, ஒரு வார்த்தைகள் ஒரு மாபெரும் பட்டியலில். நான் ஒதுக்கலாம் நேர்ந்தால் ஒரு சுட்டிக்காட்டி தவறு, அச்சச்சோ, முழுமையாக அங்கு செல்கிறது என் இணைக்கப்பட்ட பட்டியலில் மீதமுள்ள. இப்போது ஒரு வார்த்தை மட்டும் நான் இல்லை ஆண்டி, இப்போது வேறு வார்த்தைகளில் அனைத்து அகராதி அழிந்து விட்டன. அதனால் நீங்கள் உறுதி செய்ய வேண்டும் உங்கள் சுட்டிகள் அனைத்து கண்காணிப்பதற்கான அல்லது வேறு நீங்கள் பெற போகிறோம் உங்கள் குறியீடு பெரும் சிக்கல்களை. படிப்படியாக கவனமாக விஷயங்கள் வெளியே இழுத்து. அதை நினைத்து அது நிறைய எளிதாக்குகிறது. மற்றும் இறுதியாக, நீங்கள் முடியும் வேண்டும் உங்கள் திட்டம் உங்கள் செயல்திறன் சோதிக்க பெரிய பலகையில். உங்களுக்கு எடுத்து இருந்தால் ஒரு இப்போது, CS50 பாருங்கள், நாங்கள் பெரிய போர்டு என்று என்ன இருக்கிறது. அது வேகமாக மதிப்பெண் தாளில் ஆகிறது , CS50 அனைத்து முழுவதும் சோதனை முறை உச்சரிக்க இப்போது, நான் 10 போன்ற மேல் நினைக்கிறேன் முறை நான் இன்னும் எட்டு ஊழியர்கள் நினைக்கிறேன். நாம் உண்மையில் உங்களுக்கு எங்களை அடிக்க வேண்டும். நாம் அனைவரும் செயல்படுத்த முயற்சி முடிந்தவரை வேகமாக குறியீடு. நாங்கள் உங்களுக்கு சவால் முயற்சி செய்ய வேண்டும் எங்களுக்கு மற்றும் நம் அனைவருக்கும் விட வேகமாக செயல்படுத்த முடியும். அதனால் இந்த உண்மையில் ஆகிறது நாங்கள் இருக்கிறோம் என்று முதல் முறையாக நீங்கள் கேட்கிறாய் தோழர்களே ஒரு pset செய்ய என்று நீங்கள் உண்மையில் என்ன முறை செய்ய முடியும் உனக்கு வேண்டும். நான் எப்போதும் இந்த மிகவும் ஏற்றதாக உள்ளது, சொல்கிறேன் ஒரு உண்மையான வாழ்க்கை தீர்வு, சரியான? நான் ஏய், நான் நீங்கள் இதை செய்ய வேண்டும், சொல்கிறேன். எனக்கு இந்த என்று ஒரு திட்டத்தை உருவாக்க. நீங்கள் விரும்பும் இருப்பினும் அதை செய். நான் நோன்பு வேண்டும் என்று. இந்த வாரம் உங்கள் சவாலாக இருக்கிறது. நீங்கள், நாங்கள் போகிறோம் நீங்கள் ஒரு பணி கொடுக்க. நாங்கள் உங்களுக்கு ஒரு சவாலாக கொடுக்க போகிறோம். பின்னர் அது உங்களுக்கு தான் முற்றிலும் கண்டுபிடிக்க அதிவேக மற்றும் மிகவும் என்ன திறமையான வழியில் இந்த செயல்படுத்த. ஆமாம்? பார்வையாளர்கள்: நாம் என்றால் அனுமதிக்கப்படுகிறது வேகமாக வழிகளில் ஆய்வு நாம் என்ன செய்ய முடியும், ஆன்லைன் புல அட்டவணைகள் செய்ய என்று யாரோ குறியீடு மேற்கோள்? ANDI பெங்: ஆமாம், நன்றாக. எனவே நீங்கள் படிக்க வேண்டும் ஸ்பெக், ஒரு வரி இருக்கிறது நீங்கள் சொல்வது ஸ்பெக் புல ஆய்வு முற்றிலும் இலவசம் என்ன சில செயல்பாடுகளை விரைவாக புல சார்புகளை போன்ற மூலம் விஷயங்களை இயக்க நீங்கள் அந்த குறியீடு மேற்கோள் நீண்ட. எனவே, சில மக்கள் ஏற்கனவே வேகமாக வழிகளில் வெளியே வந்தார் வேகமாக இன், எழுத்துப்பிழை செக்கர்ஸ் செய்து தகவல் சேமிக்கும் வழிகளை. முற்றிலும் உங்களுக்கு வரை நீங்கள் என்றால் சரி, அந்த எடுக்க வேண்டும்? நீங்கள் மேற்கோள் காட்டி உறுதிசெய்யவும். சவால் இங்கே உண்மையில் நாம் சோதிக்க முயற்சிக்கும் என்று உங்களுக்கு தெரியும் என்று உறுதி செய்யும் உங்கள் வழியில் சுற்றி சுட்டிகள். இதுவரை நீங்கள் செயல்படுத்தி உண்மையான ஹாஷ் சார்பு மற்றும் போன்ற கொண்டு வரும் அந்த கணித செய்ய, நீங்கள் ஆய்வு செய்யலாம் என்ன முறைகள் ஆன்லைன் உங்களுக்கு வேண்டும். ஆமாம்? பார்வையாளர்கள்: நாம் தான் மேற்கோள் [செவிக்கு புலப்படாமல்] பயன்படுத்தி? ANDI பெங்: ஆமாம். நீங்கள் தான், உங்கள் கருத்து, நீங்கள், ஓ, போன்ற காட்ட முடியும் உள்ளடக்கமல்ல இருந்து எடுத்து, உள்ளடக்கமல்ல, உள்ளடக்கமல்ல, ஹாஷ் சார்பு. யாருக்கும் எந்த கேள்விகள்? நாம் உண்மையில் பெரிதாக இன்று பிரிவு மூலம். நான் இங்கே இருக்கும் வரை அதே கேள்விகளுக்கு பதில். மேலும், நான் கூறியது போல், அலுவலக மணி இன்றிரவு மற்றும் நாளை. இந்த வாரம் உண்மையில் ஸ்பெக் சூப்பர் எளிதான மற்றும் வாசிக்க சூப்பர் குறுகிய. நான் ஒரு தோற்றம் எடுத்து காட்டுகின்றன என்று அது முழுமையாக மூலம் வாசிக்க. மேலும், Zamyla உண்மையில் நீங்கள் நடந்து செயல்பாடுகளை ஒவ்வொரு மூலம் நீங்கள் செயல்படுத்த வேண்டும், மற்றும் அது தான் எல்லாம் செய்ய எப்படி மிக, மிக தெளிவாக. நான் உறுதியாக நீங்கள் செய்ய சுட்டிகள் கண்காணிப்பதற்கான. இது மிகவும் சவாலான pset உள்ளது. இது, போல் ஏனெனில் சவால் ஓ, கருத்துக்கள் மிகவும் அதிகமாக உள்ளன கடினம், அல்லது நீங்கள் கற்று கொள்ள வேண்டும் வழி மிகவும் புதிய இலக்கணத்தை நீங்கள் கடந்த pset செய்த. இந்த pset கடினம் என்பதால் பல சுட்டிகள் உள்ளன, பின்னர் அதை ஒரு முறை மிக, மிக எளிது நீங்கள் முடியும் உங்கள் குறியீடு ஒரு பிழை இல்லை என்று பிழை எங்கே கண்டுபிடிக்க. அதனால் முழுமையான மற்றும் நீங்கள் முழு நம்பிக்கை தோழர்களே எங்கள் [செவிக்கு புலப்படாமல்] அடிக்க முடியும் உச்சரிப்புகள். நான் உண்மையில் எந்த எழுதப்பட்ட என்னுடையது இல்லை இன்னும், ஆனால் நான் என்னுடைய எழுத இருக்கிறேன். நீங்கள் எழுதும் போது, அதனால் உன், என் எழுத்து. நான் செய்ய முயற்சி போகிறேன் என்னுடைய வேகமாக உங்கள் விட. நாம், மிக வேகமான ஒரு யார் பார்க்க வேண்டும். மேலும் ஆமாம், நான் அனைத்து பார்க்க இங்கே செவ்வாய்க்கிழமை உங்களுக்கு. நான் ஒரு pset பட்டறை போன்ற ஒரு வகையான இயங்கும். பிரிவுகள் அனைவரும் இந்த வாரம் ஒத்திகை பட்டறைகள் இருக்கிறது எனவே நீங்கள் நினைத்தால், வாய்ப்புகள் நிறைய வேண்டும் உதவி, அலுவலக நேரம், எப்போதும், நான் உண்மையில் எதிர்நோக்குகிறோம் உங்கள் தோழர்களே 'குறியீடு அனைத்தும் படித்து. நான் இங்கே நீங்கள் என்றால் வினாடி வரை, தோழர்களே அந்த பெற வர வேண்டும். அவ்வளவுதான்.