[సంగీతాన్ని] అండీ పెంగ్: సెక్షన్ వారం 6 కు స్వాగతం. మేము మా ప్రామాణిక నుండి మళ్ళి మంగళవారం సెక్షన్ సమయం ఈ మనోహరమైన ఆదివారం ఉదయం మధ్యాహ్నం. అందరికీ ధన్యవాదాలు నేడు, కానీ తీవ్రంగా నాకు చేరారు చప్పట్లు ఒక రౌండ్. ఒక అందమైన పెద్ద కృషి ఉంది. నేను కూడా దాదాపు చేరని సమయం లో, కానీ అది సరే ఉంది. నేను మీరు అన్ని తెలుసు కేవలం క్విజ్ అది చేసిన. అన్ని మొదటి, స్వాగతం ఆ ఫ్లిప్ సైడ్. రెండవది, మేము దాని గురించి మాట్లాడదాము. మేము క్విజ్ గురించి మాట్లాడదాము. మేము ఎలా గురించి మాట్లాడండి చేస్తాము మీరు తరగతి లో చేయుచున్నారు. మీరు జరిమానా ఉంటాం. నేను మీ క్విజ్ కలిగి ఇక్కడ చివరిలో మీరు, కాబట్టి మీరు అబ్బాయిలు పడుతుంది అనుకుంటే ఒక, అది వద్ద పూర్తిగా జరిమానా చూడండి. కాబట్టి త్వరగా మేము ప్రారంభించడానికి ముందు క్రింది నేడు అజెండా. మీరు చూడగలరు గా, మేము ఉన్నాము ప్రధానంగా వేగవంతమైన తొలగింపుకు డేటా నిర్మాణాలు యొక్క మొత్తం బంచ్ ద్వారా నిజంగా, నిజంగా త్వరగా. ఇటువంటి కాబట్టి, అది వుండదు సూపర్ ఇంటరాక్టివ్ నేడు. ఇది నాకు రకమైన అరవటం ఉంటాం విషయాలు మీరు, మరియు నేను మీరు కంగారు ఉంటే, నేను చాలా వేగంగా వెళుతున్న ఉంటే, నాకు తెలియజేయండి. వారు కేవలం వివిధ డేటా ఉన్నాము నిర్మాణాలు, మరియు భాగంగా ఈ కోసం మీ pset యొక్క రాబోయే వారం, మీరు చేస్తాము వాటిలో ఒకటి అమలు అడగబడతారు, బహుశా రెండు వాటిలో them-- రెండు మీ pset లో. సరే, నేను కేవలం వెళుతున్న కొన్ని ప్రకటనలు ప్రారంభం. మేము స్టాక్స్ మరియు మరింత క్యూలు పైగా వెళ్తారో మేము క్విజ్ ముందు ఏమి కంటే లోతైన. మేము వెళ్ళి లింక్ చేస్తాము మళ్ళీ మరోసారి జాబితా కంటే లోతుగా మరింత ఏమి మేము క్విజ్ ముందు వచ్చింది. మరియు తర్వాత మేము హాష్ గురించి మాట్లాడదాము పట్టికలు, చెట్లు మరియు ప్రయత్నాలు, ఇది అన్ని మీ pset కోసం అందంగా అవసరమవుతాయి. మరియు తర్వాత మేము కొన్ని పైగా వెళ్తారో Pset5 కోసం ఉపయోగపడిందా చిట్కాలు. OK, కాబట్టి క్విజ్ 0. సగటు 58% ఉంది. ఇది చాలా తక్కువగా ఉండేది, అందువలన మీరు అబ్బాయిలు అన్ని అనుగుణంగా, చాలా బాగా చేశాడు ఆ తో. మీరు అయితే ప్రెట్టీ చాలా, ముఖ్యనియమంగా ఉంది సగటు యొక్క ప్రామాణిక విచలనం మేము ఒక తక్కువ ఉన్నారని విశేషించి comfy విభాగంలో, మీరు పూర్తిగా జరిమానా ఉన్నారు. మీరు ట్రాక్ లో ఉన్నారు. జీవితం చాల బాగుంది. నేను అనుకొనే భయపెట్టాడు తెలుసు నేను ఈ క్విజ్ లో ఒక 40% వంటి వచ్చింది. నేను ఈ తరగతి విఫలం వెళుతున్న. నేను మీరు వాగ్దానం, మీరు కావు తరగతి విఫలం వెళుతున్న. మీరు పూర్తిగా జరిమానా ఉన్నారు. పైగా వచ్చింది ఎవరు మీరు యొక్క ఆ కోసం సగటు, ఆకట్టుకునే, ఆకట్టుకునే, వంటి తీవ్రంగా బాగా జరుగుతుంది. నేను నాతో వాటిని కలిగి ఉంటాయి. వాటిని పొందండి వస్తాయి సంకోచించకండి విభాగం ముగింపులో. మీరు ఏ ఉంటే నాకు తెలపండి సమస్యలు, వారితో ప్రశ్నలు. మేము మీ స్కోర్ అప్ జోడిస్తే తప్పు, మాకు తెలియజేయండి. OK, Pset5 కాబట్టి, ఈ ఒక నిజంగా ఉంది భావంలో యేల్ కోసం అసహజ వారం మా pset కారణంగా అని సహా మధ్యాహ్నం బుధవారం చివరి రోజు, కాబట్టి ఇది నిజానికి మధ్యాహ్నం మంగళవారం సిద్ధాంతపరంగా కారణంగా. బహుశా ఎవరూ పూర్తి మధ్యాహ్నం మంగళవారం. ఆ పూర్తిగా మంచిది. మేము కార్యాలయం గంటల చూడాలని టునైట్ అలాగే సోమవారం రాత్రి. మరియు విభాగాలు అన్ని ఈ వారం రెడీ నిజానికి కార్ఖానాలు రూపాంతరం చెందాలని, కాబట్టి పాప్ సంకోచించకండి మీరు ఏ విభాగం, మరియు వారు రకమైన చిన్న pset ఉంటాం ఆ లో సహాయం కోసం కార్ఖానాలు. సో వంటి, ఈ మాత్రమే విభాగం పేరు మేము పదార్థం నేర్పిస్తున్నారు. అన్ని ఇతర విభాగాలు దృష్టి ఉంటుంది ప్రత్యేకంగా pset కోసం సహాయం. అవును? ప్రేక్షకులు: ఎక్కడ కార్యాలయం గంటల ఉన్నాయి? అండీ పెంగ్: Office గంటల ఓహ్ మంచి ప్రశ్న tonight--. నేను ఆఫీసు గంటల టునైట్ టీల్ లేదా కామన్స్ వద్ద ఉన్నాయి. మీరు ఆన్లైన్ CS50 తనిఖీ ఉంటే మరియు మీరు, ఆఫీసు గంటల వెళ్ళండి ఒక షెడ్యూల్ అక్కడ ఉండాలి వాటిని అన్ని ఇక్కడ మీరు చెబుతుంది. నేను ఈరాత్రి గాని తెలుసు లేదా రేపు టేల్, ఉంది మరియు నేను మేము కలిగి ఉండవచ్చు అనుకుంటున్నాను ఇతర రాత్రి కామన్స్. నేను ఖచ్చితంగా తెలియదు. మంచి ప్రశ్న. CS50 న తనిఖీ. గురించి కూల్ ఏవైనా ప్రశ్నలు మూడు రోజుల వంటి తదుపరి షెడ్యూల్? నేను డేవిడ్ వంటి మీరు అబ్బాయిలు వాగ్దానం ఈ కొండపైన ఉంది, అన్నాడు. మీరు అబ్బాయిలు దాదాపు ఉన్నాయి. జస్ట్ మూడు రోజుల. అక్కడ పొందండి, ఆపై మేము అన్ని డౌన్ వచ్చి చేస్తాము. మేము ఒక nice CS లేని విరామం ఉంటుంది. మేము తిరిగి వచ్చి చేస్తాము. వెబ్ ప్రవేశిస్తాడు చేస్తాము ప్రోగ్రామింగ్ మరియు అభివృద్ధి, చాలా ఆహ్లాదకరమైన విషయాలు పోలిస్తే ఇతర psets కొన్ని. మరియు అది చల్ల ఉంటుంది, మరియు మేము ఫన్ కలిగి ఉన్నాము. మేము మరింత మిఠాయి ఉంటుంది. మిఠాయి క్షమించాలి. నేను క్యాండీ మర్చిపోయారు. ఇది ఒక కఠినమైన ఉదయం జరిగింది. కాబట్టి మీరు అబ్బాయిలు, దాదాపు ఉన్నాయి మరియు నేను మీరు అబ్బాయిలు నిజంగా గర్వంగా ఉన్నాను. OK, కాబట్టి స్టాక్స్. ఎవరు జాక్ గురించి ప్రశ్న ప్రియమైన మరియు క్విజ్ తన దుస్తులు? ఎవరూ? సరే, ఆ మంచిది. కాబట్టి ముఖ్యంగా మీరు వీలయ్యే చిత్రాన్ని జాక్, ఇక్కడ ఈ గై, దుస్తులు తీసుకోవాలని ఇష్టపడతారు స్టాక్ ఎగువ బయటకు, మరియు అతను మీదకు తిరిగి ఉంచుతుంది అతను తర్వాత స్టాక్ ప్రదర్శనతో. ఈ విధంగా, అతను ఎప్పుడూ పొందడానికి తెలుస్తోంది దిగువ తన దుస్తులు స్టేక్. కాబట్టి ఈ రకమైన వివరిస్తుంది ప్రాథమిక డేటా నిర్మాణం ఒక స్టాక్ అమలు ఎలా. ముఖ్యంగా, ఒక అనుకుంటున్నారో వస్తువులు ఏ స్టాక్ను స్టేక్ మీరు టాప్ పై విషయాలు ఉంచాలి, మరియు ఆపై మీరు పైన నుండి వాటిని పాప్. కాబట్టి ఎల్ఐఎఫ్ఓ మేము ఇష్టం నామమైన చివరి లో మొదటి అవుట్ use-- కు. కాబట్టి యొక్క టాప్ చివరి స్టాక్ బయటకు వచ్చే మొదటి ఒకటి. కాబట్టి రెండు పదాలు మేము అనుబంధం చేయాలని ఆ పుష్ మరియు పాప్ అంటారు. చేసినప్పుడు మీరు పై ఏదో పుష్ స్టేక్, మరియు మీరు తిరిగి దానిని పాప్. కాబట్టి నేను ఈ ఒక రకమైన అంచనా మీరు యొక్క ఆ కోసం అమూర్త ఒక వంటి చూడాలనుకుంటే ఈ వాస్తవ అమలు వాస్తవ ప్రపంచంలో. ఎలా మీరు అనేక ఒక వ్యాసం వ్రాశారు బహుశా ఒక గంట లాగా, కారణంగా ముందు మరియు మీరు అనుకోకుండా భారీ తొలగించారు అనుకోకుండా లాగా భాగం? ఆపై ఏమి నియంత్రణ చేయాలని మేము తిరిగి ఉంచాలి ఉపయోగించవచ్చు? కంట్రోల్ Z, అవును? కంట్రోల్ Z, కాబట్టి సార్లు మొత్తం కంట్రోల్- Z నా జీవితం సేవ్ చేసింది, ప్రతిసారీ నా గాడిద సేవ్ ఉంది ఒక స్టాక్ ద్వారా అమలు ఉంది. ముఖ్యంగా అన్ని సమాచారం నీ పద పత్రంలో వార్తలు అది ముందుకు మరియు ఇష్టానికి వద్ద popped తీర్చుకుంటాడు. అందువలన తప్పనిసరిగా చేసినప్పుడు మీరు ఏదైనా తొలగించండి, మీరు దానిని తిరిగి పాప్. ఆపై మీరు తిరిగి అవసరం ఉంటే, మీరు కంట్రోల్- C ఏమి ఇది, ఇది పుష్. కాబట్టి వాస్తవ ప్రపంచంలో ఫంక్షన్ ఎలా సాధారణ డేటా నిర్మాణం మీ రోజువారీ జీవితంలో తో సహాయపడుతుంది. సో ఒక struct మార్గం మేము నిజంగా ఒక స్టాక్ సృష్టించడానికి. మేము అప్పుడు struct నిర్వచించే టైప్, మరియు మేము అది దిగువన స్టేక్ కాల్. మరియు స్టాక్ లోపల, మేము రెండు పారామితులు , మేము తప్పనిసరిగా రెట్టింపు కాబట్టి మేము చార్ స్టార్ తీగలను సామర్థ్యం కలిగి. అది చేయడం అని అన్నీ వ్యూహం సృష్టిస్తుంది మేము మీకు కావలసిన సంసార నిల్వ చేసే ఇది మేము దాని సామర్థ్యం నిర్ణయిస్తుంది. కెపాసిటీ కేవలం మాక్స్ మొత్తం ఈజ్ అంశాలను మేము ఈ శ్రేణి లోకి ఉంచవచ్చు. Int పరిమాణం ఉంచుతుంది దుష్ఫలితాలను ఎన్ని అంశాలను ట్రాక్ ప్రస్తుతం స్టాక్ లో. కాబట్టి అప్పుడు మేము, ఒక, ట్రాక్ చేయవచ్చు రెండు అసలు స్టాక్ ఎంత పెద్ద, మరియు, B, ఎలా ఆ స్టాక్ యొక్క చాలా మనం అనుకుంటున్న ఎందుకంటే మేము నింపినప్పుడు మా సామర్థ్యం ఏమిటో ఓవర్ఫ్లో కు. ఉదాహరణకు, ఈ సుందరమైన కాబట్టి ప్రశ్న మీ క్విజ్. అత్యావశ్యకము ఎలా మేము పుష్ చేయండి ఒక స్టాక్ ఎగువ అంటిస్తుంది. ప్రెట్టీ సాధారణ. మీరు చూడండి ఉంటే, మేము ఈ ద్వారా ఉంటాము. [వినబడని] పరిమాణం ఉంటే ప్రతిసారి మీరు గుర్తు ఏ ఆక్సెస్ చెయ్యాలనుకుంటున్న ఒక struct లోపల పారామితి, మీరు struct.parameter యొక్క పేరు. ఈ సందర్భంలో, లు మా స్టాక్ యొక్క పేరు. మేము పరిమాణం ఆక్సెస్ చెయ్యాలనుకుంటున్న అది, కాబట్టి మేము s.size చేయండి. పరిమాణం కాదు కాబట్టి కాలం సామర్థ్యమును లేక కాలం సమానంగా ఇది సామర్థ్యం కంటే తక్కువ ఉంది వంటి, గాని ఇక్కడ పని చేస్తుంది. మీరు లోపల ఆక్సెస్ చెయ్యాలనుకుంటున్న మీ స్టాక్, s.strings కాబట్టి, మరియు మీరు ఆ కొత్త సంఖ్య ఉంచాలి చేయబోతున్నామని మీరు అక్కడ లోకి ఇన్సర్ట్ చెయ్యడానికి కావలసిన. యొక్క కేవలం మేము కావలసిన చేస్తుంది అని పిలవబడు స్టాక్ లో పూర్ణాంకానికి n ఇన్సర్ట్, మేము s.strings చేయగల బ్రాకెట్లలో, s.size n సమానం. పరిమాణం ఎక్కడ ఉంది ఎందుకంటే మేము ప్రస్తుతం స్టాక్ ఉన్నాయి మేము పుష్ చూడాలని ఉంటే అది, మేము కేవలం యాక్సెస్ పరిమాణం ఉన్నప్పుడు, స్టాక్ ప్రస్తుత సంపూర్ణత్వం మరియు మేము దానిని పూర్ణాంకానికి n పుష్. ఆపై ఆ నిర్ధారించుకోవాలి మేము కూడా, n యొక్క పరిమాణం పెంచడం చేస్తున్నారు మేము చేసిన కాబట్టి మేము ట్రాక్ చేయవచ్చు స్టాక్కు అదనపు విషయం జోడించారు. ఇప్పుడు మేము ఒక పెద్ద సైజు కలిగి. ఈ ఇక్కడ సమంజసం లేదు అందరూ ఎలా తార్కికంగా ఇది పనిచేస్తుంది? ఇది రకమైన త్వరితంగా. ప్రేక్షకులు: మీరు పైగా వెళ్ళే s.stringss.strings [s.size] మళ్లీ? అండీ పెంగ్: ఖచ్చితంగా, కాబట్టి దేనిని మాకు ఇవ్వాలని ప్రస్తుతం s.size? ప్రేక్షకులు: ఇది ప్రస్తుత పరిమాణం యొక్క. అండీ పెంగ్: సరిగ్గా, కాబట్టి మా పరిమాణం వద్ద అని ప్రస్తుత ఇండెక్స్, అందువలన మేము కొత్త పూర్ణాంక ఉంచాలి కావలసిన మేము s.size లోకి ఇన్సర్ట్ చెయ్యడానికి కావలసిన. ఆ సమంజసం లేదు? S.strings ఎందుకంటే, ఆ దాదాపు శ్రేణి యొక్క పేరు. ఇది అన్ని యాక్సెస్ ఉంది మా struct లో అర్రే, అందువలన మేము అనుకుంటే ఆ ఇండెక్స్లో n ఉంచండి, మేము కేవలం అది యాక్సెస్ చేయవచ్చు ఉపయోగించి బ్రాకెట్లలో s.size. కూల్. అన్ని కుడి, పాప్, నేను దాన్ని pseudocode మీరు అబ్బాయిలు, కాని అదే భావన కోసం. ఆ సమంజసం లేదు? పరిమాణం ఎక్కువ ఉంటే అప్పుడు సున్నా కంటే మీరు మీరు ఏదో తీసుకోవాలని కావలసిన తెలుసు బయటకు పరిమాణం కాదు ఉంటే ఎందుకంటే సున్నా కంటే ఎక్కువ, అప్పుడు మీరు స్టాక్ లో ఏమీ లేదు. కాబట్టి మీరు అమలు చేయదలిచిన ఈ కోడ్, ఇది మాత్రమే చెయ్యవచ్చు పాప్ ఏదో ఉంది ఉంటే పాప్. పరిమాణం ఎక్కువ ఉంటే కాబట్టి 0 కంటే, మేము మైనస్ పరిమాణం. మేము పరిమాణం తరుగుదల ఆపై తిరిగి ఎందుకంటే అది లోపలి ఎలాగైనా పాపింగ్ ద్వారా, మేము కావలసిన నిల్వ ఏమైనా యాక్సెస్ స్టాక్ ఎగువ యొక్క ఇండెక్స్ లో. అంతా తెలుస్తుంది? నేను చేసిన ఉంటే మీరు అబ్బాయిలు, ఈ వ్రాయండి మీరు అబ్బాయిలు ఇది అవుట్ రాయడానికి అనుకోవడం? సరే, మీరు అబ్బాయిలు చుట్టూ ప్లే చేసుకోవచ్చు. కంగారుపడవద్దు మీరు పొందుటకు లేకపోతే. మేము కోడ్ సమయం లేదు దాన్ని నేడు మేము చేసిన ఎందుకంటే ఈ నిర్మాణాలు చాలా వచ్చింది ద్వారా వెళ్ళి, కానీ తప్పనిసరిగా కు pseudocode, చాలా, చాలా పోలి కొట్టాలని. కేవలం తర్కం పాటు అనుసరించండి. మీరు అన్ని ఆక్సెస్ నిర్ధారించుకోండి సరిగ్గా మీ struct యొక్క లక్షణాలు. అవును? ప్రేక్షకులు: ఈ స్లైడ్లు మరియు ఈ మొత్తం విషయం నేడు ఇష్ ఉంటుంది? అండీ పెంగ్: ఎల్లప్పుడూ, YEP. నేను ఉంచాలి ప్రయత్నించండి వెళుతున్న ఈ అప్ తర్వాత ఒక గంట వంటి. నేను డేవిడ్ ఇమెయిల్ చేస్తాము, డేవిడ్ ప్రయత్నించండి ఈ తరువాత ఒక గంట లాగా కనబరచింది. OK, కాబట్టి మేము ఈ ఇతర తరలి సుందరమైన డేటా నిర్మాణం ఒక క్యూ అని. మీరు అబ్బాయిలు ఇక్కడ గమనిస్తే, ఒక క్యూ, మా మధ్య బ్రిటిష్, ఇది అన్ని ఒక లైన్. చాలా విరుద్ధంగా ఏమి మీరు ఒక స్టాక్ ఉంది అనుకుంటున్నాను ఒక క్యూ సరిగ్గా ఏమిటి తార్కికంగా మీరు భావిస్తే. ఇది FIFO నియమాలు జరిగిన ఫస్ట్ లో, మొట్టమొదటి చెల్లినది. మీరు మొదటి పోతే పధము, మీరు మొదటి ఒకటి ఆ బయటికి వస్తుంది. కాబట్టి మేము ఈ కాల్ ఇష్టం dequeueing మరియు enqueueing ఉంది. మేము ఏదో జోడించడానికి చేయదలిస్తే మా క్యూ, మేము ఎన్క్యూ. మేము కావాలా dequeue, లేదా పడుతుంది ఏదో దూరంగా, మేము dequeue. మేము రకమైన ఉన్నాము కాబట్టి అదే అర్ధంలో స్థిర పరిమాణం అంశాలు సృష్టించడం మేము కొన్ని నిల్వ చేయవచ్చు విషయాలు, కానీ మేము కూడా చెయ్యవచ్చు మేము ఉంచడం ఎక్కడ మార్చడానికి వాటిలో లోపల పారామితులు ఏ రకం ఆధారంగా కార్యాచరణ మేము కావలసిన. స్టాక్స్ కాబట్టి, మేము గత కావలెను ఒకటి, N మొదటి ఒకటి ఉండాలి. క్యూ మేము మొదటి విషయం అనుకుంటున్నారా ఉంది లో మొదటి విషయం ఉండాలి. Struct రకం కాబట్టి మీరు చూడగలరు గా, నిర్వచించే, అది కొద్దిగా భిన్నమైనది స్టాక్ ఉంది ఏమి నుండి మాత్రమే మేము ఉంచడానికి లేదు ఎందుకంటే పరిమాణం ప్రస్తుతం ఇక్కడ ట్రాక్, మేము కూడా తల ట్రాక్ కావలసిన అలాగే ఇక్కడ మేము ప్రస్తుతం. నేను అది సులభం అనుకుంటున్నాను నేను ఈ ఏర్పరిచే ఉంటే. కాబట్టి యొక్క మేము ఒక క్యూ పొందారు ఊహించుకోండి తెలియజేయండి, కాబట్టి యొక్క తల ఇక్కడే అని పిలవబడు. లైన్ అధిపతి, లెట్స్ కేవలం, అక్కడ ప్రస్తుతం చెప్పాలి మరియు మేము ఇన్సర్ట్ అనుకుంటే క్యూ ఏదో. నేను తప్పనిసరిగా పరిమాణం కాల్ వెళుతున్న తోక అదే విషయం, మీ క్యూ ఎంతవరకూ ముగింపు. యొక్క కేవలం పరిమాణం, కుడి ఇక్కడ అని చెబుతారు. సో ఎలా విధముగా చేస్తుంది ఒక క్యూ ఏదో ఇన్సర్ట్? ఏ ఇండెక్స్ మేము ఉంచాలనుకుంటే చేయండి పేరు మేము ఇన్సర్ట్ మీరు. ఈ ప్రారంభంలో అంటే మీ క్యూ మరియు ఈ ముగింపు లేదా అది పరిమాణం, ఇక్కడ మనం ఏమి తదుపరి వస్తువు జోడించడానికి అనుకుంటున్నారా? ప్రేక్షకులు: [వినబడని] అండీ పెంగ్: సరిగ్గా, మీరు జోడించదలచిన ఆధారపడి అది మీరు వ్రాశారు. గాని ఈ ఖాళీ లేక ఖాళీగా ఉంది. సో మీరు బహుశా దీన్ని జోడించడానికి కావలసిన ఇక్కడ ఎందుకంటే పరిమాణం is-- ఉంటే ఈ అన్ని పూర్తి ఉంటే, మీకు కావలసిన కుడి, కుడి ఇక్కడ జోడించడానికి? కాబట్టి ఆ, చాలా, చాలా అయితే సాధారణ, కాదు చాలా ఎల్లప్పుడూ సరైన ప్రధాన వ్యత్యాసం ఎందుకంటే ఒక క్యూ మరియు ఒక స్టాక్ మధ్య ఆ క్యూ చెయ్యవచ్చు ఉంది నిజానికి అవకతవకలు కాబట్టి తల మార్పులు మీరు ఎక్కడ ఆధారపడి మీ క్యూ ప్రారంభంలో ప్రారంభించడానికి. మరియు ఫలితంగా, మీ తోక కూడా మార్చడానికి వెళ్తున్నారు. కాబట్టి పరిశీలించి ప్రస్తుతం ఈ కోడ్. మీరు అబ్బాయిలు కూడా అడిగారు వంటి ఎన్క్యూ, క్విజ్ లో వ్రాయండి. బహుశా మేము ఎందుకు ద్వారా మాట్లాడదాము సమాధానం ఇది ఏమి ఉంది. నేను చాలా ఒక ఈ లైన్ సరిపోయే కాలేదు కోడ్ యొక్క కానీ ముఖ్యంగా ఈ ముక్క ఒక లైన్ లో ఉండాలి. 30 సెకన్లు వంటి కేటాయిస్తున్నారు. పరిశీలించి, మరియు ఎందుకు ఇదే మార్గం. చాలా, చాలా పోలి struct, చాలా, చాలా మునుపటి మాదిరిగానే అదేవిధమైన నిర్మాణం బహుశా తప్ప స్టేక్ కోడ్ యొక్క ఒక లైన్. కోడ్ యొక్క ఒక లైన్ ఆ కార్యాచరణ నిర్ణయిస్తుంది. అది నిజంగా వేరు ఒక స్టాక్ నుండి ఒక క్యూ. ఎవరైనా ఒక ఉదంతం పడుతుంది అనుకుంటే మీరు చేసిన ఎందుకు వివరిస్తూ వద్ద ఇక్కడ ఈ క్లిష్టమైన విషయం వచ్చింది? మేము తిరిగి చూస్తారు మా అద్భుతమైన స్నేహితుడు మాడ్యులస్. మీరు అబ్బాయిలు వెంటనే వస్తారు వంటి ప్రోగ్రామింగ్ గుర్తించి, దాదాపు ఎప్పుడైనా మీరు ఏదో అవసరం ఏదైనా చుట్టూ మూసివేయాలని, మాడ్యులస్ దీన్ని మార్గం అవతరిస్తుంది. కాబట్టి ఆ తెలుసుకోవడం, ఎవరైనా ఇష్టం లేదు కోడ్ యొక్క లైనును వివరిస్తూ ప్రయత్నించండి? అవును, అన్ని సమాధానాలు ఆమోదించబడిన మరియు స్వాగతం. ప్రేక్షకులు: మీరు నాతో మాట్లాడుతున్నారా? అండీ పెంగ్: అవును. ప్రేక్షకులు: ఓహ్, ఏ క్షమించండి. అండీ పెంగ్: OK, కాబట్టి లెట్స్ ఈ కోడ్ ద్వారా నడిచి. సో ఉన్నప్పుడు మీరు ప్రయత్నిస్తున్న ఒక క్యూ లో ఏదో జోడించండి తల జరుగుతుంది ఆ మనోహరమైన సందర్భంలో ఇక్కడే ఉండటానికి, అది మాకు చాలా సులభం కేవలం ముగింపు వెళ్ళండి కుడి ఏదో ఇన్సర్ట్? కానీ ఒక క్యూ మొత్తం స్థానం ఆ వాస్తవానికి డైనమిక్ తల పేరు బట్టి మార్చడానికి మేము మా q ప్రారంభంలో ఉండాలనుకుంటున్నాను, మరియు, తోక వంటి కూడా మార్చడానికి వెళ్తున్నారు. కాబట్టి ఈ కాదని ఊహించుకోండి క్యూ, కానీ ఈ క్యూ ఉంది. తల ఇక్కడే అని చెబుతారు. యొక్క మా క్యూ ఇలా అనుకోండి. మేము ఎక్కడ మారవచ్చు కోరుకుంటే లైన్, ప్రారంభంలో ఉంది యొక్క మేము తల మళ్లింది అని పిలవబడు ఈ విధంగా మరియు ఇక్కడ పరిమాణాలు. ఇప్పుడు మేము ఏదో జోడించాలనుకుంటే ఈ క్యూ, కానీ మీరు అబ్బాయిలు చూడగలరు గా, అది కేవలం వంటి సాధారణ కాదు పరిమాణం తర్వాత సంసార జోడించండి అప్పుడు మేము రన్నవుట్ ఎందుకంటే మా వాస్తవ శ్రేణి యొక్క సరిహద్దులు. మేము నిజంగా జోడించడానికి ఎక్కడ ఇక్కడ ఉంది. ఒక క్యూ యొక్క అందం ఉంది అది దృశ్యపరంగా, మాకు ఉంది లైన్ ఈ వంటి వెళ్తాడు కనిపిస్తోంది, కానీ ఒక డేటా నిర్మాణం నిల్వ ఉన్నప్పుడు, వారు ఒక చక్రం వంటి ఇవ్వాలని. ఇది రకమైన చుట్టూ మూటగట్టి ముందు అదే మార్గం ఒక లైన్ కూడా వ్రాప్ చేయవచ్చు చుట్టూ ఎక్కడ మీరు ఆధారపడి ఉండాలి లైన్ ప్రారంభంలో అనుకుంటున్నారా. అందువలన మేము ఒక తీసుకుంటే ఇక్కడ క్రిందికి చూడండి, లెట్స్ మేము ఒక సృష్టించడానికి కోరుకున్నారు సే ఫంక్షన్ ఎన్క్యూ అని. మేము ఆ q లోకి Int n చేర్చాలని కోరుతున్నాయి. Q.size మేము మా డేటా పిలుస్తాను q-- ఉంటే మా queue.size లేనప్పుడు నిర్మాణం సామర్థ్యం లేదా సమాన అది సామర్థ్యం కంటే తక్కువగా q.strings మా q లోపల శ్రేణి. మేము సెట్ చూడాలని ఆ q.heads సమానంగా, ఇక్కడే ఉంది, ప్లస్ q.size , శక్తి ద్వారా మాడ్యులస్ ఇది ఇక్కడ చుట్టూ మాకు తిరిగి వ్రాప్. ఈ ఉదాహరణ, ఇండెక్స్ కాబట్టి తల కుడి, 1 ఉంది? పరిమాణం ఇండెక్స్ 0, 1, 2, 3, 4. కాబట్టి మేము 1 ప్లస్ 4 మాడ్యులస్ చేయవచ్చు 5 ఇది మా సామర్థ్యం ద్వారా. ఏం మాకు ఇవ్వలేదు? సూచిక ఏమిటి అని ఈ బయటకు వస్తుంది? ప్రేక్షకులు: 0. అండీ పెంగ్: 0, దీనిలో ఇక్కడే నిర్మాణము, అందువలన మేము చెయ్యగలరు అనుకుంటున్నారా ఇక్కడే ఇన్సర్ట్. కాబట్టి ఈ సమీకరణం ఇక్కడ రకమైన కేవలం ఏ సంఖ్యలు పనిచేస్తుంది పేరు బట్టి మీ తల మరియు మీ పరిమాణం ఉన్నాయి. మీరు ఏమి ఆ తెలిస్తే విషయాలు మీకు తెలిసిన, ఉంటాయి సరిగ్గా మీరు ఇన్సర్ట్ చోట సంసార మీ క్యూ తర్వాత ఉంది. అందరికి సమంజసం లేదు? నేను ఒక మెదడు రకం తెలుసు టీజర్ విశేషించి ఈ మీ క్విజ్ పరిణామాల వచ్చింది. కానీ ఆశాజనక అందరూ ఇప్పుడు అర్ధం చేసుకోవచ్చు ఎందుకు ఈ పరిష్కారం లేదా ఈ ఫంక్షన్ ఉంది ఆ మార్గం. ఎవరైనా ఒక బిట్ ఆ అస్పష్టంగా? అలాగే. కాబట్టి ఇప్పుడు, మీరు ఉంటే ఈ dequeue కావలెను మా తల బదిలీ ఉండగల ఉంది మేము dequeue ఉన్నట్లయితే, ఎందుకంటే మేము q ముగింపు ఆఫ్ పడుతుంది లేదు. మేము కుడి, తల టేకాఫ్ మీరు? అందుకనే, తల మార్చడానికి వెళ్తున్నారు, మీరు ఎన్క్యూ ఉన్నప్పుడు ఎందుకు మరియు ఆ ఉంటుంది, మీరు ట్రాక్ పొందారు పేరు మీ తల మరియు మీ పరిమాణం ఇన్సర్ట్ చెయ్యలేరు ఉన్నాయి సరైన స్థానం లోకి. కాబట్టి మీరు dequeue ఉన్నప్పుడు, నేను కూడా దాన్ని pseudocode. మీరు అనుకుంటే సంకోచించకండి ఈ కోడింగ్ ప్రయత్నం. మీరు కుడి, తల తరలించడానికి కావలసిన? నేను dequeue కోరుకుంటే, నేను తలపై కదులుతారు. ఈ తల ఉంటుంది. మా ప్రస్తుత పరిమాణం చేస్తాను వ్యవకలనం ఎందుకంటే మేము ఇకపై శ్రేణి లో నాలుగు అంశాలను కలిగి ఉంటుంది. మనం కేవలం మూడు కలిగి, మరియు అప్పుడు మేము కావలసిన లోపల నిల్వ చేశారు వస్తువు తిరిగి తల పడుతుందో కావలసిన ఎందుకంటే స్టాక్ కాబట్టి చాలా పోలి విలువ. జస్ట్ మీరు వేస్తున్నాము వేరే ప్రదేశం నుండి, మరియు మీరు మీ పాయింటర్ ఉంచేందుకు ఉంటుంది ఫలితంగా వివిధ స్థానానికి. తార్కికంగా, ప్రతి ఒక్కరూ అనుసరించండి? గ్రేట్. OK, కాబట్టి మేము ఒక బిట్ మాట్లాడటానికి వెళుతున్న లింక్ జాబితాలు గురించి లోతు మరింత వారు చాలా, చాలా విలువైన ఉంటాం ఎందుకంటే ఈ వారం యొక్క కోర్సు లో మీరు కోసం psets. లింక్ జాబితాలు, మీరు అబ్బాయిలు వారు అన్ని ఉన్నాయి గుర్తుంచుకోగలరు కొన్ని నోడ్స్ నోడ్స్ ఉంటాయి విలువ మరియు ఒక పాయింటర్ రెండు విలువలను కలిసి అనుసంధానించబడ్డాయి ఆ గమనికలు ద్వారా. ఎలా కాబట్టి struct మేము ఇక్కడ ఒక నోడ్ మేము సృష్టించడానికి ఇది, Int n చర్యలన్నీ ఒక స్టోర్ లేదా స్ట్రింగ్ n లో విలువ లేదా మీకు కావలసిన సంసార చార్ స్టార్ n, కాల్. పాయింటర్ ఇది struct నోడ్ స్టార్, మీరు ప్రతి నోడ్ లో కలిగి కావలసిన, మీరు ఆ చూడాలని తదుపరి వైపు పాయింటర్ పాయింట్. మీరు తల ఉంటుంది ఒక లింక్ జాబితా మిగిలిన సూచించడానికి జరగబోతోంది అందువలన న మొదలగునవి విలువలు మీరు చివరకు ముగింపు చేరుకోవడానికి వరకు. మరియు ఈ చివరి నోడ్ కేవలం ఒక పాయింటర్ లేదు అన్నారు. అది సూచించడానికి జరగబోతోంది శూన్య, మరియు ఆ ఉన్నప్పుడు మీరు హిట్ చేసిన తెలుసు మీ లింక్ జాబితా చివరకు ఉన్నప్పుడు మీ గత పాయింటర్ ఏదైనా సూచించడానికి లేదు. కాబట్టి మేము మరింత ఒక బిట్ వెళ్ళి చూడాలని గురించి లోతైన ఎలా ఒక బహుశా చేస్తాను ఒక లింక్ జాబితా శోధించండి. కొన్ని ఏమిటో గుర్తుంచుకో లింక్ జాబితాలు యొక్క ప్రతికూలతలు శోధనలు సంబంధించిన వ్యూహం వచనాలలో. ఒక అమరిక మీరు బైనరీ శోధన, కానీ ఎందుకు మీరు ఒక లింక్ జాబితా లో అలా కాదు? ప్రేక్షకులు: వారు అన్ని కనెక్ట్ ఎందుకంటే, కానీ మీరు చాలా పేరు తెలియదు [వినబడని]. అండీ పెంగ్: అవును, కాబట్టి ఖచ్చితంగా గుర్తు ఆ వ్యూహం యొక్క ప్రకాశం మేము కలిగి వాస్తవం ఉంది రాండమ్ యాక్సెస్ మెమరీ పేరు నేను ఇండెక్స్ నుండి విలువ కోరుకుంటే ఆరు, నేను, ఇండెక్స్ ఆరు చెప్పగల్గినవి నాకు ఆ విలువ ఇవ్వాలని. శ్రేణుల క్రమబద్ధీకరించబడతాయి ఎందుకంటే ఆ వార్తలు మెమరీ అవిచ్ఛిన్నంగా స్పేస్ లో ఒకే చోట, అయితే లింక్ జాబితాలు రకమైన ఉన్నాయి యాదృచ్ఛికంగా, చుట్టూ అన్ని కోవలో మరియు మాత్రమే మార్గం మీరు ఒక వెదుక్కోవచ్చు మీరు చెబుతుంది ఒక పాయింటర్ ద్వారా ఆ తదుపరి నోడ్ ఇక్కడ చిరునామా. అందువలన ఫలితంగా, ఏకైక మార్గం ఒక లింక్ జాబితా ద్వారా అన్వేషణ సరళ శోధన. నేను ఖచ్చితంగా తెలియదు ఎందుకంటే లింక్ జాబితాలో 12 వ విలువ, నేను సంపూర్ణంగా ప్రయాణించేందుకు కలిగి ఆ లింక్ జాబితా ఒకటి మొదటి నోడ్ తల నుండి ఒక ద్వారా రెండవ నోడ్, మూడవ నోడ్, నేను చివరకు వచ్చేవరకు అన్ని మార్గం డౌన్ నేను చూస్తున్నాను ఆ నోడ్ ఇక్కడ. అందువలన ఈ కోణంలో, అన్వేషణ ఒక లింక్ జాబితా పై ఎల్లప్పుడూ n. ఇది ఎల్లప్పుడూ n వార్తలు. ఇది దీర్ఘ సమయం లో ఎప్పుడూ అనిపిస్తుంది. అందువలన కోడ్ దీనిలో మేము ఈ అమలు, మరియు ఈ మీరు ఎందుకంటే మీరు అబ్బాయిలు ఒక బిట్ కొత్త ఉంది అబ్బాయిలు నిజంగా గురించి లేదా ఎప్పుడూ మాట్లాడారు లేదు ఎలా చూసిన గమనికలు గమనికలు ద్వారా, అన్వేషణ కాబట్టి మేము ద్వారా ఉంటాము ఈ చాలా, చాలా నెమ్మదిగా. కాబట్టి bool శోధన, కుడి, యొక్క మేము కావలసిన ఊహించుకోండి తెలియజేయండి అనే ఫంక్షన్ను రూపొందించడానికి నిజమైన తిరిగి శోధన మీరు లింక్ లోపల ఒక విలువ కనుగొన్నారు ఉంటే జాబితా, మరియు అది లేకపోతే తప్పుడు తిరిగి. నోడ్ స్టార్ జాబితా ప్రస్తుతం కేవలం పాయింటర్ మీ లింక్ జాబితాలో మొదటి అంశానికి. పూర్ణాంకానికి n మీరు చేస్తున్న విలువ ఉంది ఆ జాబితాలో కోసం శోధిస్తున్నారు. కాబట్టి నోడ్ స్టార్ పాయింటర్ జాబితా సమానం. మేము ఏర్పాటు చేస్తున్నారు అర్థం మరియు ఒక పాయింటర్ సృష్టించడం జాబితా లోపల ఆ మొదటి నోడ్. నాతో అందరూ? మేము వెళ్ళి చేస్తే తిరిగి ఇక్కడ నేను కలిగి ఉంటుంది చూపాడు ఒక పాయింటర్ initialized తల వస్తువు యొక్క జాబితా. ఆపై మీరు, ఇక్కడ డౌన్ పొందుటకు ఒకసారి పాయింటర్ సమాన శూన్య చేయదు, కాబట్టి మనం లూప్ ఉంది నదీ ప్రవాహానికి అడ్డంగా ప్రయాణం తరువాత అవతరిస్తుంది ఎందుకంటే మా జాబితాలో మిగిలిన పాయింటర్ శూన్య సమానం అయినప్పుడు జరుగుతుంది? మేము మనం తెలుసు ప్రేక్షకులు: [వినబడని] అండీ పెంగ్: సరిగ్గా, కాబట్టి మేము తెలుసు మేము కుడి జాబితా ముగింపు చేరుకున్నారు? మీరు ఇక్కడ తిరిగి వెళ్ళి ఉంటే, ప్రతి నోడ్ మరొక నోడ్ సూచించే మరియు అందువలన న మొదలగునవి మీరు చివరకు హిట్ వరకు మీ లింక్ జాబితా తోక, ఇది ఒక పాయింటర్ కలిగి కేవలం కాదు కంటే ఎక్కడైనా ఇతర సూచించడానికి లేదు. కాబట్టి మీరు ప్రధానంగా తెలుసు మీ జాబితా ఇప్పటికీ అక్కడ పైన ఉంది పాయింటర్ సమానం కాదు వరకు శూన్య అది శూన్య సమానం ఎందుకంటే ఒకసారి, మీరు ఏ మరింత stuff ఉంది తెలుసు. కాబట్టి మేము ఉన్నాము దీనిలో లూప్ ఉంది వాస్తవ శోధన పొందబోతున్నారు. మరియు పాయింటర్ మీరు చూడగలను ఉంటే అక్కడ బాణం ఫంక్షన్ ఆ రకమైన? కాబట్టి పాయింటర్ ఉంటే n కు, ఉంటే n సమానం సమానం n వద్ద పాయింటర్, అంటే తద్వారా ఉంటే మీరు ఆ పాయింటర్ ప్రతి ముగింపు న శోధించడం నోడ్ విలువ వాస్తవానికి సమానం మీరు చూస్తున్న మీరు నిజమైన తిరిగి అనుకుంటున్నారా. కాబట్టి ప్రాథమికంగా, మీరు ఒక నోడ్ వద్ద అయితే ఆ మీరు వెతికే విలువ ఉంది మీరు చేసిన తెలుసు విజయవంతంగా అన్వేషణ చెయ్యగలరు. లేకపోతే, మీరు సెట్ చేయాలనుకున్న తదుపరి నోడ్ మీ పాయింటర్. ఇక్కడ ఆ లైన్ ఏమి ఉంది. పాయింటర్ తదుపరి పాయింటర్ సమానం. ఆ పని ఎలా చూడండి అందరి? మరియు ముఖ్యంగా మీరు చూడాలని కేవలం జాబితా సంపూర్ణంగా సంచరిస్తారు మీ పాయింటర్ ప్రతి సమయం వరకు రీసెట్ మీరు చివరకు జాబితా చివరకు హిట్. మరియు మీరు ఏ ఉన్నాయి అని తెలుసు ఎక్కువ నోడ్స్ ద్వారా అన్వేషణ ఆపై మీరు తప్పుడు తిరిగి రావచ్చు మీరు తెలుసు ఎందుకంటే, బాగా, OH, నేను అన్వేషణ చేయగలిగారు చేసిన ఉంటే జాబితా మొత్తంలో. ఈ ఉదాహరణలో ఉంటే, నేను కోరుకుంటే 10 విలువ కోసం చూడండి, మరియు నేను తల వద్ద మొదలు, మరియు నేను అన్ని మార్గం డౌన్ అన్వేషణ మరియు నేను చివరికి, ఈ వచ్చింది ఇది శూన్యం చూపాడు ఒక పాయింటర్, నేను కాదు, చెత్త, నేను 10 అంచనా తెలుసు ఈ జాబితాలో నేను దానిని కనుగొనేందుకు లేదు ఎందుకంటే. నేను జాబితా చివరిలో ఉన్నాను. మరియు ఈ సందర్భంలో మీకు తెలిసిన నేను తప్పుడు తిరిగి వెళుతున్న. ఒక చిన్న బిట్ కోసం నానబెడతారు లెట్. ఈ అందంగా ఉంటుంది మీ pset కోసం ముఖ్యమైన. యొక్క తర్కం బహుశా, చాలా సులభం పదము కేవలం అది అమలు. మీరు అబ్బాయిలు చేయాలనుకుంటున్నాము మీరు అర్థం నిర్ధారించుకోండి. కూల్. OK, కాబట్టి మేము ఎలా ఉంటుంది కుడి, నోడ్స్ ఇన్సర్ట్, జాబితా లోకి ఎందుకంటే గుర్తు ఏమి ప్రయోజనాలు ఏవి లింక్ జాబితా వర్సెస్ కలిగి నిల్వ పరంగా వ్యూహం? ప్రేక్షకులు: ఇది డైనమిక్, కాబట్టి అది సులభం ఆలోచన అండీ పెంగ్: సరిగ్గా, కాబట్టి అది డైనమిక్ ఇది విస్తరిస్తాయి మరియు కుదించే చేయవచ్చు అర్థం యూజర్ యొక్క అవసరాలను బట్టి. అందువలన, ఈ కోణంలో, మేము అవసరం లేదు అనవసరమైన మెమరీ వృధా నేను ఎందుకంటే నేను మీరు ఎన్ని విలువలు తెలియదు ఉంటే స్టోర్, అది నాకు అర్ధవంతం లేదు వ్యూహం ఎందుకంటే సృష్టించడానికి నేను 10 విలువలు నిల్వ అనుకుంటే మరియు నేను 1,000 యొక్క వ్యూహం, ఆ సృష్టించడానికి వృధా మెమరీ చాలా, కేటాయించింది. మేము ఒక లింక్ ని ఎందుకు ఆ వార్తలు జాబితా డైనమిక్ చెయ్యలేరు మార్చడానికి లేదా మా పరిమాణం తగ్గిపోవటం. అందువలన, చొప్పించడం చేస్తుంది ఒక బిట్ మరింత క్లిష్టం. మనం యాదృచ్చికంగా అంశాలను యాక్సెస్ చేయలేరు నుండి మేము ఒక అర్రే అని మార్గం. నేను ఒక మూలకం ఇన్సర్ట్ అనుకుంటే ఏడవ ఇండెక్స్లో, నేను ఇన్సర్ట్ చేయవచ్చు ఏడవ ఇండెక్స్లో. ఒక లింక్ జాబితాలో, అది లేదు చాలా సులభంగా పని, అందువలన మేము చొప్పించాలని కోరుకుంటే లింక్ జాబితాలో ఇక్కడ ఒకటి, దృశ్యపరంగా, అది చూడటానికి చాలా సులభం. మేము కేవలం అక్కడే ఇన్సర్ట్ కావలసిన కుడివైపు జాబితా ప్రారంభంలో, కుడి తల తర్వాత. కానీ మేము ఏ విధంగా ఉంచేందుకు గమనికలు ఒక బిట్ మెలికలు తిరిగిన ఉంది లేదా, తార్కికంగా, అది అర్ధమే కానీ మీరు అది కలిగి నిర్ధారించుకోవాలి పూర్తిగా డౌన్ ఎందుకంటే మీరు చేయాలనుకుంటున్నారా లాస్ట్ థింగ్ ఒక పాయింటర్ ఉంచేందుకు ఉంది మేము ఇక్కడ చేస్తున్నా మార్గం. మీరు ఉంటే dereference 1 తల నుండి గణితానికి, అప్పుడు అకస్మాత్తుగా ది అన్ని మీ లింక్ జాబితా మిగిలిన మీరు నిజానికి ఎందుకంటే కోల్పోయింది తాత్కాలిక ఏదైనా రూపొందించినవారు. 2 చూపారు లో. మీరు పాయింటర్, ఉంచేందుకు ఉంటే మీ జాబితా మిగిలిన పూర్తిగా కోల్పోయింది. కాబట్టి మీరు ఉండాలనుకుంటున్నాను ఇక్కడ చాలా జాగ్రత్తగా మొదటి పెట్టేందుకు మీరు సంసార నుండి పాయింటర్ ఎక్కడ ఇన్సర్ట్ మీరు మీకు కావలసిన, మరియు అప్పుడు మీరు మీ జాబితా మిగిలిన dereference చెయ్యవచ్చు. కాబట్టి ఈ చోట వర్తిస్తుంది మీరు ఇన్సర్ట్ ప్రయత్నిస్తున్న. మీరు ఇన్సర్ట్ అనుకుంటే తల, మీరు ఇక్కడ సమాధానం అనుకుంటే, మీరు ఇన్సర్ట్ అనుకుంటే ముగింపు, బాగా, ముగింపు నేను అంచనా మీరు కేవలం చేస్తాను ఏ పాయింటర్ కలిగి, కానీ మీరు మీరు లేదు ఖచ్చితంగా అని నిర్ధారించుకోవాలి మీ జాబితా మిగిలిన కోల్పోతారు. మీరు ఎల్లప్పుడూ నిర్ధారించుకోవాలి మీ కొత్త నోడ్ సూచించబడిన సంసార వైపు ఇన్సర్ట్ మీరు, ఆపై మీరు కూర్పికం జోడించవచ్చు. అందరూ స్పష్టమైన? ఈ అవతరిస్తుంది రియల్ సమస్యల ఒకటి. అత్యంత ప్రధాన సమస్యలలో ఒకటి మీరు మీ pset న చూడాలని మీరు సృష్టించడానికి ప్రయత్నించండి చూడాలని ఉంది ఒక లింక్ జాబితా మరియు చొప్పించు విషయాలు కానీ అప్పుడు కేవలం కోల్పోతారు మీ లింక్ జాబితా మిగిలిన. మరియు మీరు వంటి చూడాలని, నేను ఈ జరుగుతుందో ఎందుకు తెలియదు? అది ద్వారా వెళ్ళడానికి ఒక నొప్పి అనిపిస్తుంది మరియు మీ గమనికలు అన్ని శోధించండి. మరియు నేను ఈ pset న మీరు హామీ, ఈ నోడ్స్ అవుట్ రాయడం మరియు డ్రాయింగ్ చాలా, చాలా సహాయకారిగా ఉంటుంది. కాబట్టి మీరు పూర్తిగా ట్రాక్ అన్ని మీ గమనికలు ఉన్నాయి ఇక్కడ, ఏమి తప్పు జరగబోతోంది అన్ని మీ నోడ్స్ ఎక్కడ మీరు ఆక్సెస్ చెయ్యాల్సిన ఏమి లేదా ఇన్సర్ట్ లేదా తొలగించడానికి లేదా వాటిని ఏ. ఆ మంచి అందరూ? కూల్. మేము కోడ్ వద్ద చూడండి కోరుకుంటే కాబట్టి? ఓహ్, నేను తెలియదు ఉంటే మేము కాబట్టి, ఉన్నారు సరే చూడగలరు ఎగువన అన్ని ఒక ఫంక్షన్ ఉంది మేము ఎక్కడ అనే చొప్పించు లింక్ జాబితా లోకి Int n ఇన్సర్ట్ చెయ్యడానికి. మేము ఈ నడవడానికి వెళుతున్న. ఇది కోడ్ చాలా, కొత్త వాక్యనిర్మాణం యొక్క పలు అంశాలు. మేము OK ఉంటాం. టాప్, చేసినప్పుడు వద్ద అప్ కాబట్టి మేము ఏదైనా సృష్టించడానికి కావలసిన మేము ఏమి చేయాలి ముఖ్యంగా మీరు ఉంటే ఇది స్టాక్ నిల్వ లేదు అనుకుంటున్నారా కానీ కుప్ప లో? మేము కుడి, ఒక malloc వెళ్ళండి? కాబట్టి మేము ఒక పాయింటర్ సృష్టించడానికి వెళుతున్న. నోడ్ పాయింటర్, కొత్త సమానం ఒక నోడ్ యొక్క పరిమాణం malloc మేము కావలసిన ఎందుకంటే ఆ నోడ్ సృష్టించబడుతుంది. మేము మొత్తం కావాలా ఒక నోడ్ తీసుకుంటుంది మెమరీ కోసం కేటాయించిన వుంటుంది కొత్త నోడ్ యొక్క సృష్టి. మరియు తర్వాత మేము తనిఖీ చూడాలని కొత్త సమానం సమానం ఉంటే శూన్య చూడండి. మేము చెప్పారు ఏమి మర్చిపోయారా? Malloc ఏమైనప్పటికీ మీరు, మీరు ఎల్లప్పుడూ ఏమి చేయాలి? మీరు ఎల్లప్పుడూ చూడటానికి తనిఖీ చేయాలి లేదో ఆ NULL. ఉదాహరణకు, మీ ఆపరేటింగ్ వ్యవస్థ పూర్తిగా పూర్తి మీరు ఏ మరింత మెమరీ కలిగి ఉంటే అన్ని మరియు మీరు malloc ప్రయత్నించండి, మీరు శూన్య తిరిగి. కాబట్టి మీరు దాన్ని ఉపయోగించడానికి ప్రయత్నించండి ఉంటే అది శూన్యం సూచించే చేసినప్పుడు, మీరు చేయగలరు వెళ్ళడం లేదు చేస్తున్నాం ఆ సమాచారాన్ని ప్రాప్తి. కాబట్టి వంటి, మేము అనుకున్నారు చేసినప్పుడు మీరు mallocing చేస్తున్నారు నిర్ధారించుకోండి, మీరు ఎల్లప్పుడూ ఉంటే చూడటానికి తనిఖీ చేస్తున్నాము మీరు ఇచ్చిన ఆ స్మృతి NULL. అది కాదు ఉంటే, అప్పుడు మేము తరలించవచ్చు మా మిగిలిన కోడ్ తో. కాబట్టి మేము చేయబోతున్నామని కొత్త నోడ్ ప్రారంభించడం. మేము కొత్త n n సమానం చేయబోతున్నామని. మరియు తర్వాత మేము చేయబోతున్నామని కొత్త కొత్త పాయింటర్ సెట్ శూన్య ప్రస్తుతం మేము లేదు ఎందుకంటే అది సూచించడానికి కోసం ఏదైనా కావలసిన. మేము ఏ ఆలోచన ఎక్కడ ఉన్నాయి అది, మీరు ఉంచాలి జరగబోతోంది ఆపై మేము అనుకుంటే తల వద్ద ఇన్సర్ట్, అప్పుడు మేము ఉంచేందుకు తల పాయింటర్. ప్రతి ఒక్కరూ తర్కం అనుసరించండి లేదు ఇక్కడ జరుగుతున్నది ఆ? మేము చేస్తున్న అన్ని కొత్త సృష్టిస్తుంది నోడ్, శూన్యం పాయింటర్ సెట్, ఆపై సాయంతో ఇది తల మనం ఉంటే మేము తల వద్ద ఇన్సర్ట్ చెయ్యడానికి కావలసిన తెలుసు. ఆపై తల అన్నారు కొత్త నోడ్ దారితీస్తోంది. ఆ సరే అందరూ? కనుక ఇది ఒక రెండు దశల ప్రక్రియ ఉంది. మీరు మొదటి అప్పగిస్తారు పొందారు సంసార మీరు సృష్టిస్తున్నారు. ఆ పాయింటర్ సెట్ మీరు ప్రస్తావించడానికి, ఆపై చెయ్యవచ్చు dereference రకం మొదటి పాయింటర్ మరియు కొత్త నోడ్ వైపుగా అభిప్రాయపడుతున్నారు. మీరు ఇన్సర్ట్ కావలసిన ఎక్కడైతే, ఆ తర్కం నిజమైన నొక్కి అన్నారు. ఇది కేటాయించి వంటి రకంగా తాత్కాలిక వేరియబుల్స్. గుర్తుంచుకోండి, మీరు పొందారు నిర్ధారించుకోండి మీరు ఆ మీరు ఇచ్చిపుచ్చుకోవడం చేస్తుంటే ట్రాక్ కోల్పోతారు లేదు. మీరు ఒక కలిగి నిర్ధారించుకోవాలి రకమైన ఉంచుతుంది తాత్కాలిక వేరియబుల్ పేరు ఆ విషయం ట్రాక్ తద్వారా నిల్వ చేయబడుతుంది మీరు కోర్సు ఏ విలువ కోల్పోవడం లేదు అది తో చుట్టూ సమస్యను వంటి. OK, కాబట్టి కోడ్ ఇక్కడ ఉంటుంది. మీరు అబ్బాయిలు విభాగం తరువాత పరిశీలించి. అక్కడ ఉంటుంది. నేను ఎలా అంచనా మేము కోరుకుంటే ఈ తేడా మధ్య లేదా ముగింపు ఇన్సర్ట్? ఎవరైనా ఏమి ఒక ఆలోచన కలిగి ఉన్నారు తార్కిక సూచనగా pseudocode మేము కోరుకుంటే మేము పడుతుందని మధ్యలో అది ఇన్సర్ట్? కనుక మేము వద్ద ఇన్సర్ట్ కోరుకున్నాడు తల, మేము అన్ని ఒక కొత్త నోడ్ సృష్టించడానికి ఉంది. మేము ఆ పాయింటర్ సెట్ సంసార తల కొత్త నోడ్ ఆపై మేము తల సెట్ కొత్త నోడ్, కుడి? మేము మధ్యలో అది ఇన్సర్ట్ అనుకుంటే జాబితా మనం ఏమి వుంటుంది? ప్రేక్షకులు: ఇది ఇప్పటికీ చేస్తాను ఇదే ప్రక్రియ పాయింటర్ కేటాయించి వంటి మరియు అప్పుడు, ఆ పాయింటర్ కేటాయించి కానీ మేము అక్కడ గుర్తించడం వుంటుంది. అండీ పెంగ్: సరిగ్గా, కాబట్టి ఖచ్చితంగా మీరు తప్ప అదే ప్రక్రియ పేరు సరిగ్గా గుర్తించడం మీరు కొత్త పాయింటర్ వెళ్లాలనుకుంటే, నేను ఇన్సర్ట్ అనుకుంటే సరే జాబితా లింక్ మధ్యలో, యొక్క మా అనుబంధ జాబితా చెప్పాలి. మేము ఇక్కడే అది ఇన్సర్ట్ అనుకుంటే, మేము ఒక కొత్త నోడ్ సృష్టించడానికి చూడాలని. మేము malloc చూడాలని. మేము ఒక కొత్త నోడ్ సృష్టించడానికి చూడాలని. మేము పెట్టేందుకు చూడాలని ఇక్కడ ఈ నోడ్ పాయింటర్. కానీ సమస్య వ్యత్యాసంగా తల ఎక్కడ నుండి మేము ఖచ్చితంగా తెలుసు అని పేరు తల ఉంది. ఇది కుడి, మొదటి వద్ద సరైన? కానీ ఇక్కడ మేము ట్రాక్ పొందారు ఇక్కడ మేము అది లోకి ఇన్సర్ట్ చేస్తున్నారు. మేము ఇన్సర్ట్ కాకపోతే మా ఇక్కడ నోడ్, మేము పొందారు నిర్ధారించుకోండి ఈ నోడ్ మునుపటి ఒకటి పాయింటర్ reassigns ఒకటి. కాబట్టి అప్పుడు మీరు రకమైన కలిగి రెండు విషయాలు ట్రాక్. మీరు ఇక్కడ ఈ ట్రాక్ ఉంటే నోడ్ ప్రస్తుతం లోకి ఇన్సర్ట్ ఉంది. మీరు కూడా ఇక్కడ ట్రాక్ కలిగి మీరు శోధిస్తున్న మునుపటి నోడ్ అక్కడ కూడా ఉంది. ఆ మంచి అందరూ? అలాగే. ఎలా ముగింపు లోకి ఇన్సర్ట్ గురించి? నేను అనుకున్నాను నేను ఇక్కడ జోడించడానికి కోరుకుంటే జాబితా చివర ఒక కొత్త నోడ్ జోడించడానికి, నేను చేసే విధంగా గురించి వెళ్ళవచ్చు? ప్రేక్షకులు: సో ప్రస్తుతం గత ఒకరి శూన్య చూపారు. అండీ పెంగ్: అవును. సరిగ్గా, కాబట్టి ఈ ఒక ప్రస్తుతం తెలుసు చూపారు, అందువలన నేను ఈ కోణంలో, అంతే, అంచనా జాబితా చివర జోడించడానికి చాలా సులభం. మీరు చేయాల్సిందల్లా ఇది సెట్ చేయబడి శూన్యం ఆపై బూమ్ సమానం. అక్కడే, చాలా సులభం. చాలా సులభమైన. కు సమానమైన మీరు తల, కానీ తార్కికంగా చర్యలు నిర్ధారించుకోవాలి మీరు ఈ ఏ చేయడం పట్ల పడుతుంది మీరు వెంట అనుసరిస్తున్నారు. ఇది మధ్యలో, చాలా సులభం మీ కోడ్, న చిక్కుకున్నారో OH, నేను చాలా గమనికలు పొందారు. నేను ఎక్కడ తెలియదు ఏదైనా సూచించే. నేను కూడా నేను రెడీ ఇది నోడ్ తెలియదు. ఏం జరుగుతోంది? ఒక లోతైన శ్వాస తీసుకోవటానికి, డౌన్ ఉధృతిని, రిలాక్స్. మీ లింక్ జాబితా తీసుకోవటం. మీరు చెప్పే లేకపోతే, నేను సరిగ్గా తెలుసు, నేను ఈ ఇన్సర్ట్ అవసరం మరియు నేను నా ఉంచేందుకు ఎలా తెలియదు గమనికలు, చాలా, చాలా సులభంగా చిత్రానికి కళంకం చాలా, చాలా సులభం కాదు మీ కోడ్ దోషాలు కోల్పోతాయి. ఆ సరే అందరూ? అలాగే. కాబట్టి మనం కాదు ఉందన్న భావన ఊహించడం నిజంగా, ఇప్పుడు ముందు మాట్లాడారు మరియు నేను బహుశా మీరు అంచనా చాలా yet-- ఎదుర్కునే కాదు ఇది ఒక ఆధునిక concept-- రకంగా మేము నిజంగా ఒక డేటా కలిగి ఉంది నిర్మాణం ఒక రెట్టింపైన లింక్ జాబితా అని. మీరు అబ్బాయిలు చూడగలరు కాబట్టి, మేము చేస్తున్న అన్ని సృష్టిస్తుంది ఒక వాస్తవ విలువ, ఒక అదనపు మా నోడ్స్ యొక్క ప్రతి పాయింటర్ కూడా మునుపటి నోడ్ చూపాడు. సో మాత్రమే మేము మా ఉన్నాయి నోడ్స్ తదుపరి అభిప్రాయపడుతున్నారు. వారు కూడా గతంలో పాయింటు. నేను ఇప్పుడు ఈ రెండు విస్మరించండి వెళుతున్న. కాబట్టి మీరు ఒక గొలుసు ఆ రెండు మార్గాలు తరలించవచ్చు, మరియు అది ఒక బిట్ సులభం తార్కికంగా పాటు అనుసరించండి. ఇక్కడ వంటి, బదులుగా ఓహ్, పర్యవేక్షించడం, నేను ఈ నోడ్ అని తెలుసుకోవలసి ఉంటుంది నేను ఉంచేందుకు కలిగి ఒకటి, నేను ఇక్కడ వెళ్ళవచ్చు మరియు కేవలం మునుపటి లాగండి. అప్పుడు నేను ఖచ్చితంగా తెలుసు ఆ, మరియు అప్పుడు మీరు ప్రయాణించేందుకు లేదు లింక్ జాబితా సంపూర్ణంగా. ఇది ఒక బిట్ సులభం. కానీ వంటి, మీరు రెట్టింపైన కలిగి గమనికలు మొత్తం, ఆ స్మృతి మొత్తం డబుల్ వార్తలు. ఇది ట్రాక్ గమనికలు చాలా ఉంది. ఇది ఒక బిట్ మరింత క్లిష్టమైన, కానీ అది యూజర్ ఫ్రెండ్లీ ఆధారపడి ఒక బిట్ మరింత మీరు సాధనకు ప్రయత్నిస్తున్న ఏం. కాబట్టి డేటా ఈ రకం నిర్మాణం పూర్తిగా ఉంది మరియు నిర్మాణం చాలా, చాలా ఉంది మీరు ఉన్నట్లయితే అన్ని తప్ప సాధారణ, బదులుగా తరువాత ఒక పాయింటర్ యొక్క, మీరు కూడా మునుపటి ఒక పాయింటర్ ఉంది. ఆ తేడా ఉంది అనిపిస్తుంది. ఆ మంచి అందరూ? కూల్. All right, కాబట్టి ఇప్పుడు నేను ఉన్నాను నిజంగా బహుశా ఖర్చు 15 నుండి 20 నిమిషాలు లేదా సమూహ వంటి విభాగంలో సమయం మిగిలిన హాష్ పట్టికలు గురించి మాట్లాడటం. ఎలా మీరు అబ్బాయిలు చాలా Pset5 స్పెక్ చదివాను? అన్ని కుడి, మంచి. సాధారణంగా 50% కంటే ఎక్కువ. అది సరే. మీరు అబ్బాయిలు చూస్తారు కాబట్టి, మీరు Pset5 లో సవాలు ఉన్నాము ఒక నిఘంటువు అమలు ఉంటుంది మీరు 140,000 పైగా పదాలు లోడ్ పేరు మేము మరియు స్పెల్ తనిఖీ మీరు ఇచ్చే టెక్స్ట్ యొక్క అన్ని వ్యతిరేకంగా. మేము మీరు యాదృచ్ఛిక ఇస్తాము సాహిత్యం ముక్కలు. మేము మీరు ఒడిస్సీ ఇస్తాము. మేము మీరు ఇలియడ్ ఇస్తాము. మేము మీరు ఆస్టిన్ పవర్స్ ఇస్తాము. మరియు మీ సవాలు చెక్ అక్షరక్రమ ఉంటుంది అన్ని లో ప్రతి ఒక్క పదం ఆ నిఘంటువులు తప్పనిసరిగా మా స్పెల్ చెక్కర్ తో. అందువలన కొన్ని భాగాలు ఉంది ఈ pset సృష్టించే, మొదటి మీరు ఉండాలనుకుంటున్నాను నిజానికి లోడ్ చెయ్యగలరు అన్ని పదాలు మీ నిఘంటువు మరియు అప్పుడు మీరు కు చెయ్యగలరు అనుకుంటున్నారా వాటిని అన్ని తనిఖీ అక్షరక్రమ. కాబట్టి వంటి, మీరు అవసరం చూడాలని ఈ ఫాస్ట్ చేసే ఒక డేటా నిర్మాణం మరియు సమర్ధవంతంగా మరియు సాహసోపేతంగా. నేను సులభమయిన అనుకుందాం దీన్ని విధంగా, మీరు బహుశా కుడి, ఒక శ్రేణి సృష్టించడానికి ఉంటుంది? నిల్వ సులభమయిన మార్గం మీరు 140,000 పదాల వ్యూహం సృష్టించవచ్చు మరియు అక్కడే వాటిని అన్ని వుంచి అప్పుడు బైనరీ శోధన ద్వారా వాటిని సంచరిస్తారు లేదా కూర్పు లేదా not-- క్షమించండి ఆ అమర్చిన. మీరు వాటిని క్రమం మరియు తరువాత వాటిని ప్రయాణించి బైనరీ శోధన లేదా కేవలం సరళ శోధన ద్వారా మరియు కేవలం చివరి పదాలు, కానీ ఆ , మెమరీ భారీ మొత్తం పడుతుంది మరియు అది చాలా సమర్థవంతంగా కాదు. కాబట్టి మేము ఆరంభమవుతుంది చేస్తున్నారు చేయడానికి మార్గాలను గురించి మాట్లాడటం మా నడుస్తున్న సమయం మరింత సమర్థవంతంగా. మరియు మా లక్ష్యం పొందడానికి ఉంది స్థిరంగా సమయం ఎక్కడ అది దాదాపు శ్రేణులను పేరు వంటిది మీరు తక్షణ యాక్సెస్. నేను ఏదైనా కోసం అన్వేషణ అనుకుంటే, నేను కేవలం చెయ్యగలరు అనుకుంటున్నారా బూమ్, సరిగ్గా దానిని కనుగొనేందుకు, మరియు దాన్ని లాగండి. కాబట్టి ఒక నిర్మాణం ఒక మేము చాలా దగ్గరగా మారుతోంది అవుతారు నిరంతరం యాక్సెస్ చెయ్యలేరు సమయం, ఈ పవిత్ర గ్రెయిల్ స్థిరాంకం ప్రోగ్రామింగ్ సమయం ఒక హాష్ పట్టిక అంటారు. అందువలన డేవిడ్ ఇంతకుముందు పేర్కొన్న [వినబడని] ఉపన్యాసంలో కొద్దిగా, కానీ మేము నిజంగా చూడాలని లోతైన ఈ వారంలో డైవ్ గురించి ఒక భాగం పై ఎలా ఒక హాష్ పట్టిక పనిచేస్తుంది. కాబట్టి ఆ విధంగా ఒక హాష్ పట్టిక రచనలు, ఉదాహరణకు, నేను పదాల సమూహం నిల్వ కోరుకుంటే, ఒక ఆంగ్ల భాషలో పదాలు గుత్తిని నేను సిద్ధాంతపరంగా చాలు కాలేదు అరటి, ఆపిల్, న్యూజిలాండ్ దేశస్థుడు, మామిడి, జత, మరియు అన్ని కేవలం ఒక శ్రేణి cantaloupe. వారు అన్ని సరిపోతుంది మరియు కనుగొనేందుకు. అది ఒక నొప్పి యొక్క రకం అంటాను మరియు యాక్సెస్ ద్వారా శోధించవచ్చు, కానీ ఈ చేయడం సులభంగా మార్గం మేము ఒక నిర్మాణం నిజానికి సృష్టించవచ్చు ఆ మేము హాష్ పేరు ఒక హాష్ పట్టిక అని. మేము ద్వారా మా కీలు అన్ని అమలు ఒక హాష్ ఫంక్షన్ను, ఒక సమీకరణం, ఆ వాటిని మలుపులు అన్ని క్రింది విధమైన అప్పుడు మేము పై నిల్వ చేసే లింక్ జాబితా తప్పనిసరిగా ఒక అర్రే. కాబట్టి ఇక్కడ మేము కోరుకుంటే ఆంగ్ల పదాలు నిల్వ మనం సమర్థవంతంగా కేవలం అనుకొనుట, నాదగ్గర , తెలిసిన అన్ని మొదటి అక్షరాలు చెయ్యి అనేక విధమైన. అందువలన, ఉదాహరణకు, ఒకవేళ నేను కోరుకున్న ఒక apple-- పర్యాయపదంగా ఉంటుంది లేదా 0 సూచిక, మరియు B, 1 పర్యాయపదంగా ఉంటుంది మేము 26 ఎంట్రీలు కలిగి కేవలం నిల్వ చేయవచ్చు అక్షరాలు అన్ని మేము ప్రారంభం చేస్తాము అని వర్ణమాల. మరియు తర్వాత మేము చేయవచ్చు 0 వద్ద ఇండెక్స్ ఆపిల్. మేము యొక్క సూచిక వద్ద అరటి కలిగి చేయవచ్చు 1, 2 సూచిక వద్ద cantaloupe, మరియు అందువలన న మొదలగునవి. అందుచేత నేను అన్వేషణ కోరుకుంటే నా హాష్ పట్టిక మరియు యాక్సెస్ ఆపిల్, నేను ఆపిల్ తో మొదలవుతుంది తెలుసు A, మరియు నేను ఖచ్చితంగా తెలుసు అది మరియు హాష్ తప్పక సూచిక 0 ఎందుకంటే పట్టిక ఫంక్షన్ గతంలో కేటాయించిన. నాకు తెలీదు కాబట్టి, మనం ఒక వినియోగదారు ప్రోగ్రామ్ పేరు మీరు అభియోగాలు అవుతారు ఏకపక్ష లేదు arbitrarily--, thoughtfully ప్రయత్నం మంచి సమీకరణాల అనుకుంటున్నాను వ్యాప్తి చెయ్యలేరు మీ విలువలు అన్నింటినీ ఒక విధంగా వారు సులభంగా యాక్సెస్ చేయవచ్చు తరువాత ఇది ఒక సమీకరణం వంటి మీరు ఆ మీరే తెలుసు. నేను వెళ్ళడానికి కోరుకుంటే భావంలో కాబట్టి మామిడి, నేను ఓహ్, ఇది m మొదలవుతుంది, తెలుసు. ఇది 12 యొక్క ఇండెక్స్ వద్ద ఉండాలి. నేను ఏదైనా శోధించుటకు అవకాశం లేదు. నేను వెళ్ళటానికి exactly-- నాకు తెలుసు మరియు 12 యొక్క ఇండెక్స్ ఆ ఉపసంహరించుకునేలా. ఎలా ఒక అందరూ స్పష్టమైన హాష్ పట్టిక యొక్క ఫంక్షన్ పనిచేస్తుంది? ఇది కేవలం ఒక మరింత క్లిష్టమైన శ్రేణి యొక్క ఉంటాము. అది అంతే. అలాగే. కాబట్టి మనం ఆకస్మికంగా అంచనా ఈ సమస్య ఏమి మీరు బహుళ విషయాలు కలిగి ఏమవుతుంది మీరు అదే సూచిక ఇవ్వాలని? అన్ని, అది మా ఫంక్షన్ చెప్పటానికి అని మొదటి లేఖ చేద్దామని ఉంది మరియు ఒక ఆ మలుపు 0 సూచిక 25 ద్వారా సంబంధిత. ఒకవేళ పూర్తిగా మంచిది మీరు మాత్రమే ప్రతి ఒకటి ఉంటుంది. కాని రెండవ మీరు మొదలు ఎక్కువ కలిగి, మీరు ఢీకొన్న అని ఏమి పొందబోతున్నారు. నేను ఇన్సర్ట్ చెయ్యడానికి ప్రయత్నించండి ఉంటే ఒక హాష్ లోకి బరీ కాబట్టి ఇప్పటికే అది అరటి కలిగి పట్టిక, ఏమి జరుగుతుందో మీరు ఇన్సర్ట్ చెయ్యడానికి ప్రయత్నించండి? కారణంగా బాడ్ థింగ్స్ అరటి ఇప్పటికే ఇండెక్స్ లోపల ఉంది మీరు దానిని నిల్వ కావలసిన. బెర్రీ రకమైన నేను ఏమి చేస్తారు, AH వంటిది? నేను ఎక్కడికి వెళ్ళాలో తెలియదు. నేను ఈ ఎలా పరిష్కరించడానికి చెయ్యాలి? కాబట్టి మీరు అబ్బాయిలు రెడీ రకమైన మేము ఈ గమ్మత్తైన విషయం చూడటానికి ఇక్కడ మేము రకమైన వాస్తవానికి మా శ్రేణుల లో లింక్ జాబితా సృష్టించడానికి. కాబట్టి సులభమయిన మార్గం ఈ గురించి ఆలోచించడం, అన్ని హాష్ పట్టిక ఉంది ఒక లింక్ జాబితాలు శ్రేణి. కాబట్టి, ఆ కోణంలో, మీరు గమనికలు ఈ అందమైన శ్రేణి, ఆపై ప్రతి పాయింటర్ లో ఆ విలువ, ఇండెక్స్ లో, నిజానికి ఇతర విషయాలను సూచించండి చేయవచ్చు. కాబట్టి మీరు అన్ని ఈ ప్రత్యేక ఉన్నాయి ఒక పెద్ద అర్రే వీచే గొలుసులు. మరియు ఇక్కడ, నేను ఉంటే బెర్రీ చొప్పించాలని కోరుకుంటే, నేను సరే, నేను ఇన్పుట్ వెళుతున్న తెలుసు ఇది నా హాష్ ఫంక్షన్ ద్వారా. నేను సూచిక వదులుకోవడానికి వెళుతున్న 1, ఆపై నేను కలిగి చెయ్యలేరు వెళుతున్న ఈ కేవలం ఒక చిన్న ఉపసమితి దిగ్గజం 140,000-నిఘంటువులో పదం. మరియు తర్వాత నేను చూడవచ్చు ఆ 1/26 ద్వారా. కాబట్టి అప్పుడు నేను చేర్చగలను ముందు లేదా అరటి తరువాత గాని బెర్రీ ఈ విషయంలో? తరువాత, కుడి? కాబట్టి మీరు కావలసిన చూడాలని అరటి తరువాత ఈ నోడ్ ఇన్సర్ట్, అందువలన మీరు ఇన్సర్ట్ చూడాలని ఆ లింక్ జాబితా తోక వద్ద. నేను తిరిగి వెళ్ళడానికి వెళుతున్న ఈ మునుపటి స్లయిడ్, కాబట్టి మీరు అబ్బాయిలు ఎలా చూడగలరు హాష్ ఫంక్షన్ రచనలు. కాబట్టి హాష్ ఫంక్షన్ ఈ సమీకరణం ఉంది మీరు మీ ఇన్పుట్ రకం రన్ చేస్తున్న పొందడానికి సంసార ఇండెక్స్ ద్వారా మీరు వైపుగా పెట్టేందుకు కావలసిన. అందువలన, ఈ ఉదాహరణ లో, అన్ని మనం కోరుకున్న అలా, మొదటి అక్షరం చేద్దామని ఉంది మేము అప్పుడు, ఒక ఇండెక్స్ ఆ మలుపు మా హాష్ ఫంక్షన్ లో ఆ నిల్వ చేయవచ్చు. మేము ఇక్కడ చేస్తున్నా అన్ని మేము ఉన్నాము ఉంది మొదటి అక్షరం మార్చుతుంది. కాబట్టి keykey [0] కేవలం మొదటి అక్షరం సంసార స్ట్రింగ్ యొక్క మేము కలిగి ఉన్నాము, మేము అక్కడ చేస్తున్నారు. మేము ఎగువ ఆ మార్చటం చేస్తున్నారు మేము పెద్ద A ద్వారా తీసివేయడం చేస్తున్నారు అలా అని అన్ని మాకు ఒక సంఖ్య ఇవ్వడం దీనిలో మేము మా విలువలు మీదకు హాష్ చేయవచ్చు. ఆపై మేము చేయబోతున్నామని హాష్ మాడ్యులస్ SIZE తిరిగి. చాలా జాగ్రత్తగా ఉండండి సిద్ధాంతపరంగా, ఇక్కడ, ఎందుకంటే మీ హాష్ విలువ అనంతం కావచ్చు. ఇది కేవలం ఆన్ మరియు మరియు వెళ్ళవచ్చు. ఇది నిజంగా కొన్ని కావచ్చు నిజంగా పెద్ద విలువ, కానీ మీ హాష్ పట్టిక ఎందుకంటే ఆ మీరు సృష్టించిన మాత్రమే 26 సూచికలు ఉంది, మీరు నిర్ధారించుకోవాలి మీ modulusing కాబట్టి మీరు ఇది సేమ్, రన్ లేదు మీ క్యూ వంటి విషయం మీరు ఆఫ్ అమలు లేని మీ హాష్ ఫంక్షన్ దిగువన. మీరు దాని చుట్టూ తిరిగి మూసివేయాలని కావాలి [వినబడని] ఉన్నప్పుడు అదే విధంగా మీరు చాలా వంటి కలిగి చాలా పెద్ద అక్షరం, మీరు ఆ కోరుకోలేదు కేవలం ముగింపు ఆఫ్ అమలు. ఇక్కడ అదే విషయం, మీరు నిర్ధారించుకోవాలి చుట్టడం ద్వారా ముగింపు ఆఫ్ నడవదు చుట్టూ పట్టిక ఎగువకు. కాబట్టి ఈ కేవలం చాలా సాధారణ హాష్ ఫంక్షన్. చేసింది తీసుకుంటున్నారా మొదటిది సంసార మా ఇన్పుట్ లేఖ ఉంది మరియు ఒక సూచిక ఆ మలుపు మా హాష్ పట్టిక లోకి చాలు కాలేదు. అవును, మరియు నేను ముందు చెప్పారు వంటి మేము ప్రమాదాలలో పరిష్కరించడానికి ఆ విధంగా మా హాష్ పట్టికలు కలిగి ఉన్నారు, మేము కూర్పికం ఏమి కాల్. మీరు బహుళ ఇన్సర్ట్ చెయ్యడానికి ప్రయత్నించండి చేస్తే ఇదే ప్రారంభం పదాలు, మీరు ఒక హాష్ విలువ చూడాలని. అవకాడొలు మరియు ఆపిల్, మీరు చేసిన ఉంటే మా హాష్ ఫంక్షన్ ద్వారా అమలు మీరు ఇవ్వాలని వెళ్తున్నారు అదే నెంబర్, 0 సంఖ్య. కాబట్టి మార్గం మేము అని పరిష్కరించడానికి మేము నిజంగా రకమైన వాటిని లింక్ చేసే కలిసి లింక్ జాబితాలు ద్వారా. అందువలన ఈ కోణంలో, మీరు అబ్బాయిలు రకమైన చూడగలరు ఎలా డేటా నిర్మాణాలు మేము గతంలో సెట్ చేసిన ఒక రైసిన్ లింక్ జాబితా రకమైన వంటి ఒకటి కలిసి రావచ్చు. ఆపై మీరు చాలా సృష్టించవచ్చు మరింత సమర్థవంతంగా డేటా నిర్మాణాలు ఆ పెద్ద మొత్తంలో నిర్వహించగలుగుతుంది డేటా అని డైనమిక్ ఆధారపడి పరిమాణాన్ని మీ అవసరాలకు. అందరూ స్పష్టమైన? స్పష్టమైన అందరూ రకమైన ఇక్కడ ఏమి? నేను ఇన్సర్ట్ అనుకుంటే ఒక ఏమిటి నాకు తెలీదు, తో మొదలవుతుంది పండు, బెర్రీ కంటే ఇతర B, బనానా. ప్రేక్షకులు: బ్లాక్బెర్రీ. అండీ పెంగ్: బ్లాక్బెర్రీ, బ్లాక్బెర్రీ. ఎక్కడ బ్లాక్బెర్రీ ఇక్కడ గడిచిపోయింది? Well, మేము నిజానికి మటుకు లేదు ఈ ఇంకా, కానీ సిద్ధాంతపరంగా మేము ఈ కలిగి కోరుకుంటే అక్షర క్రమంలో, ఎక్కడికి వెళ్ళాలో బ్లాక్బెర్రీ చేయాలి? ప్రేక్షకులు: [వినబడని] అండీ పెంగ్: సరిగ్గా ఇక్కడ తర్వాత, కుడి? కానీ అది చాలా కష్టం నుండి reorder-- నేను మీరు అబ్బాయిలు వరకు అంచనా. మీరు అబ్బాయిలు పూర్తిగా చెయ్యవచ్చు మీకు కావలసిన సంసార అమలు. కట్టలుగా బహుశా ఈ చేయడం మీ లింక్ క్రమం ఉంటుంది వర్ణక్రమంలో జాబితా అందువలన మీరు ఉన్నప్పుడు విషయాలు ఇన్సర్ట్, మీకు కావలసిన వాటిని ఇన్సర్ట్ తప్పకుండా వర్ణక్రమంలో కాబట్టి అప్పుడు మీరు ఉన్నప్పుడు వాటిని అన్వేషణ ప్రయత్నిస్తున్న, మీరు ప్రతిదీ ప్రయాణించేందుకు కలిగి లేదు. మీరు సరిగ్గా తెలుసు అది, మరియు అది సులభం. కానీ మీరు రకమైన ఉంటే విషయాలు, యాదృచ్ఛికంగా కోవలో మీరు ఇప్పటికీ చూడాలని ఏమైనప్పటికీ ఇది ప్రయాణించేందుకు. కాబట్టి నేను కోరుకుంటే కేవలం బ్లాక్బెర్రీ ఇక్కడ చొప్పించండి మరియు నేను కోసం అన్వేషణ కావలెను అది నేను OH, తెలిసిన, బ్లాక్బెర్రీ 1 సూచిక ప్రారంభం, నేను తప్పక తక్షణమే కేవలం 1 అన్వేషణ తెలుసు. ఆపై నేను రకమైన చెయ్యవచ్చు లింక్ జాబితా సంచరిస్తారు నేను బ్లాక్బెర్రీ ను వరకు, మరియు అవును then--? ప్రేక్షకులు: మీరు create-- ప్రయత్నిస్తున్న ఉంటే ఈ చాలా సులభమైన హాష్ ఉంది వంటి నేను ఊహిస్తున్నాను ఫంక్షన్. మరియు మేము అలా కోరుకుంటే ఆ వంటి పలు పొరల సరే, మేము లోకి వేరు అనుకుంటే అన్ని అక్షర అక్షరాలు వంటి ఆపై మళ్ళీ మరో సెట్ ఇష్టం ఆ లోపల అక్షర అక్షరాలు, మేము ఒక హాష్ వంటి పెట్టటం ఉంటాయి ఒక హాష్ పట్టిక లోపల పట్టిక, లేదా ఒక ఫంక్షన్ లో ఒక ఫంక్షన్ వంటి? లేదా ఆ ఉంది అండీ పెంగ్: మీ హాష్ కాబట్టి మీ హాష్ పట్టిక ఫంక్షన్ మీరు కావలసిన పెద్ద కావచ్చు. కాబట్టి ఈ కోణంలో, నేను భావించాను ఇది చాలా సులభం నాకు సాధారణ కేవలం విధమైన ఆధారంగా మొదటి పదం యొక్క అక్షరాల మీద. అందువలన మాత్రమే 26 ఎంపికలు ఉంది. నేను మాత్రమే నుండి 26 ఎంపికలు పొందవచ్చు 25 0 ఎందుకంటే వారు మాత్రమే చెయ్యవచ్చు A నుండి Z లో మొదలు కానీ మీరు అనుకుంటే , బహుశా, మరింత సంక్లిష్టత జోడించడానికి లేదా వేగంగా సమయం అమలు మీ హాష్ పట్టిక, మీరు ఖచ్చితంగా విషయాలు అన్ని రకాల చేయవచ్చు. మీరు మీ సొంత చేయవచ్చు మీరు ఇచ్చే సమీకరణం మరింత పంపిణీ మీ పదాలు, అప్పుడు మీరు శోధించినప్పుడు అది వేగంగా చేస్తాడు. ఇది పూర్తిగా మీరు అబ్బాయిలు ఇష్టం ఎలా మీరు ఆ అమలుచెయ్యాలని. కేవలం బకెట్లు వంటి ఆలోచించి. నేను కలిగి కోరుకున్నాడు ఉంటే 26 బక్కెట్లు, నేను వెళుతున్నాను ఆ బకెట్లు లోకి విషయాలు క్రమం. కానీ నేను ఒక సమూహం కలిగి వెళుతున్న ప్రతి బకెట్ లో stuff, మీరు దాన్ని అనుకుంటే వేగంగా మరియు మరింత సమర్థవంతమైన, నాకు వంద బకెట్లు కలిగి తెలపండి. కానీ అప్పుడు మీరు ఒక అవ్ట్ దొరుకుతుందని కలిగి వారు ఉన్నారు కాబట్టి మార్గం విషయాలు క్రమం సరైన బకెట్ లో వారు ఉండాలి. కానీ అప్పుడు ఉన్నప్పుడు నిజానికి మీరు ఆ బకెట్ వద్ద వెళ్లాలనుకుంటున్నాను, ఉంది ఎందుకంటే అది చాలా వేగంగా ఉంది ప్రతి బకెట్ లో తక్కువ stuff. కాబట్టి, అవును, ఆ నిజానికి Pset5 లో మీరు అబ్బాయిలు కోసం ట్రిక్ మీరు ఉంటాం అని కేవలం సృష్టించడానికి సవాలు అత్యంత సమర్థవంతమైన ఎలాగైనా మీరు ఆలోచించవచ్చు కార్యకలాపంగా నిల్వ మరియు ఈ విలువలను తనిఖీ చేయగలుగుతారు. పూర్తిగా మీరు అబ్బాయిలు వరకు అయితే మీరు చేయాలనుకుంటున్నారా, కానీ ఒక మంచి పాయింట్. తర్కం యొక్క రకమైన మీరు గురించి ఆలోచిస్తూ ప్రారంభించడానికి కావలసిన బాగా, ఎందుకు నేను మరింత బకెట్లు చేయటం లేదు, ఉంది. ఆపై నేను వెతుకుతున్నాం తక్కువ విషయాలు, మరియు అప్పుడు నేను వేరే హాష్ ఫంక్షన్ కలిగి. అవును, దీన్ని ఎన్నోవిధాలుగా ఉంది pset, కొన్ని ఇతరులు కంటే వేగంగా ఉంటాయి. నేను పూర్తిగా ఎంత చూడండి వెళుతున్న ఫాస్ట్ వేగంగా మీరు అబ్బాయిలు సంకల్పం మీ విధులు పని పొందుటకు చెయ్యగలరు. సరే, ప్రతి ఒక్కరూ మంచి కూర్పికం మరియు హాష్ పట్టికలు? ఇది చాలా సులభమైన వంటి నిజానికి మీరు దాని గురించి భావన అనుకుంటే. ఇది అన్ని వేరు సంసార మీ ఇన్పుట్లను బకెట్లు లోకి, వాటిని సార్టింగ్, ఆపై శోధించడం అక్కడ సంబంధం కలిగి జాబితా. కూల్. All right, ఇప్పుడు మేము వేరే విధమైన కలిగి డేటా నిర్మాణం ఒక చెట్టు అని. యొక్క వెళ్ళి తెలపండి మరియు ప్రయత్నాలు గురించి మాట్లాడటానికి ఇది భిన్నంగా ఉంటాయి కానీ అదే వర్గం లో. అత్యావశ్యకము, అన్ని ఒక చెట్టు బదులుగా ఉంది యొక్క సరళ విధంగా డేటా నిర్వహణ ఒక హాష్ పట్టిక మీరు దేనిని ఆ అది ఒక ఎగువ మరియు దిగువ వచ్చింది తెలుసు ఆపై మీరు రకమైన దానిని ఒక ఆఫ్ లింకున్న చెట్టు మీరు root కాల్ ఇది ఒక ఉన్నత మరియు అది అన్ని దాని చుట్టూ ఆకులు కలిగి ఉంది. కాబట్టి అన్ని మీరు ఇక్కడ కలిగి కేవలం టాప్ నోడ్ ఉంది ఇతర నోడ్స్, పాయింట్లు సూచిస్తుంది నోడ్స్, మరియు అందువలన న మొదలగునవి. కాబట్టి మీరు విభజన శాఖలు ఉన్నాయి. ఇది నిర్వహించాలనే వేరొక మార్గం డేటా, మరియు మేము అది ఒక చెట్టు కాల్ ఎందుకంటే, మీరు అబ్బాయిలు ఇది కేవలం కేవలం ఒక చెట్టు లాగా బయటకు మోడల్గా చేసింది. మేము చెట్లు కాల్ ఎందుకు ఆ వార్తలు. హాష్ పట్టిక పట్టిక కనిపిస్తుంది. ఒక చెట్టు కేవలం ఒక చెట్టు కనిపిస్తుంది. ఇది అన్ని ఒక ప్రత్యేక ఉంది నోడ్స్ నిర్వహించాలనే మార్గం మీ అవసరాలను ఏమిటో బట్టి. సో మీరు ఒక root మరియు అప్పుడు మీరు పత్రాలను కలిగి ఉంటాయి. మార్గం మేము ముఖ్యంగా చెయ్యవచ్చు ఇది ఒక బైనరీ చెట్టు గురించి ఆలోచించడం, ఒక బైనరీ చెట్టు కేవలం ఉంది ఒక చెట్టు యొక్క నిర్దిష్ట రకం ఇక్కడ ప్రతీ నోడ్ మాత్రమే పాయింట్లు కు, గరిష్టంగా వద్ద, రెండు ఇతర నోడ్స్. మరియు ఇక్కడ మీరు విభిన్న కలిగి మీ చెట్టు లో సమరూపత అది సులభంగా రకమైన చూడండి చేస్తుంది ఏ విలువలను వద్ద మీరు అప్పుడు మీరు ఎందుకంటే ఎల్లప్పుడూ ఒక ఎడమ లేదా హక్కు. నుండి ఎడమ మూడవ వంటి ఎప్పటికీ ఎడమ లేదా ఎడమ నుండి నాలుగవ. ఇది మీరు ఎడమ మరియు హక్కు కేవలం మరియు మీరు ఆ రెండు గాని శోధించవచ్చు. కాబట్టి ఎందుకు ఈ ఉపయోగపడుతుంది? ఈ విధంగా మీరు చూస్తున్న ఉంటే ఉపయోగపడుతుంది కుడి, విలువలు శోధించుటకు అవకాశం? అయితే బైనరీ అమలు కంటే లోపం శ్రేణి లో అన్వేషణ మీరు నోడ్స్ ఇన్సర్ట్ చెయ్యలేరు కోరుకుంటే రెడీ వద్ద మరియు కూడా నోడ్స్ సర్వులు శోధన సంరక్షించేందుకు బైనరీ శోధన సామర్థ్యాలను. కాబట్టి ఈ విధంగా, మేము రకమైన ఉన్నాము మేము గుర్తుంచుకోవాలి tricking-- లింక్ జాబితాలు బైనరీ శోధన కాదు చెప్పారు? మేము రకమైన, ఒక డేటా నిర్మాణం సృష్టిస్తున్నారు మాయలు పని లోకి ఆ. అందువలన ఎందుకంటే అనుసంధాన జాబితాలు సరళంగా ఉంటాయి వారు మాత్రమే ఇతర తర్వాత ఒక లింక్. మేము రకమైన కలిగి గమనికలు వివిధ విధమైన వివిధ నోడ్స్ ఆ పాయింట్ ఆ శోధన మాకు సహాయపడుతుంది. మరియు ఇక్కడ, ఉంటే నేను కోరుకున్నాడు ఒక బైనరీ శోధన చెట్టు కలిగి, నాకు తెలుసు నా మధ్య ఆ 55 ఉంటే. నేను ఆ సృష్టించడానికి వెళుతున్న నా మధ్యలో వంటి, నా రూటులో, ఆపై నేను కలిగి వెళుతున్న విలువలు ఆఫ్ స్పిన్. ఇక్కడ, నేను కోసం అన్వేషణ వెళుతున్న ఉంటే 66 విలువ, నేను 55 వద్ద ప్రారంభించవచ్చు. ఇది 55 కంటే 66 ఎక్కువ? అవును ఇది, కనుక నేను అన్వేషణ Mus తెలుసు నేను n ఈ చెట్టు యొక్క కుడి పాయింటర్. నేను 77 వెళ్ళండి. సరే, కంటే తక్కువ లేదా 77 కంటే ఎక్కువ 66? ఓహ్, ఇది కంటే తక్కువగా, కాబట్టి మీరు తెలుసు, ఎడమ నోడ్ ఉండాలి. మరియు ఇక్కడ మేము రకమైన సంరక్షించడానికి చేసిన శ్రేణుల గురించి గొప్ప విషయాలు అన్ని కాబట్టి డైనమిక్ పునఃపరిమాణం వంటి వస్తువుల ఉండటం ఇన్సర్ట్ మరియు ఇష్టానికి వద్ద తొలగిస్తే, స్థిర గురించి ఆందోళన చేయకుండా స్థలం మొత్తం. మేము ఇంకా అన్ని సంరక్షించేందుకు ఆ అద్భుతమైన విషయాలు కూడా సంరక్షించేందుకు సామర్థ్యం ఉండగా లాగిన్ బైనరీ శోధన సమయంలో అన్వేషణ మేము గతంలో మాత్రమే అని ఒక పదబంధం పొందలేరు. కూల్ డేటా నిర్మాణం రకమైన క్లిష్టమైన, నోడ్ అమలు. మీరు అన్ని గమనిస్తే నోడ్ యొక్క struct ఉంది మీరు ఎడమ కలిగి ఉంది మరియు ఒక రైట్ పాయింటర్. అది అంతే. కాబట్టి బదులుగా కేవలం కంటే ఒక x లేదా ఒక మునుపటి కలిగి. అప్పుడు మీరు ఎడమ లేదా హక్కు కలిగి, మరియు మీరు రకమైన వాటిని కలిసి లింక్ చేయవచ్చు అయితే మీరు ఎంచుకుంటే. సరే, మేము నిజంగా చూడాలని కేవలం కొన్ని నిమిషాలు పట్టవచ్చు. కాబట్టి మేము ఇక్కడ తిరిగి వెళ్లి చూడాలని. నేను గతంలో చెప్పిన విధంగా, నేను రకమైన వివరించారు మేము ఎలా వెనుక తర్కం ఈ ద్వారా అన్వేషణ అనుకుంటే. మేము ప్రయత్నించండి చూడాలని ఈ pseudocoding చూడటానికి మేము రకమైన దరఖాస్తు చేసుకోవచ్చు ఉంటే బైనరీ శోధన అదే తర్కం డేటా నిర్మాణం యొక్క వేరొక రకం. మీరు అబ్బాయిలు ఒక జంట వంటి పడుతుంది అనుకుంటే నిమిషాల కేవలం ఈ గురించి ఆలోచించడం. అలాగే. అన్ని కుడి, నేను వెళుతున్న నిజానికి మీరు ఏ ఉన్నారు ఇవ్వాలని, మేము మొదటి pseudocode గురించి మాట్లాడదాము. కాబట్టి ఎవరైనా అనుకుంటుంది ఒక ఉదంతం ఇవ్వాలని ఏమి మీరు ఉన్నప్పుడు చేయాలనుకుంటున్నారా మొదటి విషయం మీరు శోధించడం బయటకు మొదలు పెడుతున్నారు? మేము చూస్తున్న ఉంటే 66 విలువ ఏమిటి మనం ఉంటే చేయాలనుకుంటున్నారా మొదటి విషయం మేము ఈ చెట్టు శోధించవచ్చు బైనరీ అనుకుంటున్నారా? ప్రేక్షకులు: మీరు కుడి చూడవచ్చు మరియు [వినబడని] ఎడమ చూస్తాను ఎక్కువ సంఖ్య. అండీ పెంగ్: అవును, సరిగ్గా. కాబట్టి మీరు మీ root చూడండి చూడాలని. మీరు కాల్ చేయవచ్చు మార్గాలు ఎన్నో ఉన్నాయి ఇది మీ పేరెంట్ నోడ్ ప్రజలు అంటున్నారు. నేను ఎందుకంటే రూట్ చెప్పటానికి ఇష్టం ఆ చెట్టు యొక్క రూట్ వంటిది. మీరు చూడండి చూడాలని మీ రూట్ నోడ్, మరియు మీరు చూడండి వెళుతున్న 66 ఎక్కువ కంటే ఎక్కువ లేదా తక్కువ కంటే 55. మరియు అది బాగా, అది, కంటే ఎక్కువ ఉంటే కంటే ఎక్కువ, మేము ఇక్కడ చూడండి అనుకుంటున్నారు? ఎక్కడ మేము right, ఇప్పుడు అన్వేషణ అనుకుంటున్నారు? మేము శోధించడానికి మీరు ఈ చెట్టు యొక్క కుడి సగం. కాబట్టి మేము, సౌకర్యవంతంగా, ఒక కుడి చూపాడు పాయింటర్. కాబట్టి అప్పుడు మేము సెట్ మా కొత్త రూట్ 77 ఉండాలి. మేము కేవలం ఎక్కడ వెళ్ళవచ్చు పాయింటర్ సూచించబడిన. Well, OH, ఇక్కడ మేము మొదలు పెడుతున్నారు 77 వద్ద, మరియు మేము కేవలం చెయ్యవచ్చు పునరావృతంగా మళ్లీ మళ్లీ దీన్ని. ఈ విధంగా, మీరు రకమైన ఒక చర్య. మీరు ఆ శోధించడం ఒక మార్గం కలిగి కేవలం మరియు పైగా మరియు పైగా పైగా పునరావృతం చేయవచ్చు, మీరు చూడండి ఎక్కడ ఆధారపడి మీరు చివరకు విలువ వచ్చేవరకు మీరు శోధిస్తున్న ఆ. అర్ధవంతం? నేను మీరు అసలు చూపించడానికి గురించి ఉన్నాను కోడ్, మరియు అది కోడ్ చాలా ఉంది. అవసరం ఫ్రీక్ కు. మేము అది ద్వారా మాట్లాడదాము. అసలైన, ఏ. కేవలం pseudocode ఉంది. సరే, ఆ కేవలం pseudocode ఉంది ఇది ఒక బిట్ సంక్లిష్టంగా ఉంటుంది, కానీ అది పూర్తిగా మంచిది. ఇక్కడ అందరూ పాటు కింది? రూట్ శూన్య ఉంటే, తిరిగి తప్పుడు అంటే ఎందుకంటే మీరు కూడా అక్కడ ఏదైనా లేదు. రూట్ n ఉంటే కాబట్టి విలువ, ఉంటే అది మీరు శోధిస్తున్న ఒకటి నిర్మాణము, అప్పుడు మీరు నిజమైన తిరిగి చూడాలని మీరు తెలుసు ఎందుకంటే మీరు కనుగొన్నారు. కానీ విలువ తక్కువ ఉంటే n యొక్క మూలం కంటే, మీరు ఎడమ శోధించండి పిల్లల లేదా ఎడమ ఆకు, మీరు కాల్ కావలసినట్లు. మరియు విలువ మూలం కంటే ఎక్కువ ఉంటే, మీరు కుడి చెట్టు అన్వేషణ చూడాలని, అప్పుడు కేవలం ఫంక్షన్ అమలు శోధన ద్వారా మళ్ళీ. మరియు root శూన్య ఆ ఉంటే మీరు ముగింపు చేరుకున్నారు అంటే? ఆ సంఖ్య మీరు కలిగివుంటాయి మరింత ఆకులు శోధించడానికి, అప్పుడు మీరు నేను తెలిసిన, OH, అది ఇక్కడ కాదు అంచనా నేను ద్వారా చూసారు చేసిన తర్వాత ఎందుకంటే మరియు అది ఇక్కడ కాదు మొత్తం విషయం, అది కేవలం ఇక్కడ కాదు. అందరికి సమంజసం లేదు? కాబట్టి అది పరిరక్షించే బైనరీ శోధన వంటిది లింక్ జాబితాలు సామర్థ్యాలు. బాగుంది, మరియు కనుక రెండవ రకం డేటా నిర్మాణం మీరు అబ్బాయిలు మీ pset న అమలు ప్రయత్నించవచ్చు, మీరు మాత్రమే ఒక పద్ధతి ఎంచుకోవడానికి కలిగి. కానీ బహుశా ఒక ప్రత్యామ్నాయ పద్ధతి హాష్ పట్టిక మేము ఒక trie కాల్ ఏమిటి. అన్ని ఒక trie ఒక చెట్టు యొక్క నిర్దిష్ట రకం ఇతర విలువలు వెళ్ళండి విలువలను కలిగి ఉంది. సో బదులుగా ఒక బైనరీ కలిగి భావంలో చెట్టు కేవలం మూడింట విషయం రెండు లను సూచిస్తుంది, మీరు కలిగి అనేక విషయాలు ఒక విషయం పాయింట్. మీరు తప్పనిసరిగా శ్రేణుల కలిగి వీటిలో మీరు నిల్వ లోపల ఇతర శ్రేణుల పాయింటు గమనికలు. కాబట్టి మేము ఎలా నోడ్ ఒక trie చెప్పబడతాయి మేము ఒక కలిగి కావలసిన ఉంది బూలియన్, c పదం, కుడి? కాబట్టి నోడ్ బూలియన్ ఉంది నిజమైన లేదా తప్పుడు వంటి తల వద్ద అన్ని మొదటి ఆ శ్రేణి, ఈ పదం? రెండవది, మీరు గమనికలు కావాలి సంసార వాటిని మిగిలిన ఉన్నాయి. ఒక బిట్ సంక్లిష్టంగా ఒక బిట్ వియుక్త, కానీ నేను ఏమి అందరూ వివరించేందుకు ఉంటుంది. ఇక్కడ, ఎగువన, మీరు ఉంటే వ్యూహం ఇప్పటికే ప్రకటించింది కలిగి, మీరు బూలియన్ ఉన్న ఒక నోడ్ ముందు నిల్వ విలువ మీరు ఈ పదం చెబుతుంది? ఈ పదం? ఆపై మీరు మీ శ్రేణి యొక్క మిగిలిన ఆ నిజానికి నిల్వ అన్ని అది ఏ అవకాశాలను. కాబట్టి, ఉదాహరణకు, వంటి ఎగువన మీరు నిజమైన లేదా అని మొదటి విషయం తప్పుడు, అవును లేదా సంఖ్య, ఈ పదం. ఆపై మీరు 26 ద్వారా 0 కలిగి మీరు నిల్వ చేసే అక్షరాలు. నేను ఇక్కడ అన్వేషణ అనుకుంటే బ్యాట్కు, నేను టాప్ వెళ్ళండి మరియు నేను లో B కనుగొనేందుకు B. కోసం చూడండి నా అర్రే, మరియు నేను తెలుసు, OK, B ఒక పదం ఏమిటి? B కాబట్టి అందువలన, ఒక పదం కాదు నేను శోధించడం ఉంచేందుకు ఉండాలి. నేను B నుండి వెళ్లి, నేను చూడాల్సి B వైపు చూపాడు పాయింటర్ మరియు నేను సమాచారం యొక్క మరొక శ్రేణి చూడండి మేము ముందు కలిగి అదే నిర్మాణం. మరియు, OH తదుపరి ఇక్కడ [వినబడని] లో లేఖ A. ఉంది కాబట్టి మేము ఆ శ్రేణి లో చూడవచ్చు. మేము ఎనిమిదవ విలువ కనుగొనేందుకు, మరియు అప్పుడు మేము, OH, చూడటానికి చూడండి హే, ఒక పదం, B-A ఒక పదం ఏమిటి? ఇది ఒక పదం కాదు. మేము చూస్తున్న ఉంచడానికి పొందారు. కాబట్టి అప్పుడు మేము ఎక్కడ చూడండి ఒక పాయింట్లు పాయింటర్, మరియు అది మరొక విధంగా చూపాడు ఇది మేము మరింత విలువ నిల్వ ఉన్నాయి. చివరకు, మేము పొందుటకు ఒక పదం ఇది B-A-T. అందువలన తదుపరి సమయం మీరు చూడండి, మీరు చూడాలని అవును, ఆ చెక్ కలిగి, ఈ బూలియన్ ఫంక్షన్ నిజం. కాబట్టి కోణంలో మేము రకమైన ఉన్నాము శ్రేణితో ఒక చెట్టు కలిగి. కాబట్టి అప్పుడు మీరు రకమైన డౌన్ శోధించవచ్చు. పైగా, ఒక ఫంక్షన్ హ్యాషింగ్ కంటే లింక్ జాబితా ద్వారా విలువలు కేటాయించి, మీరు కేవలం ఒక అమలు చేయవచ్చు downwords శోధించేందుకు trie. నిజంగా stuff క్లిష్టం. నేను వంటి రెడీ ఎందుకంటే గురించి ఆలోచించడం సులభం కాదు కాబట్టి అనేక డేటా నిర్మాణాలు ఉమ్మివేస్తూ మీరు, కానీ రకమైన ప్రతి ఒక్కరూ చేస్తుంది ఈ తర్కం పనిచేస్తుంది ఎలా అర్థం? చల్లని, సరే. కాబట్టి B-A-T, ఆపై మీరు అన్వేషణ చూడాలని. మీరు వెళుతున్న తదుపరి సమయం ఓహ్, హే, ఇది నిజం, చూడటానికి, అందువలన నేను ఈ పదం ఉండాలి తెలుసు. జూ కోసం ఇదే. కాబట్టి ఇక్కడ విషయం ఉంటే, ప్రస్తుతం మనం ప్రస్తుతం, జూ కోసం అన్వేషణ కోరుకున్నాడు, ప్రస్తుతం జూ కాదు మా నిఘంటువులో పదాన్ని ఎందుకంటే మీరు అబ్బాయిలు, చూడగలరు మేము ఒక బూలియన్ కలిగి మొదటి స్థానంలో తిరిగి నిజమైన జూమ్ చివరిలో ఉంది. మేము Z-O-O-M ఉన్నాయి. మరియు ఇక్కడ, మేము నిజానికి లేదు మా నిఘంటువులో పదాన్ని, జూ, ఈ చెక్ బాక్స్ తనిఖీ లేదు ఎందుకంటే. కాబట్టి కంప్యూటర్ లేదు జూ పదం అని తెలుసు ఎందుకంటే మేము చేసిన ఆ విధంగా మాత్రమే ఒక జూమ్ ఇక్కడ, అది నిల్వ నిజానికి ఒక బూలియన్ విలువ కలిగి ఆ నిజం మారిన చేయబడింది. మేము ఇన్సర్ట్ అనుకుంటే పదం, జూ మా నిఘంటువులో లోకి, మేము చేసే విధంగా ఎలా చేస్తారు? మేము నిర్ధారించుకోవాలి ఎందుకు చేయాలి ఏం మా కంప్యూటర్ Z-O-O ఒక పదం అని తెలుసు మరియు మొదటి పదం Z-O-O-M ఉంది? ప్రేక్షకులు: [వినబడని] అండీ పెంగ్: ఖచ్చితంగా మేము ఈ ఆ నిర్ధారించుకోవాలి ఇక్కడ, బూలియన్ విలువ ఇది నిజం ఆఫ్ వచ్చేసాడు. Z-O-O, అప్పుడు మేము తనిఖీ చూడాలని, కాబట్టి మేము ఖచ్చితంగా, హే, జూ పదం తెలుసు. నేను చెప్పడానికి వెళుతున్నాను అది ఒక పదం కాబట్టి ఉండే కంప్యూటర్ , కంప్యూటర్ పరిశీలనలు జూ ఒక పదం అని తెలుసు. ఈ డేటా గుర్తు ఎందుకంటే నిర్మాణాలు, ఇది మాకు చాలా సులభం ఓహ్, బ్యాట్ ఒక పదం, చెప్పటానికి. జూ ఒక పదం. జూమ్ ఒక పదం. కానీ మీరు దీనిని నిర్మించాలని చేసినప్పుడు, కంప్యూటర్ తెలియదు. సో మీరు ఖచ్చితంగా చెప్పడం ఉన్నాయి ఏ సమయంలో ఈ పదం? ఏ సమయంలో అది ఒక పదం కాదు? ఏ సమయంలో నేను ఏమి విషయాలు అన్వేషణ అవసరం, మరియు ఏ సమయంలో నేను తదుపరి వెళ్ళడానికి చేయాలి? ఆ స్పష్టమైన అందరూ? కూల్. కాబట్టి అప్పుడు వస్తుంది సమస్య ఎలా మేము చేస్తాను ఏదో ఇన్సర్ట్ గురించి వెళ్ళండి అక్కడ వాస్తవానికి కాదు? కాబట్టి యొక్క కేవలం మేము ఇన్సర్ట్ అనుకుందాం మా trie లోకి పదం, స్నానపు. మీరు అబ్బాయిలు ప్రస్తుతం వంటి గమనిస్తే మేము ఇప్పుడు అన్ని, B-A-T ఉంది మరియు ఈ కొత్త డేటా నిర్మాణం ఒక ఎనిమిదవ వంతు అక్కడ లేదని మేము భావించవచ్చు ఎందుకంటే శూన్య చూపారు ఓహ్, B-A-T తర్వాత ఏ పదాలు ఉంది, ఆ, ఎందుకు మేము ఉంచడానికి అవసరం ఆ T. తర్వాత విషయాలు కలిగి మేము మీరు అయితే సమస్య ఎదురవుతుంది తర్వాత వచ్చే ఒక పదం కలిగి కావలసిన T యొక్క. మీరు స్నానం కలిగి ఉంటే, మీరు ఉన్నాము ఒక H కుడి కావలసిన వెళుతున్న. అందువలన మేము చేయబోతున్నామని మార్గం మేము ఒక ప్రత్యేక నోడ్ సృష్టించడానికి చూడాలని. మేము ఏ మొత్తం నిర్ణయించు లేదు ఈ కొత్త శ్రేణి కోసం మెమరీ, మరియు మేము గమనికలు ఉంచేందుకు చూడాలని. మేము పెట్టేందుకు చూడాలని H, అన్ని మొదటి, ఈ శూన్య మేము వదిలించుకోవటం చూడాలని. మేము చూడాలని H పాయింట్ క్రిందికి. మేము ఒక H చూసినట్లయితే, మనం కోరుకున్న ఎక్కడైనా వెళ్ళడానికి. ఇక్కడ, మేము అప్పుడు అవును ఆఫ్ తనిఖీ చేయవచ్చు. మేము, T తరువాత ఒక H కొట్టినప్పుడు, OH, అప్పుడు మేము ఈ ఒక పదం అని తెలుసు. బూలియన్ నిజమైన తిరిగి అన్నారు. అందరూ ఆ అదంతా స్పష్టంగా? అలాగే. కాబట్టి ముఖ్యంగా, అన్ని ఈ డేటా నిర్మాణాలు మేము నేడు పైగా మారారు, నేను చేసిన నిజంగా త్వరగా వాటిని దాటి పోయింది మరియు పెద్దగా ఇన్ వివరాలు, మరియు ఆ సరే. మీరు సమస్యను ప్రారంభించిన తర్వాత దానితో, మీరు ఉంటాం ఎక్కడ పర్యవేక్షించడం అన్ని గమనికలు ఉన్నాయి ఏమి జరగబోతోంది మీ డేటా నిర్మాణాలు, మొదలైన. వారు చాలా ఉపయోగకరమైన ఉంటాం మరియు అది మీకు అనిపిస్తుంది అబ్బాయిలు పూర్తిగా ఎలా దొరుకుతుందని మీరు విషయాలు అమలు చేయదలిచిన. కాబట్టి 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 వంటి. ఆపై మీరు అబ్బాయిలు రకమైన చెయ్యవచ్చు మీరు ఆక్సెస్ వెతికినప్పుడు యొక్క విషయాలు మరింత సులభంగా మరియు మరింత త్వరగా. కాబట్టి ప్రమాదాలలో పరిష్కరించడానికి జాగ్రత్తగా ఉండండి. మీరు కొంత పొందండి చూడాలని A. ఆ ప్రారంభానికి పదాలు మీరు కొంత పదాలు పొందడానికి వెళుతున్న మీరు అప్ B. ప్రారంభం మీరు ఎలా అబ్బాయిలు ఇది పరిష్కరించడానికి. బహుశా ఇంకా ఉంది సమర్థవంతమైన హాష్ ఫంక్షన్ కేవలం మొదటి లేఖ కంటే ఏదో, మరియు తద్వారా మీకు అనిపిస్తుంది అబ్బాయిలు రకమైన మీకు కావలసిన పనులను. బహుశా మీరు జోడించదలచిన కలిసి అన్ని అక్షరాలు. బహుశా మీరు అదృష్టము పనులను ఇష్టం అనుకుంటున్నారా అక్షరాల సంఖ్య వివరించేందుకు, ఏదొ ఒకటి. మీరు చేయాలనుకుంటున్నారా ఎలా మీరు అబ్బాయిలు అప్. మీరు ఉంటే, ఒక హాష్ పట్టిక చేయాలనుకుంటున్నారా ఉంటే పూర్తిగా అప్, ఒక trie ప్రయత్నించండి అనుకుంటున్నారా. నేను సమయం ముందు మిమ్మల్ని హెచ్చరిస్తుంది trie సాధారణంగా ఒక బిట్ మరింత కష్టం చాలా ఉంది కేవలం ఎందుకంటే మరింత గమనికలు ట్రాక్. కానీ పూర్తిగా మీరు అబ్బాయిలు వరకు. ఇది ఇప్పటివరకు మరింత సమర్థవంతం చాలా సందర్భాల్లో. మీరు నిజంగా చేసుకోలేకపోవచ్చు ఉండాలనుకుంటున్నాను మీ గమనికలు ట్రాక్. ఇలా ఇదే నేను ఇక్కడ చేస్తున్న. చేసినప్పుడు మీరు ఇన్సర్ట్ చెయ్యడానికి ప్రయత్నిస్తున్న ఒక హాష్ పట్టిక లోకి విలువలు తొలగించుకోవచ్చు మీరు నిర్ధారించుకోండి నిజంగా పర్యవేక్షించడం ప్రతిదీ ఎందుకంటే ఇక్కడ నేను ఉన్నాను ఉంటే నిజంగా సులభం పదం, ఆండీ వంటి ఇన్సర్ట్ చెయ్యడానికి ప్రయత్నిస్తున్నారు. యొక్క కేవలం ఒక చెప్పాలి నిజ పదం, పదం, ఆండీ, ఒక పదాలను దిగ్గజం జాబితా లోకి. నేను ఉంచేందుకు జరిగితే ఒక పాయింటర్ తప్పు అయ్యో, మొత్తానికి అక్కడ వెళ్తాడు నా లింక్ జాబితా మిగిలిన. ఇప్పుడు మాత్రమే పదం నేను కలిగి ఆండీ, మరియు ఇప్పుడు ఇతర పదాలు అన్ని నిఘంటువు గల్లంతయ్యాయి. కాబట్టి మీరు నిర్ధారించుకోవాలి మీ గమనికలు అన్ని ట్రాక్ లేదంటే పొందడానికి వెళుతున్న మీ కోడ్ లో భారీ సమస్యలు. అంచెలంచెలుగా జాగ్రత్తగా విషయాలు బయటకు గీయండి. ఆలోచించి అది చాలా సులభం. చివరికి, మీరు చేయగలిగింది ఉండాలనుకుంటున్నాను మీ ప్రోగ్రామ్ యొక్క మీ పనితీరు పరీక్షించడానికి పెద్ద బోర్డు మీద. మీరు అబ్బాయిలు తీసుకోకపోతే ఒక ప్రస్తుతం CS50 చూడండి, మేము పెద్ద బోర్డు అని ఏమి కలిగి. ఇది వేగంగా స్కోరు షీట్ ఉంది CS50 అంతటా తనిఖీ సార్లు అక్షరక్రమ ప్రస్తుతం, నేను 10 వంటి టాప్ అనుకుంటున్నాను సార్లు నేను వాటిలో ఎనిమిది సిబ్బంది ఉన్నాయి. మేము నిజంగా మీరు అబ్బాయిలు మాకు ఓడించారు అనుకుంటున్నారా. మాకు అన్ని అమలు ప్రయత్నిస్తున్న వీలైనంత వేగంగా కోడ్. మేము మీరు అబ్బాయిలు సవాలు చేసేందుకు ప్రయత్నించండి అనుకుంటున్నారా మాకు మరియు మాకు అన్ని కంటే వేగంగా అమలు చెయ్యవచ్చు. కాబట్టి ఈ నిజంగా మేము ఉన్నాము మొదటిసారి మీరు అబ్బాయిలు అడుగుతూ ఒక pset చేయాలని మీరు నిజంగా సంసార పద్ధతి లో చేయవచ్చు నీకు కావాలా. నేను ఎల్లప్పుడూ ఈ పోలిన చెప్పేది నిజజీవితంలో పరిష్కారం, కుడి? నేను హే, నేను మీరు దీన్ని అవసరం, చెప్పటానికి. నాకు ఈ పని చేసే ఒక ప్రోగ్రామ్ బిల్డ్. మీకు కావలసిన అయితే దీన్ని. నేను ఉపవాసం కావాలి తెలుసు. ఈ వారం మీ సవాలు ఉంది. మీరు అబ్బాయిలు మేము వెళుతున్న మీరు ఒక పని ఇవ్వాలని. మేము మీరు ఒక సవాలు ఇవ్వాలని వెళుతున్న. ఆపై మీరు అబ్బాయిలు ఇష్టం పూర్తిగా కేవలం దొరుకుతుందని వేగమైన మరియు అత్యంత ఏమిటి సమర్థవంతమైన మార్గం ఈ అమలు. అవును? ప్రేక్షకులు: మేము ఉంటే అనుమతించబడతాయి వేగంగా మార్గాలు పరిశోధన కావలెను మేము చేయవచ్చు, ఆన్లైన్ హాష్ పట్టికలు చేయాలని మరియు ఎవరైనా else యొక్క కోడ్ cite? అండీ పెంగ్: అవును, పూర్తిగా మంచిది. కాబట్టి మీరు అబ్బాయిలు చదివితే స్పెక్, ఒక లైన్ ఉంది మీరు అబ్బాయిలు చెప్పారు ఆ స్పెక్ హాష్ పరిశోధన పూర్తిగా ఉచితం ఏవి కొన్ని విధులు వేగంగా హాష్ విధులు వంటి ద్వారా విషయాలు అమలు మీరు ఆ కోడ్ cite కాలం. కాబట్టి కొన్ని ప్రజలు ఇప్పటికే కలిగి ఫాస్ట్ మార్గాలు కనుగొన్నారు ఫాస్ట్ యొక్క, స్పెల్ చెక్కర్స్ చేయడం సమాచారం నిల్వ మార్గాలు. పూర్తిగా మీరు అబ్బాయిలు వరకు ఉంటే కుడి, ఆ తీసుకోవాలని అనుకుంటున్నారా? మీరు కారణంగా నిర్ధారించుకోండి. సవాలు ఇక్కడ నిజంగా మేము పరీక్షించడానికి ప్రయత్నిస్తున్న మీకు తెలిసిన నిర్ధారిస్తున్నారు మీ మార్గం చుట్టూ గమనికలు. చాలా మీరు అమలు వంటి వాస్తవ హాష్ ఫంక్షన్ మరియు వంటి రావడంలో గణిత ఆ విధంగా చేయడానికి, మీరు అబ్బాయిలు పరిశోధన చేయవచ్చు సంసార పద్ధతులు ఆన్లైన్ మీరు అబ్బాయిలు అనుకుంటున్నారా. అవును? ప్రేక్షకులు: మేము కేవలం ఉదహరించవచ్చు [వినబడని] ఉపయోగించి? అండీ పెంగ్: అవును. మీరు కేవలం మీ వ్యాఖ్యలో, మీరు ఓహ్, వంటి ఉదహరించవచ్చు yada నుండి తీసుకున్న yada, yada, హాష్ ఫంక్షన్. ఎవరైనా ఏ ప్రశ్నలు? మేము నిజానికి breezed నేడు విభాగం ద్వారా. నేను ఇక్కడ ఉంటుంది అలాగే ప్రశ్నలకు సమాధానం. అలాగే, నేను అన్నాడు వంటి, ఆఫీసు గంటల టునైట్ మరియు రేపు. ఈ వారం నిజానికి స్పెక్ సూపర్ సులభంగా మరియు చదవడానికి చిన్న సూపర్. నేను కేవలం, ఒక పరిశీలించటం సూచిస్తాయి అది సంపూర్ణంగా ద్వారా చదవండి. మరియు Zamyla నిజానికి మీరు నడిచి విధులు ప్రతి ద్వారా మీరు అమలు అవసరం, అందువలన అది ప్రతిదీ ఎలా చేయాలో చాలా, చాలా స్పష్టంగా. కేవలం మీరు ఉన్నాము చేయడానికి గమనికలు పర్యవేక్షించడం. ఈ చాలా సవాలు pset ఉంది. ఇది వంటిది ఎందుకంటే సవాలు కాదు ఓహ్, భావనలు చాలా ఎక్కువ కష్టం, లేదా మీరు నేర్చుకోవలసి ఉంటుంది మార్గం చాలా కొత్త వాక్యనిర్మాణం మీరు గత pset కోసం అని. ఈ pset కష్టం ఎందుకంటే చాలా గమనికలు ఉన్నాయి, ఆపై ఒకప్పుడు చాలా, చాలా సులభం మీరు లేదు చెయ్యగలరు మీ కోడ్ లో ఒక బగ్ కలిగి ఆ బగ్ ఉన్న కనుగొనేందుకు. కాబట్టి పూర్తి మరియు మీరు పూర్తిగా విశ్వాసం అబ్బాయిలు మన [వినబడని] జయించలేక ఉండాలి స్పెల్లింగులు. నేను నిజానికి ఏ వ్రాసిన గని ఇంకా, కానీ నేను గని రాయడానికి గురించి ఉన్నాను. మీరు రాస్తున్నాం కాబట్టి మీదే, నేను గని రాయడం వస్తుంది. నేను చేయడానికి ప్రయత్నించండి వెళుతున్న గని వేగంగా మీదే కంటే. మేము వేగంగా ఒక ఉందో చూస్తారు. మరియు అవును, నేను అన్ని చూస్తారు మంగళవారం ఇక్కడ మీరు అబ్బాయిలు. నేను ఒక pset వర్క్ వంటి ఒక రకమైన అమలవుతాయి. విభాగాలు అన్ని ఈ వారం, pset వర్క్షాపులు ఉన్నాయి కాబట్టి మీరు అబ్బాయిలు అవకాశాలు కలిగి ఉన్నాము సహాయం కోసం, ఆఫీసు గంటల ఎల్లప్పుడూ, మరియు నేను నిజంగా ఎదురుచూస్తున్నాము మీ అబ్బాయిలు కోడ్ అన్ని చదవడం. నేను ఇక్కడ మీరు ఉంటే క్విజెస్ అప్ కలిగి అబ్బాయిలు ఆ పొందుటకు రావాలని కోరుకుంటున్నాను. అంతే.