జాసన్ HIRSCHHORN: ప్రతి ఒక్కరూ స్వాగతం విభాగం ఏడు. మేము కోర్సు యొక్క వారం ఏడు లో ఉన్నాయి. మరియు ఈ రాబోయే గురువారం హాలోవీన్ కాబట్టి నేను ఉంది ఒక గుమ్మడికాయ వంటి ధరించిన. నేను వంగి, న చేయలేదు నేను ఎందుకు నా బూట్లు, అలా ఆ కేవలం సాక్స్ ధరించి. నేను కూడా క్రింద ఏదైనా ధరించి లేదు అది ఉంటే ఈ, నేను ఊపందుకోలేదు చేయవచ్చు మీరు దృష్టిని. నేను ఆ కోసం ముందుగానే క్షమాపణ. మీరు ఊహించవచ్చు అవసరం లేదు ఏం జరగబోతోంది. నేను బాక్సర్లు ధరించి am. కాబట్టి అది మంచి. నేను ఉన్నాను ఎందుకు గురించి సుదీర్ఘ కథ ఒక గుమ్మడికాయ దుస్తుల్లోనే కానీ నేను వెళుతున్న ఇదే విభాగంలో ఆ సేవ్ నేను ప్రారంభించడానికి కావలసిన ఎందుకంటే. మేము అద్భుతమైన విషయాలు చాలా ఉన్నాయి ఈ వారం వెళ్ళి. వాటిలో చాలా ఈ నేరుగా సంబంధం వారం యొక్క సమస్య సెట్, అక్షరదోషాలు. మేము లింక్ మీద వెళ్ళడం చూడాలని జాబితాలు మరియు హాష్ పట్టికలు మొత్తం విభాగాన్ని కోసం. నేను, ప్రతి వారం జాబితా ఈ జాబితాలో జారీ మీరు మీకు సహాయం కోసం వనరులు ఈ కోర్సు పదార్థం. నష్టానికి లేదా కొన్ని వెతుకుతున్న మరింత సమాచారం, ఒకటి తనిఖీ ఈ వనరులను. మళ్ళీ, pset6 అక్షరదోషాలు ఉంది, ఈ వారం యొక్క pset. మరియు అది కూడా ప్రోత్సహిస్తుంది, మరియు నేను కొన్ని ఇతర ఉపయోగించడానికి, ప్రోత్సహిస్తున్నాము వనరులు ప్రత్యేకంగా ఈ pset కోసం. ముఖ్యంగా, మూడు నేను తెరపై జాబితా - మేము తెలిసిన ఉన్నాను ఇది GDB, మరియు ఇప్పుడు కాసేపు ఉపయోగిస్తున్నాము, ఉంది ఈ వారం చాలా సహాయకారిగా అన్నారు. కాబట్టి నేను ఇక్కడ ఏర్పాటు. కానీ చేసినప్పుడు మీరు C పనిచేస్తున్నారని, మీరు ఎల్లప్పుడూ GDB ఉపయోగించి చేయాలి మీ కార్యక్రమాలు డీబగ్. ఈ వారం కూడా Valgrind. ఎవరైనా valgrind ఏమి తెలుసు? ప్రేక్షకులు: ఇది మెమరీ లీకేజ్ కోసం వెతుకుతుంది? జాసన్ HIRSCHHORN: Valgrind మెమరీ లీకేజ్ కోసం తనిఖీలను. అయితే మీరు malloc ఏదో మీ కార్యక్రమం, మీరు మెమరీ కోసం అభ్యర్థిస్తున్నాము. మీ కార్యక్రమం చివరిలో, మీరు మీరు ప్రతిదీ ఉచిత రాయడానికి తిరిగి మెమరీ ఇవ్వాలని malloced. మీరు చివరిలో ఉచిత వ్రాసి లేకపోతే మీ ప్రోగ్రామ్ ఒక నిర్ధారణకు వచ్చింది, ప్రతిదీ స్వయంచాలకంగా రెడీ లభ్యమౌతుంది. మరియు చిన్న కార్యక్రమాలు కోసం, ఇది ఉంది పెద్ద కాదు ఒక ఒప్పందం. కానీ మీరు సుదీర్ఘ నడుస్తున్న వ్రాస్తున్నట్లయితే విడిచి లేదు కార్యక్రమం, తప్పనిసరిగా, నిమిషాలు లేదా ఒక జంట లో సెకన్లు జంట, తర్వాత మెమరీ దోషాలను భారీ ఒప్పందం కావచ్చు. కాబట్టి pset6 కోసం, నిరీక్షణ ఉంది మీరు సున్నా మెమరీ లీకేజ్ ఉంటుంది మీ ప్రోగ్రామ్. మెమరీ లీకేజ్ తనిఖీ, అమలు valgrind మరియు మీరు కొన్ని nice ఇస్తాము ఉత్పత్తి మీరు అని తెలియజేసినందుకు లేదా ప్రతిదీ ఉచితం కాదు. మేము తరువాత పట్ల సాధన చేస్తాము నేడు, ఆశాజనక. చివరగా, తేడాలు ఆదేశం. మీరు పోలి ఏదో ఉపయోగిస్తారు పీక్ సాధనం Pset5 లో. మీరు లోపల చూడండి అనుమతి. మీరు కూడా ప్రకారం, చాలా, తేడాలు ఉపయోగిస్తారు సమస్య సెట్ స్పెక్. కానీ మీరు అనుమతి రెండు ఫైళ్ళను సరిపోల్చండి. మీరు బిట్మ్యాప్ ఫైలు మరియు పోల్చడానికి కాలేదు సమాచారం ఒక సిబ్బంది పరిష్కారం యొక్క శీర్షికలు మరియు Pset5 లో మీ పరిష్కారం ఉంటే మీరు ఉపయోగించడానికి ఎంపిక. తేడా మీరు అనుమతిస్తుంది అలాగే, అలా. మీరు కోసం సరైన సమాధానం సరిపోల్చవచ్చు మీ సమాధానం సెట్ ఈ వారం యొక్క సమస్య మరియు చూడండి ఉంటే దానిని పంక్తులు లేదా చూడండి లోపాలు ఎక్కడ. కాబట్టి ఆ మూడు మంచి టూల్స్ అని మీరు ఈ వారం ఉపయోగించడానికి, మరియు ఉండాలి ఖచ్చితంగా మీ ప్రోగ్రామ్ తనిఖీ ఈ మూడు టూల్స్ తో ఇది సైన్ చెయ్యడానికి ముందు మళ్ళీ, నేను ప్రతి వారం పేర్కొన్న విధంగా, రెండు - మీరు నాకు ఏ అభిప్రాయాలుంటే అనుకూల మరియు నిర్మాణాత్మక - వెబ్సైట్ పరస్పరం సంకోచించకండి ఈ స్లయిడ్ దిగువన మరియు అక్కడ ఇన్పుట్ ఇది. నేను నిజంగా ఏ అభినందిస్తున్నాము మరియు అన్ని చూడు. తెలుసులే నిర్దిష్ట విషయాలు ఇవ్వాలని ఉంటే నేను ఉన్నాను మెరుగుపరచడానికి లేదా మీరు నాకు ఇష్టం అని బాగా నేను గుండె ఆ తీసుకొని, కొనసాగుతుంది నిజంగా వినడానికి కష్టంగా ప్రయత్నించండి మీ అభిప్రాయాన్ని. నేను వెళుతున్న వాగ్దానం కాదు ప్రతిదీ, అయితే, ఒక ధరించి వంటి ప్రతి వారం దుస్తులు గుమ్మడికాయ. కాబట్టి మేము ఎక్కువ ఖర్చు వెళ్ళి విభాగం, నేను చెప్పినట్లుగా, గురించి మాట్లాడటం లింక్ జాబితాలు మరియు హాష్ పట్టికలు, ఇది నేరుగా వర్తించే ఉంటుంది సమస్య ఈ వారం సెట్. లింక్ జాబితాలు మేము చాలా పైగా వెళ్తారో మేము న్యాయమైన బిట్ ఖర్చు చేసిన త్వరగా ఎందుకంటే సమయం విభాగంలో ఇది అన్నారు. కాబట్టి మేము నేరుగా లోకి పొందుతారు లింక్ జాబితాలు సమస్యలు కోడింగ్. మరియు తర్వాత చివరిలో మనం మాట్లాడదాము వారు ఈ వర్తిస్తాయి పట్టికలు హాష్ మరియు వారం యొక్క సమస్య సెట్. మీరు ముందు ఈ కోడ్ చూసిన. ఈ ఒక struct ఉంది, మరియు అది నిర్వచించడం ఉంది ఏదో కొత్త ఒక నోడ్. మరియు ఒక నోడ్ లోపల పూర్ణాంకం ఉంది ఇక్కడ మరియు ఒక పాయింటర్ ఉంది మరొక నోడ్. మేము ముందు ఈ చూసిన. ఈ కోసం అప్ వస్తున్నాడు ఇప్పుడు వారాల. ఇది మేము ఉన్నాను ఇది గమనికలు, మిళితం అనుమతించే, మరియు structs, పని మాకు రెండు వేర్వేరు కలపడానికి ఒక డేటా రకాన్ని లోకి విషయాలు. తెరపై జరగబోతోంది చాలా ఉంది. కానీ అన్ని చాలా ఉండాలి మీకు తెలిసిన. మొదటి పంక్తిలో, మేము ఒక కొత్త నోడ్ డిక్లేర్. మరియు ఆ కొత్త నోడ్ లోపల, నేను సెట్ ఒకటి ఆ నోడ్ లో పూర్ణాంక. మేము నేను ఒక చేస్తున్నాను తదుపరి లైన్ చూడండి printf ఆదేశం, కానీ నేను బూడిదరంగులో చేసిన printf ఆదేశం నిజంగా ఎందుకంటే ముఖ్యమైన భాగం ఇక్కడ ఈ లైన్ - new_node.n. డాట్ అర్థం ఏమిటి? ప్రేక్షకులు: నోడ్ వెళ్లి ఇది కోసం n విలువ అంచనా. జాసన్ HIRSCHHORN: పేర్కొంది ఖచ్చితంగా కుడి. డాట్ n భాగంగా యాక్సెస్ అర్థం ఈ కొత్త నోడ్ యొక్క. ఈ తదుపరి లైన్ దేనిని? మైఖేల్. ప్రేక్షకులు: ఇది మరొక నోడ్ సృష్టిస్తుంది కొత్త నోడ్ కు ఆకర్షిస్తాయి. జాసన్ HIRSCHHORN: కాబట్టి అది లేదు ఒక కొత్త నోడ్ సృష్టించడానికి. ఇది ఒక ఏమి సృష్టిస్తుంది? ప్రేక్షకులు: ఒక పాయింటర్. జాసన్ HIRSCHHORN: ఒక నోడ్ ఒక పాయింటర్, ఇక్కడ ఈ నోడ్ * పెరిగిపోయింది. కాబట్టి ఒక కణుపు ఒక పాయింటర్ సృష్టిస్తుంది. మరియు ఇది నోడ్ ఇది సూచించబడిన మైఖేల్, కు? ప్రేక్షకులు: న్యూ నోడ్? జాసన్ HIRSCHHORN: న్యూ నోడ్. మేము చేసిన ఎందుకంటే మరియు అది సూచించే కొత్త నోడ్ యొక్క చిరునామా ఇచ్చిన. ఇప్పుడు ఈ వరుస చూడండి రెండు రకాలుగా ఇదే వ్యక్తం. నేను అభిప్రాయపడుతున్నారు అనుకున్నాను ఈ రెండు విషయాలు ఒకటే. మొదటి లైన్ లో, మేము dereference పాయింటర్. కాబట్టి మేము నోడ్ వెళ్ళండి. ఈ స్టార్ అర్థం ఏమిటి. మేము గమనికలు తో ముందు ఆ చూసిన. ఆ నోడ్ వెళ్ళండి. ఆ కుండలీకరణాల్లో ఉంది. ఆపై డాట్ ఆపరేటర్లు ద్వారా యాక్సెస్ ఆ నోడ్ యొక్క n మూలకం. కాబట్టి ఆ సింటాక్స్ తీసుకొని మేము ఇక్కడ మరియు ఇప్పుడు చూసిన ఒక పాయింటర్ తో ఉపయోగించి. అయితే, ఉంటే బిజీగా రకం గెట్స్ ఆ వాక్యాల రాస్తున్నాం - ఆ స్టార్ మరియు డాట్. ఇది కొద్దిగా బిజీగా గెట్స్. కాబట్టి మేము కొన్ని వాక్యనిర్మాణ చక్కెర కలిగి. మరియు ఇక్కడ ఈ లైన్ - ptr_node-> n. అదే ఖచ్చితమైన విషయం చేస్తుంది. కాబట్టి కోడ్ ఆ రెండు రేఖలు సమానమైన మరియు చేస్తుంది ఖచ్చితమైన ఇదే. కానీ నేను ముందు ఆ అభిప్రాయపడుతున్నారు కావలెను మేము మీరు అర్థం ముందుకు నిజంగా ఇక్కడే ఈ విషయం dereferencing కోసం కేవలం వాక్యనిర్మాణ చక్కెర పాయింటర్ ఆపై అన్నారు ఆ struct యొక్క n భాగంగా. ఈ స్లయిడ్ గురించి ప్రశ్నలు? OK. కాబట్టి మేము ఒక జంట ద్వారా వెళ్ళడానికి వెళుతున్న మీరు చేసే కార్యకలాపాల లింక్ జాబితాలు. అనుబంధ జాబితా, రీకాల్, ఒక సిరీస్ ఉంది మరొక సూచించబడిన నోడ్స్. మనం సాధారణంగా ఒక పాయింటర్ ప్రారంభం అని తల, సాధారణంగా, ఆ పాయింట్లు జాబితాలో మొదటి విషయం. , ఇక్కడ మొదటి పంక్తిలో కాబట్టి మేము మొదటి మా అసలు L కలిగి. కాబట్టి ఆ విషయం మీరు ఆలోచించవచ్చు - ఈ ఇక్కడే టెక్స్ట్ మీరు భావిస్తున్నది మేము నిల్వ చేసిన కేవలం పాయింటర్ ఎక్కడో ఆ పాయింట్లు మొదటి అంశానికి. మరియు ఈ లింక్ జాబితాలో మేము నాలుగు నోడ్స్ ఉన్నాయి. ప్రతి నోడ్ ఒక పెద్ద బాక్స్ ఉంది. పెద్ద లోపల పెద్ద బాక్స్ బాక్స్ పూర్ణాంక భాగం. మరియు తర్వాత మేము ఒక పాయింటర్ భాగంగా. ఈ బాక్సులను చిత్రీకరిస్తారు లేదు స్థాయి ఎంత పెద్ద ఎందుకంటే బైట్లు లో పూర్ణాంకం? ఎంత పెద్ద ఇప్పుడు? నాలుగు. మరియు ఒక పాయింటర్ ఎలా పెద్దది? నాలుగు. కాబట్టి నిజంగా, మేము డ్రా ఉంటే ఈ రెండు పెట్టెలు స్థాయికి అదే పరిమాణం ఉంటుంది. ఈ సందర్భంలో, మేము ఇన్సర్ట్ లింక్ జాబితాలో ఏదో. కాబట్టి మీరు మేము ఇన్సర్ట్ ఇక్కడ డౌన్ చూడగలరు ఐదు మేము ద్వారా ప్రయాణించి అనుబంధ జాబితా, కనుగొనే ఐదు వెళ్ళిపోతుంది, ఆపై ఇన్సర్ట్. యొక్క ఆ విచ్ఛిన్నం మరియు వీడలేదు కొద్దిగా నెమ్మదిగా. నేను బోర్డు సూచించడానికి వెళుతున్న. కాబట్టి మేము మా నోడ్ ఐదు ఆ మేము mallocs లో సృష్టించారు. ఎందుకు నవ్వుతున్నారు ఉంది? సరదాగా. OK. కాబట్టి మేము ఐదు malloced చేసిన. మేము ఈ నోడ్ సృష్టించిన ఎక్కడైనా. మేము వెళ్ళడానికి సిద్దం. మేము ముందు మొదలు రెండు మా జాబితాలో. మరియు మేము ఇన్సర్ట్ ఒక క్రమబద్ధీకరించబడతాయి పద్ధతిలో. అందుకే మరియు మేము చాలు అనుకుంటే మేము చూసినప్పుడు ఐదు లో, మేము ఏమి లేదు మాకు తక్కువ '? ఏ? మేము ఈ లోకి ఐదు ఇన్సర్ట్ అనుబంధ జాబితా, అది వేరు ఉంచడం. మేము సంఖ్య రెండు చూడండి. కాబట్టి మేము ఏమి చేస్తారు? మార్కస్? ప్రేక్షకులు: పాయింటర్ కాల్ తదుపరి నోడ్. జాసన్ HIRSCHHORN: ఎందుకు చేయండి మేము తదుపరి వెళ్ళండి? ప్రేక్షకులు: ఇది ఎందుకంటే జాబితా తదుపరి నోడ్. మరియు మేము మాత్రమే ఇతర నగర తెలుసా. జాసన్ HIRSCHHORN: మరియు ఐదు ఎక్కువ రెండు కంటే, ముఖ్యంగా. మేము క్రమబద్ధీకరించబడతాయి ఉంచాలని ఎందుకంటే. కాబట్టి ఐదు రెండు కంటే ఎక్కువ. కాబట్టి మేము తదుపరి కొనసాగండి. ఇప్పుడు మేము నాలుగు చేరుకోవడానికి. మేము నాలుగు చేరినపుడు మరియు ఏమవుతుంది? ఐదు నాలుగు కంటే ఎక్కువ ఉంది. కాబట్టి మేము కొనసాగించడాన్ని. ఇప్పుడు మేము ఆరు వద్ద ఉన్నారు. మరియు మేము ఆరవ ఏమి చూస్తారు? అవును, కార్లోస్? ప్రేక్షకులు: ఆరు ఐదు కంటే ఎక్కువ. జాసన్ HIRSCHHORN: ఆరు ఉంది ఐదు కంటే ఎక్కువ. మేము చేయాలనుకుంటున్నారా ఉంది ఐదు ఇన్సర్ట్. అయితే, గుర్తుంచుకోండి మేము మాత్రమే ఇక్కడ ఒక పాయింటర్ కలిగి - ఈ అని మా అదనపు పాయింటర్ జాబితా ద్వారా నదీ ప్రవాహానికి అడ్డంగా ప్రయాణం. మరియు మేము ఆరు సూచించే చేస్తున్నారు. మేము ఏమి కోల్పోయి ఆరు ముందు వస్తుంది. కాబట్టి మేము ఏదో ఇన్సర్ట్ అనుకుంటే ఇది కీపింగ్ ఈ జాబితా, క్రమబద్ధీకరించబడింది మేము బహుశా ఎన్ని గమనికలు అవసరం? ప్రేక్షకులు: రెండు. జాసన్ HIRSCHORN: రెండు. ఒక ప్రస్తుత ట్రాక్ మరియు ఒక ట్రాక్ ఉంచడానికి ముందు. ఇది ఒక ఒక్కొక్కటిగా లింక్ జాబితా ఉంది. ఒకే దిశలో వెళ్ళే. మేము నటన ఎన్నటికీ లింక్ జాబితా కలిగి ఉంటే, పేరు ప్రతిదీ విషయం సూచించే ఇది మరియు అది ముందు విషయం, అప్పుడు తరువాత మేము అలా అవసరం లేదు. కానీ ఈ విషయంలో మేము కోల్పోతారు అనుకుంటున్నారా లేదు కేసు మాకు ముందు వచ్చిన ట్రాక్ మేము ఐదు ఎక్కడో ఇన్సర్ట్ అవసరం మధ్యలో. మేము తొమ్మిది ఇన్సర్ట్ చెప్పకండి. జరుగుతుంది ఏమి మేము ఎనిమిది వచ్చింది? ప్రేక్షకులు: మీరు భావిస్తాను ఆ శూన్య స్థానం పొందడానికి. బదులుగా శూన్య పాయింట్ కలిగి మీరు భావిస్తాను ఒక మూలకం జోడించి, కలిగి తొమ్మిదేళ్లపాటు సూచించడానికి. జాసన్ HIRSCHORN: ఖచ్చితంగా. మేము ఎనిమిది పొందండి. మేము జాబితా ముగింపు చేరుకోవడానికి ఎందుకంటే ఈ శూన్యం సూచించబడిన. ఇప్పుడు, బదులుగా అది సూచించడానికి శూన్య మేము మా కొత్త నోడ్ సూచించడానికి కలిగి. మరియు మేము లో పాయింటర్ సెట్ శూన్యం మా కొత్త నోడ్. ఎవరైనా ఏవైనా ప్రశ్నలు ఉందా ఇన్సర్ట్ గురించి? గురించి నేను శ్రద్ధ లేకపోతే క్రమబద్ధీకరించబడతాయి జాబితా ఉంచడం? ప్రేక్షకులు: వద్ద కర్ర ప్రారంభించి లేదా ముగింపు. జాసన్ HIRSCHORN: వద్ద కర్ర ప్రారంభంలో లేదా చివరిలో. ఒక మేము చెయ్యాలి? బాబీ? ఎందుకు ముగింపు? ప్రేక్షకులు: ఎందుకంటే ప్రారంభంలో ఇప్పటికే నింపుతారు. జాసన్ HIRSCHORN: OK. ప్రారంభంలో ఇప్పటికే నింపుతారు. బాబి వ్యతిరేకించారు కోరుకుంటున్నారు. మార్కస్. ప్రేక్షకులు: Well మీరు బహుశా కావలసిన ప్రారంభంలో ఇది కర్ర ఎందుకంటే మీరు ఉంచారు లేకపోతే ఉంటే మీరు భావిస్తాను ముగింపు మొత్తం జాబితా సంచరిస్తారు. జాసన్ HIRSCHORN: ఖచ్చితంగా. మేము runtime గురించి అనుకున్నది చేస్తే, చివరిలో ప్రవేశపెట్టే runtime n ఉంటుంది, ఈ పరిమాణం. ప్రవేశపెట్టే పెద్ద O runtime ఏమిటి ప్రారంభంలో? స్థిర సమయం. కాబట్టి మీరు ఉంచడం గురించి శ్రద్ధ లేకపోతే ఏదో, కేవలం చాలా మంచి క్రమబద్ధీకరించబడతాయి ఈ జాబితా ప్రారంభంలో ఇన్సర్ట్. మరియు స్థిరమైన సమయం చేయవచ్చు. OK. తదుపరి ఆపరేషన్ కనుగొనేందుకు, ఇతర ఉంది - మేము శోధన ఈ పదబంధం చేసిన. కానీ మేము ద్వారా చూడండి చూడాలని కొన్ని వస్తువు కోసం అనుబంధ జాబితా. మీరు అబ్బాయిలు కోసం కోడ్ చూసిన ఉపన్యాసంలో ముందు శోధన. కానీ మేము విధమైన కేవలం తో చేసాడు ఇన్సర్ట్, లేదా కనీసం ఇన్సర్ట్ ఏదో క్రమబద్ధీకరించబడతాయి. మీరు ద్వారా చూడండి, కణుపు నోడ్ అన్నారు, మీరు అని సంఖ్య కనుగొనేందుకు వరకు కోసం చూస్తున్న. మీరు చేరుకోవడానికి ఏమవుతుంది జాబితా చివర? నేను తొమ్మిది మరియు నేను చూస్తున్నాను సే జాబితా ముగింపు చేరుకోవడానికి. మనమేం చేస్తాం? ప్రేక్షకులు: తప్పుడు తిరిగి? జాసన్ HIRSCHORN: తప్పుడు తిరిగి. మేము దానిని కనుగొనేందుకు లేదు. మీరు జాబితా ముగింపు చేరుకోవడానికి మరియు ఉంటే మీరు ఉన్నాము సంఖ్య కనుగొనలేదు కోసం చూస్తున్న, ఇది అక్కడ కాదు. గురించి ప్రశ్నలు కనుగొనేందుకు? ఈ క్రమబద్ధీకరించబడతాయి జాబితా ఉంది ఉంటే, ఏమైంది మా శోధించడం కోసం భిన్నంగా? అవును. ప్రేక్షకులు: ఇది మొదటి విలువ కనుగొంటుంది ఒకటి కంటే ఎక్కువ ఉంది మీరు చూస్తున్న మరియు చేస్తున్నారు అప్పుడు తప్పుడు తిరిగి. జాసన్ HIRSCHORN: ఖచ్చితంగా. కనుక ఇది ఒక క్రమబద్ధీకరించబడతాయి జాబితా ఉంటే, మేము ను ఏమి కంటే ఎక్కువ ఏదో మేము చూస్తున్న, మేము అవసరం లేదు జాబితా చివర కొనసాగించడాన్ని. మేము ఆ సమయంలో తప్పుడు తిరిగి రావచ్చు మేము దానిని కనుగొనేందుకు వెళ్ళడం లేదు ఎందుకంటే. ప్రశ్న ఇప్పుడు, మేము గురించి మాట్లాడారు చేసిన ఉంది క్రమబద్ధీకరించబడతాయి అనుసంధాన జాబితాలు ఉంచడం, క్రమబద్ధీకరించనిది య్యింది. మీరు లేము చేస్తాడు బహుశా గురించి ఆలోచించడం కలిగి అన్నారు మీరు కోడింగ్ సమస్య ఐదు పెట్టినప్పుడు ప్రత్యేక ఒక హాష్ పట్టిక ఎంచుకోండి కూర్పికం విధానం, ఇది మేము తరువాత మాట్లాడదాము. కానీ జాబితా ఉంచడానికి అది విలువ ఆపై క్రమబద్ధీకరించబడతాయి చేసి చేయగలరు వేగంగా శోధనలు? లేదా అది త్వరగా ఇన్సర్ట్ ఉత్తమం అప్పుడు స్థిరంగా runtime లో ఏదో కానీ శోధించడం ఇక ఉందా? ఆ అక్కడే ఒక బేరీజుగా ఉంది మీరు ఆ మంచిదని చెప్పారు ఏది నిర్ణయించుకుంటారు పొందుటకు మీ నిర్దిష్ట సమస్యను కోసం. మరియు తప్పనిసరిగా ఒక అక్కడ కాదు ఖచ్చితంగా సరైన సమాధానం. కానీ అది ఖచ్చితంగా మీరు పొందుటకు ఒక నిర్ణయం చేయడానికి, మరియు బహుశా మంచి రక్షించడానికి ఆ సే, ఒక వ్యాఖ్యను లేదా రెండు ఎందుకు మీరు ఇతర మీద ఒక ఎంచుకున్నారు. చివరగా, తొలగించడం. మేము తొలగించడం చూసిన. ఇది శోధించడం పోలి ఉంది. మేము మూలకం కోసం చూడండి. మేము ఆరు తొలగించేటప్పుడు సే. మేము ఇక్కడ ఆరు కనుగొనేందుకు. మేము ఖచ్చితంగా మేము కలిగి ఆ విషయం ఏ సూచించే ఉంది ఆరు - మేము దశలో చూడండి డౌన్ ఇక్కడ రెండు - ఆరు అవసరాలకు సూచించే సంసార ఇప్పుడు ఆరు దాటవేసి, మార్చబడదు సంసార ఆరు సూచించబడిన. మనం మిగిలిన ఆర్ఫన్ వద్దు ఆ సెట్ మర్చిపోయి మా జాబితాలో మునుపటి పాయింటర్. ఆపై కొన్నిసార్లు, ఆధారపడి కార్యక్రమంలో, వారు కేవలం చేస్తాము పూర్తిగా ఈ నోడ్ తొలగించండి. కొన్నిసార్లు మీరు తిరిగి చెయ్యవచ్చును ఈ నోడ్ లో ఆ విలువ. కాబట్టి ఆ రచనలు తొలగించడం ఎలా. ఏ ప్రశ్నలు తొలగించాలా? ప్రేక్షకులు: మీరు తొలగించడానికి చూడాలని ఉంటే ఇది, మీరు ఉచిత ఉపయోగించే ఎందుకంటే బహుశా ఇది malloced చేయబడింది? జాసన్ HIRSCHORN: మీరు విడిపించేందుకు చేయాలనుకుంటే ఖచ్చితంగా కుడి మరియు మీరు ఏదో ఇది malloced. మేము ఈ విలువ తిరిగి కోరారు సే. మేము తిరిగి ఉండవచ్చు ఆరు ఆపై ఉచిత ఇది ఈ నోడ్ మరియు కాల్ ఉచిత. లేదా మేము బహుశా మొదటి ఉచిత కాల్ భావిస్తున్న మరియు అప్పుడు ఆరు తిరిగి. OK. కాబట్టి యొక్క కోడింగ్ సాధన వెళ్దాం. ప్రమేయములను కోడ్ చూడాలని. మొదటి ఒక insert_node అంటారు. కాబట్టి మీరు నేను మీరు ఇమెయిల్ చేసిన కోడ్, మరియు మీరు తర్వాత ఈ చూస్తున్న ఉంటే మీరు linked.c లో కోడ్ యాక్సెస్ చేయవచ్చు CS50 వెబ్సైట్లో. కానీ linked.c లో, కొన్ని ఉంది ఇప్పటికే అస్థిపంజరం కోడ్ మీరు రాస్తున్నారు. ఆపై రెండు విధులు అక్కడ మీరు రాయడం అవసరం. మొదటి మేము చూడాలని insert_node వ్రాయండి. మరియు insert_node చేస్తుంది ఒక పూర్ణాంకం ఇన్సర్ట్. మరియు మీరు పూర్ణాంక ఇవ్వడం చేస్తున్నారు ఒక లింక్ జాబితా. మరియు ముఖ్యంగా, మీరు అవసరం క్రమబద్ధీకరించబడతాయి జాబితా ఉంచడానికి చిన్న నుండి పెద్ద. అలాగే, మీరు వద్దు ఏ నకిలీలను ఇన్సర్ట్. చివరిగా, మీరు insert_node చూడగలరు గా ఒక bool తిరిగి. కాబట్టి మీరు వినియోగదారు తెలియజేయండి చేయాలో చొప్పించు, లేదో నిజమైన లేదా తప్పుడు రావడం ద్వారా విజయవంతమైన. ఈ కార్యక్రమం చివరిలో - మరియు ఈ దశలో కోసం మీరు అవసరం లేదు ఏదైనా విడుదల గురించి ఆందోళన. కాబట్టి మీరు చేస్తున్న అన్ని పూర్ణాంకం తీసుకొని ఉంది మరియు జాబితా లోకి ఇన్సర్ట్. ఆ నేను ఇప్పుడు ఏమి అడుగుతూ నేను ఏమిటి. మళ్ళీ, linked.c లో, మీరు అన్ని, అస్థిపంజరం కోడ్ ఉంది. మరియు మీరు దిగువ దిశగా చూస్తారు నమూనా ఫంక్షన్ ప్రకటన. అయితే, అది కోడింగ్ వెళ్లడానికి ముందు సి లో, నేను అత్యంత వెళ్ళి ప్రోత్సహిస్తున్నాము దశలను మేము ఉన్నాను ప్రతి వారం సాధన. మేము ఇప్పటికే ద్వారా మారారు ఈ చిత్రాన్ని. కాబట్టి మీరు కొన్ని అవగాహన కలిగి ఉండాలి ఈ ఎలా పనిచేస్తుంది. కానీ నేను వ్రాయడానికి ప్రోత్సహిస్తుంది సైన్ డైవింగ్ ముందు కొన్ని pseudocode మరియు మేము వెళ్ళి చూడాలని ఒక సమూహంగా pseudocode. ఆపై మీరు రాసిన చేసిన తర్వాత మీ pseudocode, మరియు మేము రాసిన చేసిన తర్వాత మా ఒక సమూహంగా pseudocode, మీరు C. లో కోడింగ్ వెళ్ళాలని హెచ్చరిక, insert_node విధిగా బహుశా trickiest ఉంది మూడు మేము రాయడానికి ఎందుకంటే నేను కొన్ని అదనపు అడ్డంకులు జోడించారు మీ ప్రోగ్రామింగ్, ముఖ్యంగా ఆ మీరు ఏ ఇన్సర్ట్ వెళ్ళి లేదు నకిలీలను మరియు ఆ జాబితాలో క్రమబద్ధీకరించబడతాయి ఉన్నాయి ఉండాలి. కాబట్టి ఈ ఒక కాని అల్పమైన కార్యక్రమం మీరు కోడ్ అవసరం అని. మీరు ఎందుకు ఏడు ఐదు తీసుకోకపోతే నిమిషాల కేవలం పని పెట్టడానికి pseudocode మరియు కోడ్. మరియు తర్వాత మేము ప్రారంభమౌతుంది సమూహం వెళ్తుంటే. మళ్ళీ, మీరు ఏవైనా ప్రశ్నలు ఉంటే మీ చేయి పైకెత్తడం మరియు నేను చుట్టూ వచ్చి చేస్తాము. . మేము కూడా సాధారణంగా ఈ చేయండి - లేదా నేను స్పష్టంగా మీరు చెప్పే లేదు ప్రజలు పని చేయవచ్చు. కానీ స్పష్టంగా, నేను అత్యంత ప్రోత్సహిస్తున్నాము, మీకు ప్రశ్నలు ఉంటే, గోవా మీరు పక్కన కూర్చొని పొరుగు లేదా ఎవరైనా పని లేదంటే అనుకుంటే. ఒక వ్యక్తి ఉండాలి లేదు నిశ్శబ్ద సూచించే. యొక్క కొన్ని రాయడం ప్రారంభిద్దాం బోర్డు pseudocode. ఎవరు నాకు మొదటి లైన్ ఇస్తుంది ఈ కార్యక్రమం కోసం pseudocode? ఈ వేడుకలో, కాకుండా - insert_node. అల్డెన్? ప్రేక్షకులు: నేను మొదట విషయం ఉంది నోడ్ మరియు నేను ఒక కొత్త పాయింటర్ సృష్టించడానికి ఇది అదే సూచించే initialized జాబితా కు సూచిస్తుంది ఆ విషయం. జాసన్ HIRSCHORN: OK. కాబట్టి మీరు ఒక కొత్త పాయింటర్ సృష్టిస్తున్నారు జాబితాకు, కాదు నోడ్. ప్రేక్షకులు:. అవును. జాసన్ HIRSCHORN: OK. మరియు తర్వాత మనం చెయ్యాలనుకుంటున్నారు? ఆ తరువాత ఏమిటి? ఏ నోడ్ గురించి? మేము ఒక నోడ్ లేదు. మేము కేవలం ఒక విలువ ఉంటుంది. మేము ఒక నోడ్ ఇన్సర్ట్ ఉంటే, మేము ఏమి మేము కూడా చెయ్యవచ్చు ముందు చెయ్యాల్సిన ఇది ఇన్సర్ట్ గురించి అనుకుంటున్నాను? ప్రేక్షకులు: ఓహ్, సారీ. మేము నోడ్సుకోసం స్పేస్ malloc అవసరం. జాసన్ HIRSCHORN: అద్భుతమైన. తెలియజేసేలా యొక్క - OK. అధిక చేరుకోలేదు. OK. మేము వెళ్ళి అన్నారు, ఆపై చేస్తున్నారు మేము రెండు నిలువు ఉపయోగిస్తున్నారు. నేను వెళ్ళి కాదు - OK. ఒక కొత్త నోడ్ సృష్టించడానికి. మీరు జాబితా మరో పాయింటర్ సృష్టించవచ్చు ఇది ఉనికిలో వంటి లేదా మీరు జాబితా ఉపయోగించవచ్చు. మీరు నిజంగా అలా అవసరం లేదు. కాబట్టి మేము ఒక కొత్త నోడ్ సృష్టించడానికి. గ్రేట్. ఆ మేము మొదటి ఏమి ఉంది. తరువాత ఏమిటి? ప్రేక్షకులు: వేచి. మేము ఇప్పుడు ఒక కొత్త నోడ్ సృష్టించడానికి లేదా ఉండాలి మేము నిర్ధారించుకోండి వేచి ఉండాలి నోడ్ సంఖ్య నకిలీలను ఉంది జాబితాలో ముందు మేము ఇది సృష్టించడానికి? జాసన్ HIRSCHORN: మంచి ప్రశ్న. యొక్క తరువాత ఎందుకంటే ఆ నొక్కి లెట్ మేము సృష్టించడం వస్తారు ఎక్కువ సమయం ఒక కొత్త నోడ్. కాబట్టి మేము ఇక్కడ ఆ ఉంటాం. కానీ ఒక మంచి ప్రశ్న. మేము దానిని సృష్టించి మేము కనుగొంటే నకిలీ, ఏమి ఉండాలి మనం తిరిగి ముందు అలా? ప్రేక్షకులు: ఇది ఫ్రీ. జాసన్ HIRSCHORN: అవును. బహుశా ఇది ఉచితం. OK. మేము తర్వాత మనమేం చేస్తాం ఒక కొత్త నోడ్ సృష్టించడానికి? అన్నీ? ప్రేక్షకులు: మేము ఉంచారు నోడ్ లో? జాసన్ HIRSCHORN: ఖచ్చితంగా. మేము జగిత్యాల - మేము స్థలం malloc. నేను వదిలి వెళుతున్న అన్ని ఒక లైన్ వంటి. కానీ మీరు కుడి ఉన్నాము. మేము అప్పుడు స్పేస్ malloc, మరియు మేము సైన్ జగిత్యాల మేము కూడా పాయింటర్ సెట్ చేయవచ్చు శూన్యం అది భాగంగా. ఖచ్చితంగా కుడి ఉంది. మరియు తర్వాత ఆ తర్వాత గురించి? మేము బోర్డు ఈ చిత్రాన్ని గీశాడు. కాబట్టి మేము ఏమి చేస్తారు? ప్రేక్షకులు: మేము జాబితా ద్వారా వెళ్ళి. జాసన్ HIRSCHORN: జాబితాను నుండి వెళ్ళండి. OK. మరియు మేము ప్రతి కణుపు వద్ద కోసం ఏమి తనిఖీ చెయ్యాలి. కర్ట్, మేము తనిఖీ చెయ్యాలి ప్రతి కణుపు వద్ద కోసం? ప్రేక్షకులు: చూడండి n విలువ లేదో ఆ నోడ్ n విలువ కంటే ఎక్కువ మా నోడ్ యొక్క. జాసన్ HIRSCHORN: OK. నేను చేయ బోతున్నాను - OK, అవును. కనుక ఇది n ఉంది - నేను విలువ ఎక్కువ ఉంటే చెప్పడానికి వెళుతున్నాను ఈ నోడ్ కంటే, అప్పుడు మేము ఏమి చేస్తారు? ప్రేక్షకులు: Well, అప్పుడు మేము ఇన్సర్ట్ కుడి ముందు విషయం. జాసన్ HIRSCHORN: OK. కాబట్టి ఈ కంటే ఎక్కువ ఉంటే, అప్పుడు మేము ఇన్సర్ట్. కానీ మేము ముందు ఇన్సర్ట్ మేము కూడా ఉండాలి ఎందుకంటే పర్యవేక్షించడం, అప్పుడు, ముందు ఏమి. ముందు ఇన్సర్ట్. కాబట్టి మేము బహుశా ఏదో తప్పిన ముందు. మేము బహుశా కీపింగ్ అవసరం జరగబోతోంది ఏమి ట్రాక్. కానీ మేము అక్కడ తిరిగి పొందుతారు. కాబట్టి ఏ విలువ కంటే తక్కువ? కర్ట్, మేము ఏమి చేస్తారు విలువ కంటే తక్కువ? ప్రేక్షకులు: అప్పుడు మీరు కొనసాగించడాన్ని ఇది గత తెచ్చుకున్నాను. జాసన్ HIRSCHORN: నేను ఇష్టం. తరువాత నోడ్ వెళ్ళండి. ఇది గత తెచ్చుకున్నాను - మేము బహుశా ఆ కోసం తనిఖీ చేస్తున్నాము ఒక పరిస్థితి పరంగా. కానీ అవును, తదుపరి నోడ్. మరియు ఆ, చాలా తక్కువ సంతరించుకోనుంది కాబట్టి మేము ఇక్కడ పైగా తరలించడానికి చేస్తాము. కానీ ఉంటే - అందరూ చూడగలరు? మేము సమాన అయితే మేము ఏమి చేస్తారు? విలువ మేము ఇన్సర్ట్ ప్రయత్నిస్తున్న ఉంటే ఈ నోడ్ యొక్క విలువకు సమానము? అవును? ప్రేక్షకులు: [వినబడని]. జాసన్ HIRSCHORN: అవును. ఈ కారణంగా - మార్కస్ హక్కు. మేము బహుశా చేసి వేరొక. కానీ ఇక్కడ, మేము అది సృష్టించిన ఇచ్చిన మేము విడిపించేందుకు ఆపై తిరిగి ఉండాలి. బాయ్ OH. అని ఉత్తమం? ఎలా ఆ? OK. మేము ఏమి అప్పుడు ఉచిత మరియు [వినబడని], తిరిగి? OK. మేము ఏదైనా కనిపించట్లేదు? కాబట్టి అక్కడ పర్యవేక్షించే ఉంటాయి ముందు నోడ్ యొక్క? ప్రేక్షకులు: నేను వెళ్ళి అనుకుంటున్నాను తర్వాత ఒక కొత్త నోడ్ సృష్టించడానికి. జాసన్ HIRSCHORN: OK. కాబట్టి ప్రారంభంలో మేము బహుశా చేస్తాము - , మేము ఒక కొత్త ఒక పాయింటర్ సృష్టించవచ్చు ఒక మునుపటి నోడ్ పాయింటర్ వలె నోడ్, మరియు ఒక ప్రస్తుత నోడ్ పాయింటర్. కాబట్టి యొక్క ఇక్కడ ఇన్సర్ట్ వీలు. సృష్టించు ప్రస్తుత మరియు మునుపటి కణుపులకు గమనికలు. కానీ మేము ఆ గమనికలు సర్దుబాటు చెయ్యాలి? మేము ఆ కోడ్ లో ఎక్కడ చేస్తారు? జెఫ్? ప్రేక్షకులు: - విలువ పరిస్థితులు? జాసన్ HIRSCHORN: ఏ ప్రత్యేకంగా ఒక? ప్రేక్షకులు: నేను చెప్తా. విలువ, ఈ నోడ్ కంటే ఎక్కువ ఉంటే మీరు వెళ్లాలని మీరు అర్థం కాదు తదుపరి నోడ్? జాసన్ HIRSCHHORN: మా విలువ ఉంటే ఈ నోడ్ విలువ కంటే ఎక్కువ. ప్రేక్షకులు: అవును, మీరు అనుకుంటున్నారా కుడి, లైన్ తీసుకోవాల్సి? జాసన్ HIRSCHHORN: కుడి. కాబట్టి మేము ఇక్కడ ఇన్సర్ట్ లేదు. విలువ అప్పుడు, ఈ నోడ్ జరుగుతాయన్నారు మేము తదుపరి నోడ్ వెళ్ళి - అప్పుడు లేదా మేము ముందు ఇన్సర్ట్. ప్రేక్షకులు: ఈ ఇది, వేచి నోడ్ మరియు ఇది విలువ ఉంది? జాసన్ HIRSCHHORN: మంచి ప్రశ్న. విలువ ఈ ఫంక్షన్ కంపెనీలు మేము ఇచ్చిన ఏమి ఉంది. కాబట్టి విలువ మేము ఇచ్చిన ఉన్నంత సంఖ్య. కాబట్టి విలువ ఈ కంటే తక్కువ ఉంటే నోడ్, మేము ఇన్సర్ట్ సమయం కావాలి. విలువ, ఈ నోడ్ కంటే ఎక్కువ ఉంటే మేము తదుపరి నోడ్ వెళ్ళండి. మరియు అసలు ప్రశ్నకు, అయితే, ఇక్కడ - ప్రేక్షకులు: విలువ ఎక్కువ ఉంటే ఈ నోడ్ కంటే. జాసన్ HIRSCHHORN: కాబట్టి మేము ఇక్కడ ఏమి చేస్తారు? స్వీట్. ఆ సరైనది. నేను రాయాలో నవీకరణ గమనికలు. అయితే, ప్రస్తుత ఒక తో మీరు దానిని ముందుమాట తదుపరి సూచించడానికి. ఏదైనా బదులు చెప్పలేకపోయింది? నేను ఈ టైప్ వెళుతున్న gedit లోకి కోడ్. నేను ఈ సమయంలో, మీరు ఒక కలిగి కోడింగ్ పని జంట నిమిషాల ఈ C. లో నేను ఇన్పుట్ pseudocode కలిగి. మేము ప్రారంభించడానికి ముందు త్వరిత గమనిక. వీటిని పూర్తిగా కాకపోవచ్చు అన్ని ఈ పూర్తి ఈ విధులను మూడు. వారికి సరైన పరిష్కారాలను ఉంది నేను మీరు అబ్బాయిలు బయటకు ఇమెయిల్ చేస్తాము విభాగం తరువాత, మరియు అది CS50.net పై పోస్ట్. నేను ప్రోత్సహిస్తున్నాము లేదు విభాగాలు చూడండి వెళ్ళండి. నేను ఈ ప్రయత్నించండి ప్రోత్సహిస్తున్నాము మీ స్వంతం, మరియు అప్పుడు సాధన ఉపయోగించడానికి మీ సమాధానాలు తనిఖీ సమస్యలు. ఈ అన్ని రూపొందిస్తున్నారు దగ్గరగా సంబంధం మరియు కట్టుబడి ఏమి మీరు సమస్య సమితి చేయాలని. నేను ఈ ప్రాక్టీస్ ప్రోత్సహిస్తున్నాము మీ స్వంత తరువాత యిందులో మీ సమాధానాలు తనిఖీ. నేను హాష్ వెళ్ళటానికి అనుకుంటున్నారు ఎందుకంటే విభాగంలో సమయంలో పట్టికలు. కాబట్టి మేము ఇది అన్ని ను కాదు. కాని ఇప్పుడు మేము వంటి చాలా చేస్తాను. OK. మాకు ప్రారంభించండి. Asam, ఎలా మేము ఒక కొత్త నోడ్ సృష్టించాలి? ప్రేక్షకులు: మీరు * struct చెయ్యాలి. జాసన్ HIRSCHHORN: కాబట్టి మేము ఇక్కడ ఆ కలిగి. ఓహ్, సారీ. మీరు * struct చెప్పడం జరిగింది. ప్రేక్షకులు: అప్పుడు [? రకం?] నోడ్ లేదా సి నోడ్. జాసన్ HIRSCHHORN: OK. నేను new_node కాల్ వెళుతున్న కాబట్టి మేము స్థిరమైన ఉండవచ్చు. ప్రేక్షకులు: మీరు ఆ సెట్ చేయాలనుకుంటున్నారా , మొదటి నోడ్ అధిపతిగా. జాసన్ HIRSCHHORN: OK. కాబట్టి ఇప్పుడు ఈ గురిపెట్టి - ఈ ఇంకా ఒక కొత్త నోడ్ సృష్టించలేదు. ఇది సూచించే జాబితాలో మొదటి నోడ్. నేను ఒక కొత్త నోడ్ సృష్టించాలి? నేను ఒక కొత్త నోడ్ సృష్టించడానికి ఖాళీ అవసరమైతే. Malloc. మరియు ఎంత పెద్ద? ప్రేక్షకులు: struct పరిమాణం. జాసన్ HIRSCHHORN: struct పరిమాణం. మరియు struct ఏమి అని? ప్రేక్షకులు: నోడ్? జాసన్ HIRSCHHORN: నోడ్. కాబట్టి malloc (sizeof (నోడ్)); మాకు స్పేస్ ఇస్తుంది. మరియు ఈ లైన్ - ఒక విషయం పై తప్పు. ఒక struct ఒక పాయింటర్ new_node ఉంది? ఒక సాధారణ పేరు ఉంది. ఇది ఏమిటి - నోడ్, ఖచ్చితంగా. ఇది * ఒక నోడ్. మరియు మేము తరువాత ఏమి చేస్తారు మేము Asan ఏదో, malloc? మేము మొదటి విషయం ఏమిటి? అది పని చెయ్యకుండా? ప్రేక్షకులు: ఓహ్, తనిఖీ ఉంటే అది నోడ్ పాయింట్లు? జాసన్ HIRSCHHORN: ఖచ్చితంగా. కాబట్టి మీరు new_node ఉంటే సమానం సమానం శూన్య, మేము ఏమి లేదు? ఈ ఒక bool, ఈ ఫంక్షన్ తిరిగి. ఖచ్చితంగా. బాగుంది. అక్కడ జోడించడానికి ఏదైనా? మేము చివరి విషయాలు జోడించాలి. కానీ ఇప్పటివరకు బాగుంది. ప్రస్తుత మరియు మునుపటి గమనికలు సృష్టించు. మైఖేల్, నేను ఎలా దీన్ని మీరు? ప్రేక్షకులు: మీరు కలిగి ఉంటుంది ఒక నోడ్ చేయడానికి *. మీరు ఒకటి కాదు చేయడానికి భావిస్తాను new_node కోసం కానీ నోడ్స్ మేము ఇప్పటికే. జాసన్ HIRSCHHORN: OK. కాబట్టి ప్రస్తుత నోడ్ మేము ఉన్నాము. నేను ఆ కుర్ర్ పిలుస్తాను. అన్ని కుడి. మేము ఉంచడానికి నిర్ణయించుకుంది చేసిన మేము తెలుసుకోవాలి రెండు ఎందుకంటే అది ముందు. వారు ఏమి కు initialized పెట్టాలి? ప్రేక్షకులు: మా జాబితాలో వారి విలువ. జాసన్ HIRSCHHORN: కాబట్టి ఏమిటి మా జాబితాలో మొదటి విషయం? లేదా ఎలా మేము తెలుసు పేరు మా జాబితా ప్రారంభమైంది? ప్రేక్షకులు: ఇది ఆమోదించబడనట్లయితే ఫంక్షన్? జాసన్ HIRSCHHORN: కుడి. ఇది ఇక్కడే లో జారీ చేశారు. ఇది ఫంక్షన్ జారీ చేస్తే, జాబితా ప్రారంభం, ఏమి మేము తప్పక సమానంగా ప్రస్తుత సెట్? ప్రేక్షకులు: జాబితా. జాసన్ HIRSCHHORN: జాబితా. ఖచ్చితంగా కుడి ఉంది. ఇప్పుడు అది చిరునామా ఉంది మా జాబితా ప్రారంభంలో. మరియు మునుపటి గురించి? ప్రేక్షకులు: జాబితా మైనస్ ఒక? జాసన్ HIRSCHHORN: ఉంది ఇది ముందు ఏమీ. కాబట్టి మేము ఏమీ అర్థంతో ఏమి చెయ్యగలరు? ప్రేక్షకులు: శూన్యం. జాసన్ HIRSCHHORN: అవును. ఒక మంచి ఆలోచన లాగా. పర్ఫెక్ట్. ధన్యవాదాలు. జాబితాను నుండి వెళ్ళండి. కాన్స్టాంటైన్, ఎంత మేము వెళ్తున్నారు జాబితా ద్వారా వెళ్ళడానికి? ప్రేక్షకులు: మేము శూన్య చేరుకునే వరకు. జాసన్ HIRSCHHORN: OK. కాబట్టి, ఉంటే లూప్, అయితే. మేము ఏమి చేస్తున్నావు? ప్రేక్షకులు: బహుశా ఒక లూప్? జాసన్ HIRSCHHORN: యొక్క లూప్ ఒక తెలియజేసేలా. OK. ప్రేక్షకులు: మరియు మేము చెప్పగలదు - ప్రస్తుత పాయింటర్ వరకు శూన్య సమానం కాదు. జాసన్ HIRSCHHORN: కాబట్టి మేము తెలిస్తే పరిస్థితి, ఎలా మేము ఒక లూప్ వ్రాయవచ్చు ఆ పరిస్థితి ఆఫ్ ఆధారంగా. మేము ఒక లూప్ ఏ విధమైన ఉపయోగించాలి? ప్రేక్షకులు: ఉండగా. జాసన్ HIRSCHHORN: అవును. ఆధారిత మరింత అర్ధమే మీరు మాట్లాడుతూ ఆఫ్. మేము లోకి వెళ్లాలనుకుంటే చేస్తుంది ఆ విషయం తెలిసిన, అది చేస్తుంది ఒక సమయంలో లూప్ ఆయనలో. ప్రస్తుత సమాన కాదు శూన్య చేస్తుంది, అయితే విలువ ఈ నోడ్ కంటే తక్కువ ఉంటే. అక్షర్, నాకు ఈ లైన్ ఇవ్వాలని. ప్రేక్షకులు: ప్రస్తుత-> n n విలువ కంటే తక్కువ. లేదా ఆ రివర్స్. ఆ బ్రాకెట్ మారండి. జాసన్ HIRSCHHORN: క్షమించండి. ప్రేక్షకులు: బ్రాకెట్ మార్చండి. జాసన్ HIRSCHHORN: కనుక ఇది ఉంటే విలువ కంటే ఎక్కువ. ఆ గందరగోళంగా ఎందుకంటే పైన, నేను అలా వెళుతున్న. అయితే. మా విలువ ఈ జరుగుతాయన్నారు నోడ్, మేము ఏమి లేదు? ఓహ్. నేను ఇక్కడ కలిగి. ముందు ఇన్సర్ట్. OK. మేము ఎలా చేయాలి? ప్రేక్షకులు: ఇది నాకు ఇప్పటికీ? జాసన్ HIRSCHHORN: అవును. ప్రేక్షకులు: మీరు - new_node-> తదుపరి. జాసన్ HIRSCHHORN: కాబట్టి ఏమిటి ఆ సమానం? ప్రేక్షకులు: ఇది సమాన ప్రస్తుత వెళుతున్న. జాసన్ HIRSCHHORN: ఖచ్చితంగా. కాబట్టి ఇతర - మేము అప్డేట్ ఏమి చేయాలి? ప్రేక్షకులు: గత శూన్య సమానం తనిఖీ. జాసన్ HIRSCHHORN: గత ఉంటే - అయితే గత శూన్య సమానం. ప్రేక్షకులు: ఇది చేస్తాడు అర్థం తల మారింది. జాసన్ HIRSCHHORN: బస్టాపులో ఇది తల అవుతుంది. కాబట్టి అప్పుడు మేము ఏమి చేస్తారు? ప్రేక్షకులు: మేము తల new_node సమానం. జాసన్ HIRSCHHORN: హెడ్ new_node సమానం. ఎందుకు జాబితా, ఇక్కడ తల? ప్రేక్షకులు: తల ఒక ప్రపంచ ఎందుకంటే ప్రారంభ స్థలం ఇది వేరియబుల్,. జాసన్ HIRSCHHORN: స్వీట్. OK. మరియు - ప్రేక్షకులు: అప్పుడు మీరు ఎక్కడైతే గత-> తదుపరి new_node సమానం. ఆపై మీరు నిజం తిరిగి. జాసన్ HIRSCHHORN: ఎక్కడినుంచి మేము new_node ముగింపు సెట్? ప్రేక్షకులు: నేను - నేను మొదలుపెట్టకూడదు సెట్. జాసన్ HIRSCHHORN: కాబట్టి లైన్? ప్రేక్షకులు: తరువాత ప్రకటన ఇది పిలిచే తనిఖీ. జాసన్ HIRSCHHORN: ఇక్కడే? ప్రేక్షకులు: నేను కావలసిన new_node-> n విలువ సమానం. జాసన్ HIRSCHHORN: మంచిది. బహుశా అర్థవంతంగా - మేము లేదు మేము ఉన్నాము ఏమి జాబితా తెలుసుకోవాలి మేము మాత్రమే రంజింప ఒక జాబితాను. కోసం వారు ఒక ఫంక్షన్ ప్రకటన ఈ కేవలం ఈ వదిలించుకోవటం ఉంది పూర్తిగా మరియు కేవలం ఇన్సర్ట్ తల ఒక విలువ. మేము కూడా తెలుసుకోవాలి లేదు మేము సైన్ ఉన్నారు ఏమి జాబితా కానీ నేను ఇప్పుడు ఇది ఉంచడానికి మరియు ఉంటుంది అప్పుడు నవీకరించుటకు మీద మార్చడానికి స్లైడ్లు మరియు కోడ్. కాబట్టి వాళ్ళెవరూ బాగుంది. ఉంటే విలువ - ఈ లైన్ చేయవచ్చు? ఉంటే - మేము నోహ్, ఇక్కడ ఏమి చేస్తారు. ప్రేక్షకులు: విలువ ఎక్కువ ఉంటే n కుర్ర్-> కంటే - జాసన్ HIRSCHHORN: ఎలా మేము తదుపరి నోడ్ వెళ్ళండి? ప్రేక్షకులు: కుర్ర్-> n ఉంది new_node సమానంగా. జాసన్ HIRSCHHORN: కాబట్టి n ఉంది struct భాగంగా? పూర్ణాంక. మరియు new_node ఒక నోడ్ ఒక పాయింటర్ ఉంది. కాబట్టి మేము కుర్ర్ భాగంగా అప్డేట్ చేయాలి? కాదు n, అప్పుడు ఇతర భాగంగా ఏమిటి? నోహ్, ఇతర భాగంగా ఏమిటి. ప్రేక్షకులు: ఓహ్, తదుపరి. జాసన్ HIRSCHHORN: తదుపరి, ఖచ్చితంగా. ఖచ్చితంగా. తదుపరి కుడి ఒకటి. మరియు మేము ఏమి చేయాలి , నోహ్ అప్డేట్? ప్రేక్షకులు: గమనికలు. జాసన్ HIRSCHHORN: కాబట్టి మేము ప్రస్తుత నవీకరించబడింది. ప్రేక్షకులు: Prev-> తదుపరి. జాసన్ HIRSCHHORN: అవును. OK, మేము విరామం చేస్తాము. ఎవరు ఇక్కడ మాకు సహాయం? మను, మనం ఏమి చెయ్యాలి? ప్రేక్షకులు: మీరు సెట్ పొందారు ఇది కుర్ర్-> తదుపరి సమానంగా. కానీ మునుపటి లైన్ ముందు అలా. జాసన్ HIRSCHHORN: OK. ఏదైనా? అక్షర్. ప్రేక్షకులు: నేను మీరు భావిస్తున్నాను లేదు తదుపరి కుర్ర్-> మార్చడానికి ఉద్దేశించిన. నేను మీరు కుర్ర్ సమానం ఉద్దేశించబడినదే భావిస్తున్నాను కుర్ర్-> తదుపరి నోడ్ వెళ్ళండి పక్కన. జాసన్ HIRSCHHORN: చర్చించుకుందాం, పేరు? ఏ లైన్? ఈ లైన్? ప్రేక్షకులు: అవును. తయారు కుర్ర్ తదుపరి కుర్ర్-> సమానం. జాసన్ HIRSCHHORN: కాబట్టి సరైన అని ప్రస్తుత ఎందుకంటే ఒక ఒక నోడ్ పాయింటర్. మరియు మేము తదుపరి సూచించడానికి కావలసిన ప్రస్తుతం సంతరించుకోనుంది ఏమి నోడ్ చూపారు. కుర్ర్ కూడా ఒక తదుపరి ఉంది. కానీ మేము అయితే curr.next అప్డేట్, మేము అసలు గమనిక నవీకరించుటకు అవుతుంది కూడా, కాదు ఈ పాయింటర్ పై జరిగినది. ఈ లైన్ గురించి, అయితే. Avi? ప్రేక్షకులు: Prev-> తదుపరి కుర్ర్ సమానం. జాసన్ HIRSCHHORN: మరలా, ఉంటే గత ఒక ఉంది ఒక నోడ్ పాయింటర్, గత-> తదుపరి ఉంది నోడ్ లో వాస్తవ పాయింటర్. కాబట్టి ఈ నవీకరించడాన్ని ఒక కుర్ర్ ఒక నోడ్ లో పాయింటర్. మేము అప్డేట్ వద్దు ఒక నోడ్ లో ఒక పాయింటర్. మేము మునుపటి నవీకరించాలనుకున్న. కాబట్టి మేము ఆ చేయాలి? ప్రేక్షకులు: ఇది కేవలం గత అవుతుంది. జాసన్ HIRSCHHORN: కుడి. గత ఒక నోడ్ ఒక పాయింటర్ ఉంది. ఇప్పుడు మేము ఒక దానిని మారుస్తున్నాము ఒక నోడ్ కొత్త పాయింటర్. OK మాకు డౌన్ వెళ్దాము. చివరగా, ఈ గత పరిస్థితి. జెఫ్, మేము ఇక్కడ ఏమి చేస్తారు? ప్రేక్షకులు: విలువ ఉంటే కుర్ర్-> n సమానంగా. జాసన్ HIRSCHHORN: క్షమించండి. మంచితనం ఓహ్. ఏ? విలువ == కుర్ర్-> n. మనమేం చేస్తాం? ప్రేక్షకులు: మీరు మా new_node విడిపించేందుకు ఇష్టం, ఆపై మీరు తిరిగి తప్పుడు ఇష్టం. జాసన్ HIRSCHHORN: ఈ ఏమి మేము ఇప్పటివరకు వ్రాశారు. ఎవరైనా ఏదైనా ఉందా మేము ముందు జోడించడానికి? OK. ఇది ప్రయత్నించండి లెట్. కంట్రోల్ ముగింపు చేరుకునే ఒక కాని తప్ప ఫంక్షన్. Avi, ఏం జరుగుతోంది? ప్రేక్షకులు: మీరు తిరిగి ఉంచాలి ఉండాల్సి అయితే లూప్ వెలుపల నిజమైన? జాసన్ HIRSCHHORN: నేను తెలియదు. మీరు నాకు అనుకుంటున్నారు? ప్రేక్షకులు: ఫరవాలేదు. నం జాసన్ HIRSCHHORN: అక్షర్? ప్రేక్షకులు: నేను మీకు అర్థం అనుకుంటున్నాను చివరిలో తిరిగి తప్పుడు చాలు సమయంలో లూప్. జాసన్ HIRSCHHORN: కాబట్టి పేరు మీరు అది అనుకుంటున్నారు? ప్రేక్షకులు: లూప్ బయట ఇలా. కాబట్టి మీరు సాధనాలు అయితే లూప్ ఉంటే మీరు ముగింపు చేరుకుంది మరియు చేసిన ఏమీ జరగలేదు. జాసన్ HIRSCHHORN: OK. కాబట్టి మేము ఇక్కడ ఏమి చేస్తారు? ప్రేక్షకులు: మీరు తప్పుడు తిరిగి అలాగే. జాసన్ HIRSCHHORN: ఓహ్, మేము రెండు ప్రదేశాలలో దీన్ని? ప్రేక్షకులు: అవును. జాసన్ HIRSCHHORN: OK. వెళ్ళాలి? మంచితనం ఓహ్. క్షమించండి. నేను తెర చింతిస్తున్నాము. ఇది రకమైన మాకు బయటకు freaking. కాబట్టి ఎంపికను ఎంచుకోండి. జీరో, కోడ్ శాతం, ప్రోగ్రామ్ వదిలేసి. ఒక ఏదో ఇన్సర్ట్. యొక్క మూడు ఇన్సర్ట్ లెట్. చొప్పించు నడవలేదు. నేను ప్రింట్ వెళుతున్న. నేను ఏదైనా లేదు. OK. బహుశా ఒక అదృష్టమని ఉంది. ఒక ఇన్సర్ట్. విజయవంతమైన కాదు. OK. యొక్క నిజంగా త్వరగా GDB ద్వారా అమలు అనుమతిస్తాయి జరుగుతుందో తనిఖీ. యొక్క GDB గుర్తుంచుకో. / పేరు మీ కార్యక్రమం GDB లోకి మాకు పొందుతాడు. చాలా నిర్వహించడానికి అని? ఫ్లాషింగ్? బహుశా. మీ కళ్ళు మూసివేసి కొన్ని లోతైన పడుతుంది మీరు అలసటతో పొందుటకు ఉంటే శ్వాసల అది చూడటం. నేను GDB ఉన్నాను. GDB లో నేను మొదటి విషయం ఏమిటి? మేము గుర్తించడానికి పొందారు ఇక్కడికి జరగబోతోంది. యొక్క చూసేలా. మేము చిత్రంలో ఆరు నిమిషాలు జరగబోతోంది ఏమి. ప్రధాన విడిపోయారు. ఆపై నేను ఏమి చేస్తారు? కార్లోస్? అమలు. OK. యొక్క ఎంపికను ఎంచుకోండి లెట్. మరియు N ఏమి చేస్తుంది? తదుపరి. అవును. ప్రేక్షకులు: మీరు గురించి లేదు - మీరు తల, అదేమిటో చెప్పలేదు ప్రారంభంలో శూన్య కు initialized. కానీ, నేను మీరు చెప్పారు OK భావించారు. జాసన్ HIRSCHHORN: యొక్క వెళ్ళి తెలపండి - యొక్క చూద్దాం GDB లో, ఆపై మేము తిరిగి వెళ్తారో. మీరు ఇప్పటికే కలిగి వంటి కానీ ధ్వనులు ఏమి గురించి కొన్ని ఆలోచనలు. కాబట్టి మేము ఏదో ఇన్సర్ట్. OK. మేము ఇన్సర్ట్ చేశారు. ఒక Int నమోదు చేయండి. మేము మూడు ఇన్సర్ట్ చేస్తాము. మరియు నేను ఈ లైన్ ఉన్నాను. నేను డీబగ్గింగ్ ప్రారంభం గో చొప్పించు ఫంక్షన్ తెలిసిన? మంచితనం ఓహ్. చాలా పేర్కొంది. ఆ చాలా freaking ఉంది? ప్రేక్షకులు: ఓహ్, ఇది మరణించాడు. జాసన్ HIRSCHHORN: నేను ఇది తప్పుకుంది. OK. ప్రేక్షకులు: బహుశా ఇది ఉంది తీగ ఇతర ముగింపు. జాసన్ HIRSCHHORN: వావ్. కాబట్టి బాటమ్ లైన్ - మీరు ఏమి చేశారు? ప్రేక్షకులు: నేను అన్నాడు సాంకేతిక వ్యంగ్యం ఈ తరగతి లో ఇబ్బందులు. జాసన్ HIRSCHHORN: నేను. మాత్రమే ఆ భాగం నియంత్రణ కలిగి. [వినబడని] అంతే. ఖురానూ గురించి ఆలోచిస్తూ మొదలు లేదు మేము తప్పు చేసి, మరియు మేము తిరిగి 90 సెకన్లలో ఉంటుంది. Avica, నేను ఎలా వెళ్ళడానికి అడగండి వెళుతున్న ఇది డీబగ్ లోపల insert_node. మేము గత వదిలి కాబట్టి ఇది. నేను insert_node లోపల చేస్తావు, avica, ఏమి పరిశీలించడానికి? ఏ GDB ఆదేశం? బ్రేక్ లోపల నాకు తీసుకు. Marquise తెలుసా? ప్రేక్షకులు:? జాసన్ HIRSCHHORN: ఏ GDB ఆదేశం నేను ఈ ఫంక్షన్ లోపల వెళ్ళి ఉపయోగించాలి? ప్రేక్షకులు: దశ? జాసన్ HIRSCHHORN: ద్వారా దశ లోపల నాకు పడుతుంది ఆ S.. OK. New_node కొన్ని స్పేస్ mallocing. అన్ని దాని అన్నారు కనిపించే. యొక్క new_node పరిశీలిద్దాం. ఇది కొన్ని మెమరీ చిరునామా వచ్చింది. యొక్క తనిఖీ లెట్ - అన్ని సరైనది. ఇక్కడ ప్రతిదీ ఉంది సరిగ్గా పని. ప్రేక్షకులు: తేడా ఏమిటి పి మరియు ప్రదర్శన మధ్య? జాసన్ HIRSCHHORN: P ముద్రణ ఉన్నచో. కాబట్టి మీరు ఏమి అభ్యర్థిస్తున్నాము మరియు ఈ మధ్య వ్యత్యాసం? ఈ సందర్భంలో, ఏమీ. కానీ సాధారణంగా ఉన్నాయి కొన్ని తేడాలు. మరియు మీరు GDB మాన్యువల్లో కనిపించాలి. కానీ ఈ సందర్భంలో, ఏమీ. మేము, అయితే, ప్రింట్ ఉపయోగించడానికి కారణం మేము కంటే మరింత అవసరం లేదు ఒక విలువను ప్రింట్. OK. కాబట్టి మేము మా కోడ్ యొక్క లైన్ 80 ఉన్నాయి జాబితాలో సమానంగా నోడ్ * కుర్ర్ సెట్. మాకు కుర్ర్ ప్రింట్ తెలియజేయండి. ఇది జాబితా సమానం. స్వీట్. వేచి. ఇది ఏదో సమానం. కుడి కనిపించడం లేదు. అక్కడ మేము వెళ్ళి. ఇది GDB లో, కుడి, ఎందుకంటే ఇది మీరు లో ఉన్నారు లైన్ ఇంకా అమలు చేయలేదు. కాబట్టి మీరు నిజంగా టైప్ చేయాలి లైన్ అమలు తదుపరి దాని ఫలితాలు చూసిన ముందు. కాబట్టి ఇక్కడ ఉన్నాయి. మేము ఈ లైన్ అమలు, మునుపటి శూన్య సమానం. మరలా, మేము మునుపటి ప్రింట్ మేము విచిత్రమైన ఏదైనా చూడరు. కానీ మేము నిజంగా ఆ అమలు ఉంటే లైన్, అప్పుడు మేము చూస్తారు లైనును పని. కాబట్టి మేము కుర్ర్ కలిగి. ఆ రెండు మంచి. కుడి? ఇప్పుడు మేము ఇక్కడ ఈ లైన్ లో ఉన్నారు. కుర్ర్ సమాన శూన్య చేయదు. బాగా, కుర్ర్ సమాన దేనిని? మేము దానిని శూన్య సమం చూసింది. మేము ముద్రించిన. నేను మళ్ళీ ప్రింట్ చేస్తాము. కాబట్టి అని సమయంలో లూప్ అమలు వెళుతున్న? ప్రేక్షకులు: నం జాసన్ HIRSCHHORN: నేను టైప్ చేసిన లైన్, మీరు మేము పెరిగింది చూడండి దిగువ డౌన్, తప్పుడు తిరిగి. మరియు తర్వాత మేము తప్పుడు తిరిగి చూడాలని మరియు మా కార్యక్రమం తిరిగి వెళ్ళి మేము చూసిన వంటి చివరికి, ప్రింట్, చొప్పించు నడవలేదు. కాబట్టి, ఎవరైనా ఏం ఏ ఆలోచనలు కలిగి మేము ఈ పరిష్కరించడానికి చెయ్యాల్సిన? నేను చూడండి వరకు వేచి వెళుతున్న చేతులు జంట పెరగడంతో. మేము ఈ అమలు చేయలేదు. గుర్తుంచుకోండి, ఈ మొదటి ఉంది మనం చేస్తున్న విషయం. నేను ఒక జంట చేయబోవడం లేదు. నేను కొన్ని వెళుతున్న. ఒక జంట రెండు అర్థం ఎందుకంటే. నేను కంటే ఎక్కువ రెండు వేచి ఉంటాం. మొదటి చొప్పించడం, కుర్ర్, డిఫాల్ట్ శూన్య సమానం ద్వారా. మరియు ఈ లూప్ మాత్రమే అమలు కుర్ర్ శూన్య లేకపోతే. కాబట్టి నేను ఈ చుట్టూ పొందవచ్చు? నేను మూడు చేతులు చూడండి. నేను కంటే ఎక్కువ మూడు కోసం వేచి ఉంటాం. మార్కస్, మీరు ఏమి ఆలోచిస్తాడు? ప్రేక్షకులు: Well, మీరు అవసరమైతే , ఒకసారి కంటే ఎక్కువ అమలు మీరు ఒక డో-సమయంలో లూప్ మార్చుకోండి. జాసన్ HIRSCHHORN: OK. అయితే మా సమస్య పరిష్కరించే? ప్రేక్షకులు: ఈ సందర్భంలో ఏ ఎందుకంటే జాబితా ఖాళీగా వాస్తవం. కాబట్టి మీరు బహుశా కేవలం జోడించాలి ఒక ప్రకటన ఉంటే లూప్ నిష్క్రమిస్తుంది అప్పుడు మీరు చివరిలో ఉండాలి మీరు సూచించండి ఇది జాబితాని, కేవలం ఇన్సర్ట్ చేయవచ్చు. జాసన్ HIRSCHHORN: నేను ఇష్టం. వెళ్ళు. లూప్ నిష్క్రమిస్తుంది ఉంటే - ఇది ఇక్కడ తప్పుడు తిరిగి ఉంటుంది ఎందుకంటే. కాబట్టి లూప్ నిష్క్రమిస్తుంది, అప్పుడు మేము ఉన్నాము బహుశా జాబితా ముగింపు లేదా ఏమీ, ఉంది ఉంటే జాబితా ప్రారంభం ఇది, ఇది ముగింపు వలె ఉంటుంది. కాబట్టి ఇప్పుడు మేము ఇన్సర్ట్ ఇక్కడ ఏదో. కాబట్టి ఎలా కోడ్, మార్కస్ ఎలా ఉంటుంది? ప్రేక్షకులు: మీరు ఇప్పటికే నోడ్ వచ్చింది ఉంటే malloced, మీరు చెప్పగల్గినవి new_node-> తదుపరి శూన్య ఎందుకంటే సమానం అది ముగింపులో ఉండాలి. లేదా new_node-> తదుపరి శూన్య సమానం. జాసన్ HIRSCHHORN: OK. క్షమించాలి. New_node-> తదుపరి శూన్య సమానం మేము చివరిలో ఉన్నారు ఎందుకంటే. అది పెట్టే లేదు ఎలా మేము అది జాబితాలో ఉంచగలను? కుడి. కేవలం సమానంగా ఇది నేపథ్యం ఉంది. ఏ ఎలా మేము నిజంగా జాబితాలో ఉంచారు? సూచించే ఏమిటి జాబితా చివర? ప్రేక్షకులు: హెడ్. జాసన్ HIRSCHHORN: క్షమించాలి? ప్రేక్షకులు: హెడ్ సూచించబడిన జాబితా చివర. జాసన్ HIRSCHHORN: ఏమీ లో ఉంది ఉంటే జాబితా, తలకు సూచించబడిన జాబితా చివర. కాబట్టి ఆ పని చేస్తాము మొదటి చొప్పించడం. ఉన్నాయి గురించి ఉంటే జాబితాలో విషయాలు? మేము సెట్ అనుకుంటున్న కంటే new_node సమానంగా తల. మనం అక్కడ చెయ్యాలనుకుంటున్నారు? అవును? బహుశా మునుపటి. ఆ పని చేస్తుంది? మునుపటి కేవలం అని గుర్తు ఒక కణుపు ఒక పాయింటర్. మరియు మునుపటి ఒక స్థానిక వేరియబుల్. కాబట్టి ఈ లైన్ స్థానిక వేరియబుల్ సెట్ చేస్తుంది, , మునుపటి సమానంగా లేదా ఈ కొత్త నోడ్ సూచించే. వాస్తవానికి ఉంచండి కాదు మా జాబితాలో, అయితే. ఎలా మేము మా జాబితాలో ఉంచగలను? Akchar? ప్రేక్షకులు: నేను మీరు అనుకుంటున్నాను తదుపరి ప్రస్తుత> చేయండి. జాసన్ HIRSCHHORN: OK. కుర్ర్-> తదుపరి. మరలా, మేము డౌన్ తెలిసిందట కారణం ఇక్కడ, ఏ సమాన ప్రస్తుత చేస్తుంది? ప్రేక్షకులు: శూన్య సమానం. జాసన్ HIRSCHHORN: కాబట్టి రాబోయే శూన్య> కవులందరిలోకీ? మనం పొందగలిగిన చెయ్యాలి? మేము విభజన లోపంగా పొందుతారు. ప్రేక్షకులు: డో కుర్ర్ శూన్య సమానం. జాసన్ HIRSCHHORN: అదే విషయం గత వంటి, అయితే, ఉంది ఎందుకంటే మేము సెట్ స్థానిక వేరియబుల్ ఈ కొత్త నోడ్ సమానంగా. యొక్క మా చిత్రాన్ని వెళదాం ఏదో ఇన్సర్ట్. మేము చివరిలో ఇన్సర్ట్ సే జాబితా, ఇక్కడే కాబట్టి. మేము ఒక ప్రస్తుత పాయింటర్ శూన్యం సూచించాను ఒక మునుపటి పాయింట్ ఆ 8 సూచించే యొక్క. కాబట్టి మనం Avi, అప్డేట్ చేయాలి? ప్రేక్షకులు: మునుపటి-> తదుపరి? జాసన్ HIRSCHHORN: మునుపటి-> తదుపరి ఏమిటి మేము అప్డేట్ అనుకుందాం ఎందుకంటే ఆ నిజానికి వద్ద ఇన్సర్ట్ ఉంటుంది జాబితా చివర. మేము ఇంకా, అయితే, ఒక బగ్ కలిగి మేము ఆకస్మికంగా చూడాలని. ఆ బగ్ ఏమిటి? అవును? ప్రేక్షకులు: ఇది తిరిగి వెళుతున్న ఈ సందర్భంలో తప్పుడు? జాసన్ HIRSCHHORN: ఓహ్, ఉంది తప్పుడు తిరిగి వెళుతున్న. కానీ మరొక బగ్ ఉంది. కాబట్టి మేము నిజమైన తిరిగి చాలు చేయాలి. ప్రేక్షకులు: లేదు మునుపటి ఇప్పటికీ సమాన జాబితా ఎగువన శూన్య? జాసన్ HIRSCHHORN: కాబట్టి మునుపటి ఇప్పటికీ చాలా ప్రారంభంలో శూన్య సమానం. కాబట్టి మేము ఎలా అని పైగా లభిస్తే? అవును? ప్రేక్షకులు: నేను మీరు ఒక చెక్ అనుకోను అది ఉంటే సమయంలో లూప్ చూడటానికి ముందు ఒక ఖాళీ జాబితా. జాసన్ HIRSCHHORN: OK. ఇక్కడ వీడలేదు. ఒక చెక్. ఉంటే - ప్రేక్షకులు: తల సమానం శూన్య సమానం. జాసన్ HIRSCHHORN: హెడ్ సమానం శూన్య సమానం - ఇది ఒక ఖాళీ జాబితా ఉంటే ఆ మాకు చేస్తాము. అప్పుడు మీరు: ప్రేక్షకులు అలా తల కొత్త సమానం. జాసన్ HIRSCHHORN: హెడ్ new_node సమానం? మరియు ఏమి మేము ఏమి చేయాలి? ప్రేక్షకులు: మీరు నిజమైన తిరిగి. జాసన్ HIRSCHHORN: కాదు. మేము ఒక దశ కోల్పోతున్నారు. ప్రేక్షకులు: new_node తదుపరి శూన్య సూచించడానికి ఉంది. జాసన్ HIRSCHHORN: ఖచ్చితంగా అల్డెన్. మరియు తర్వాత మేము నిజమైన తిరిగి. OK. కానీ ఇప్పటికీ పనులు ఒక మంచి ఆలోచన జాబితా చివరిలో, కుడి? అన్ని కుడి. మేము ఇంకా నిజానికి పొందండి ఉండవచ్చు జాబితా చివర. మేము ఉన్నాము చేస్తే ఈ కోడ్ ఉత్తమంగా ఉంటుంది జాబితా చివర మరియు కొన్ని ఉన్నాయి జాబితాలో విషయాలు? కుడి? మేము ఇంకా మార్కస్ యొక్క ఆలోచన ఎందుకంటే. మేము ఈ లూప్ ఎందుకంటే మేము జాబితా చివరిలో ఉన్నారు. కాబట్టి మేము ఇంకా ఈ అనుకుంటున్నారు ఇక్కడ డౌన్ కోడ్? ప్రేక్షకులు: అవును. జాసన్ HIRSCHHORN: అవును. మరియు మేము ఈ మార్చడానికి చేయాలి? ట్రూ. చేసే ధ్వని మంచి అందరికీ ఇప్పటివరకు? ఎవరైనా ఏ - Avi, మీరు జోడించడానికి ఏదో ఉన్నాయి? ప్రేక్షకులు: నం జాసన్ HIRSCHHORN: OK. కాబట్టి మేము మార్పులు జంట చేసిన. మేము ముందు ఈ పరిశీలించింది చేసిన ఒక ఖాళీ జాబితా కోసం వెళ్లాడు. కాబట్టి మేము ఒక ఖాళీ జాబితా యొక్క రక్షణ తీసుకున్నారు. మరియు ఇక్కడ మేము ఇన్సర్ట్ సంరక్షించారు జాబితా చివరిలో ఏదో. కాబట్టి ఈ సమయంలో లూప్ తీసుకొని వంటి తెలుస్తోంది మధ్య లో విషయాలను జాగ్రత్తగా, ఎక్కడో జాబితాలో అక్కడ విషయాలు జాబితాలో ఉన్నాయి. OK. మనం ఈ ప్రోగ్రామ్ రన్ లెట్. విజయవంతమైన కాదు. ప్రేక్షకులు: మీరు చేరని. జాసన్ HIRSCHHORN: ఓహ్, నేను చేరని. మంచి పాయింట్, మైఖేల్. యొక్క లింక్ తయారు జోడించడానికి అనుమతిస్తుంది. లైన్ 87 ఒక లోపం ఉంది. లైన్ 87. అల్డెన్, ఈ మీరు నాకు ఇచ్చిన లైన్ ఉంది. ఇంకానా? ప్రేక్షకులు: ఇది శూన్యం ఉండాలి. జాసన్ HIRSCHHORN: అద్భుతమైన. సరిగ్గా కుడి. ఇది శూన్య ఉండాలి. యొక్క మళ్ళీ తయారు చేద్దాము. కంపైల్. OK. యొక్క మూడు ఇన్సర్ట్ లెట్. చొప్పించు విజయవంతమైంది. యొక్క దీనిని ప్రింట్ లెట్. ఓహ్, కేవలం మేము తనిఖీ ఉంటే. కానీ మేము చేయలేదు ఇంకా ఫంక్షన్ ముద్రిస్తుంది. యొక్క ఏదో ప్రవేశించే. మేము ఏమి నమోదు చేయాలి? ప్రేక్షకులు: ఏడు. జాసన్ HIRSCHHORN: తాగాను ప్రేక్షకులు: అవును. జాసన్ HIRSCHHORN: మేము ఒక seg తప్పు కలిగి. కాబట్టి మేము ఒక వచ్చింది, కానీ మేము స్పష్టంగా రెండు పొందలేము. ఇది 5:07 ఉంది. కాబట్టి మేము ఈ డీబగ్ కాలేదు మూడు నిమిషాలు. కానీ నేను ఇక్కడ మాకు వదిలి వెళుతున్న మరియు పట్టికలు హాష్ కొనసాగండి. కానీ మళ్ళీ, ఈ కోడ్ సమాధానాలు నేను ఒక బిట్ లో మీరు దీన్ని మెయిల్ చేస్తుంది. మేము చాలా దగ్గరగా ఉన్నాయి. నేను అత్యంత గుర్తించడానికి ప్రోత్సహిస్తున్నాము ఇక్కడికి జరగబోతోంది మరియు దాన్ని పరిష్కరించడానికి యొక్క. నేను మీరు ఈ కోడ్ ఇమెయిల్ చేస్తాము ప్లస్ పరిష్కారం బాగా - తర్వాత బహుశా పరిష్కారం. మొదటి ఈ కోడ్. మనం ముందు చేయాలనుకుంటున్నారా ఇతర విషయం ముగింపు మేము ఏదైనా విముక్తి లేదు ఉంది. నేను మీరు ఏమి valgrind కనిపిస్తోంది. మేము Valgrind సరిహద్దులు అమలు చేస్తే మా కార్యక్రమం,. / లింక్. మళ్ళీ, ఈ స్లయిడ్ ప్రకారం, మేము కొన్ని రకమైన తో valgrind అమలు చేయాలి ఈ సందర్భంలో ఎంపిక, - లీక్ తనిఖీ = పూర్తి. కాబట్టి valgrind వ్రాయండి - లీక్ తనిఖీ = పూర్తి. కాబట్టి ఈ valgrind రన్ చేస్తుంది మా కార్యక్రమం. ఇప్పుడు కార్యక్రమం నిజానికి నడుస్తుంది. కాబట్టి మేము కేవలం వంటి అమలు చూడాలని ముందు, సైన్ ఏదో చాలు నేను మూడు ఉంచారు వెళుతున్న. ఆ పనిచేస్తుంది. నేను అలాంటిదే ప్రయత్నించండి వెళ్ళడం లేదు మేము చూడాలని వేరే ఎందుకంటే ఆ సందర్భంలో ఒక seg తప్పుడు పొందుటకు. కాబట్టి నేను విడిచి వెళుతున్న. ఇప్పుడు మీరు ఇక్కడ డౌన్ చూడండి లీక్ మరియు కుప్ప సారాంశం. ఈ మంచి విషయాలు అని మీరు తనిఖీ మీరు. కాబట్టి కుప్ప సారాంశం - అది, ఉపయోగంలో నిష్క్రమించండి - ఒక బ్లాక్ ఎనిమిది బైట్లు. ఆ ఒక బ్లాక్ ఉంది నోడ్ మేము malloced. మైఖేల్, మీరు ఒక నోడ్ ఎనిమిది ఉంది ముందు చెప్పారు ఇది పూర్ణాంకం ఉంది కాటు ఎందుకంటే మరియు పాయింటర్. కాబట్టి మా నోడ్. అది మేము malloc ఉపయోగిస్తారు చెప్పారు ఏడు సార్లు మరియు మేము విముక్తి ఏదో ఆరు సార్లు. కానీ మేము ఉచిత అని ఎప్పుడూ, నేను కలిగి ఏ ఈ గురించి మాట్లాడుతున్నారో ఆలోచన. కానీ అది చెప్పడానికి తగినంత ఉన్నప్పుడు మీ కార్యక్రమం పరుగులు, malloc అని ఉంది కొన్ని ఇతర ప్రదేశాల్లో మేము గురించి ఆందోళన అవసరం లేదు. కాబట్టి malloc బహుశా అని పిలిచేవారు కొన్ని ప్రదేశాలలో. మేము ఇక్కడ ఆందోళన అవసరం లేదు. కానీ ఈ నిజంగా మాకు ఉంది. ఈ మొదటి లైన్ మాకు ఉంది. మేము ఆ బ్లాక్ వదిలి. మరియు మీరు ఇక్కడ చూడగలరు లీక్ సారాంశంలో. ఇప్పటికీ అందుబాటులో - ఒక బ్లాక్ ఎనిమిది బైట్లు. ఆ మెమరీ అర్థం - ఆ మెమరీ వెల్లడైంది. ఖచ్చితంగా కోల్పోయింది - ఏదో మంచి పోతుంది. సాధారణంగా, మీరు లేదు అక్కడ ఏదైనా చూడండి. ఇప్పటికీ అందుబాటులో ఉంటుంది పేరు మీరు అక్కడ మీరు, విషయాలను చూస్తారు ఏమి కోడ్ మీరు తప్పక చూడటానికి చూడండి విముక్తి కానీ మీరు విడిపించేందుకు మర్చిపోయారు. మరియు ఈ, కేసు కాకుంటే మేము ఉచిత చేస్తే, మేము ఆ తనిఖీ చేయవచ్చు. యొక్క కేవలం అమలు అనుమతిస్తాయి ఏదైనా ఉంచడం లేదు. మీరు నిష్క్రమించండి ఉపయోగంలో ఇక్కడ డౌన్ చూస్తారు - సున్నా బ్లాక్స్ లో సున్నా బైట్లు. మేము అయ్యింది అర్థం ఈ కార్యక్రమం ముగిసింది ఉన్నప్పుడు. కాబట్టి pset6 లో చెయ్యడానికి ముందు, valgrind అమలు మరియు మీరు లేదు తయారు ఏ మెమరీ మీ ప్రోగ్రామ్ లీక్ చేస్తుంది. మీరు valgrind తో ఏవైనా ప్రశ్నలు ఉంటే, చేరుకునేందుకు సంకోచించకండి. కానీ ఈ మీరు దానిని ఉపయోగించవచ్చు ఎలా ఉంది. చాలా సులభమైన - మీరు చూడండి నిష్క్రమించండి ఉపయోగంలో ఉన్నాయి - ఏ బ్లాక్స్ లో ఏ బైట్లు. కాబట్టి మేము చొప్పించు నోడ్ పని చేశారు. నేను ఇక్కడ రెండు ఇతర విధులు ఉంది - నోడ్స్ మరియు ఉచిత నోడ్స్ ప్రింట్. మళ్ళీ, ఈ అని క్రియలు మీరు సాధన కోసం మంచి చేస్తాడు వారు మీకు మాత్రమే సహాయం చేస్తుంది ఎందుకంటే ఈ నమూనా వ్యాయామాలు కానీ సమస్య సెట్లో. వారు చాలా దగ్గరగా లో మ్యాప్ మీరు లో చేయడానికి చూడాలని సమస్య సెట్. కానీ నేను ఖచ్చితంగా తయారు అనుకుంటున్నారు మేము ప్రతిదీ టచ్. మరియు హాష్ పట్టికలు కూడా కీలకమైనది మేము విభాగం ఈ లో చేస్తున్న ఏమి వారం - లేదా సమస్య సెట్ లో. కాబట్టి మేము విభాగం పూర్తి చూడాలని హాష్ పట్టికలు గురించి మాట్లాడటం. మీరు గమనిస్తే నేను చేసిన ఒక చిన్న హాష్ పట్టిక. మేము మాట్లాడటం ఏమి కాదు అయితే, గురించి. మేము వేరే గురించి మాట్లాడుతున్నారు హాష్ పట్టికలు రకం. మరియు దాని కోర్, ఒక హాష్ పట్టిక వద్ద ఒక కంటే ఎక్కువ కాదు శ్రేణి ప్లస్ హాష్ విధి. మేము కేవలం ఒక బిట్ కోసం మాట్లాడటానికి వెళుతున్న ఖచ్చితంగా అందరూ ఏమి ఒక అర్థం తయారు హాష్ విధి. మరియు నేను అని ఇప్పుడు మీరు చెప్పడం వెబ్ రెండు విషయాలు కంటే ఎక్కువ ఏమీ - వ్యూహం మరియు హాష్ విధి. మరియు ఇక్కడ దశలను ఉన్నాయి ఈ నిర్వహించే. మా శ్రేణి ఉంది. మా ఫంక్షన్ ఉంది. ముఖ్యంగా, హాష్ విధులు అవసరం ఈ విషయాలను చేయండి. నేను ప్రత్యేకంగా చర్చ వెళుతున్న గురించి ఈ సమస్య సెట్. ఇది బహుశా చేస్తాడు ఒక స్ట్రింగ్ లో పడుతుంది. మరియు అది తిరిగి వెళుతున్న? ఏమి డేటా? అల్డెన్? మీ హాష్ ఫంక్షన్ను తిరిగి? పూర్ణాంకం. కాబట్టి దీని హాష్ ఉంది పట్టిక కలిగి - శ్రేణి రూపంలో పట్టిక మరియు హాష్ విధి. ఇది ఎలా పనిచేస్తుంది? ఇది మూడు దశల్లో పనిచేస్తుంది. మేము అది ఒక కీ ఇస్తుంది. ఈ సందర్భంలో, మేము అది ఒక స్ట్రింగ్ ఇస్తాము. మేము మెట్టు శాతం హాష్ ఫంక్షన్ను కాల్ కీ మరియు మేము ఒక విలువ పొందడానికి. ప్రత్యేకంగా, మేము సే చేస్తాము మేము ఒక పూర్ణాంకం పొందండి. ఆ పూర్ణాంక, నిర్దిష్ట ఉన్నాయి ఆ పూర్ణాంక ఉంటుంది ఏమి పరిమితులు. ఈ ఉదాహరణలో మా శ్రేణి పరిమాణం మూడు ఉంది. కాబట్టి ఆ పూర్ణాంక సంఖ్యలో ఉంటుంది. చెల్లుబాటు విలువలు పరిధి ఏమిటి ఆ పూర్ణాంక, ఈ తిరిగి రకం ఫంక్షన్ హాష్? జీరో, ఒక మరియు రెండు. హాష్ ఫంక్షన్ పాయింట్ ఉంది శ్రేణి లో గుర్తించడానికి మా కీ అన్నారు పేరు. కేవలం మూడు సాధ్యం ఉన్నాయి ఇక్కడ స్థలాలు - సున్నా, ఒక, లేదా రెండు. కాబట్టి ఈ ఫంక్షన్ బాగా తిరిగి సున్నా, ఒక, లేదా రెండు. ఈ శ్రేణి లో కొన్ని చెల్లుబాటు అయ్యే indice. ఆపై, తిరిగి పేరు బట్టి మీరు ఓపెన్ శ్రేణి చూడగలరు విలువ బ్రాకెట్. మేము కీ చాలు పేర్కొంది. కాబట్టి మేము గుమ్మడికాయ లో త్రో, మేము సున్నా అవుట్. శ్రేణి బ్రాకెట్ 0 వద్ద, మేము గుమ్మడికాయ చాలు. మేము ఒక అవుట్, పిల్లులు విసరాలి. మేము ఒక వద్ద పిల్లి ఉంచండి. మేము స్పైడర్ ప్రవేశపెట్టింది. మేము రెండు అవుట్. మేము శ్రేణి బ్రాకెట్ రెండు స్పైడర్ చాలు. అది nice ఉంటుంది ఉంటే ఆ వంటి పని. కానీ దురదృష్టవశాత్తు, మేము, చూస్తారు వంటి ఇది కొంచం క్లిష్టమైన ఉంది. మేము, అక్కడ ఏ ప్రశ్నలు ను ముందు గురించి ఈ ప్రాథమిక ఒక హాష్ పట్టిక సెటప్? ఈ ఖచ్చితంగా ఒక చిత్రం వ్యవహరించినా చిత్రీకరించాడు ఏమి. కానీ నుండి మేము నేను, బోర్డు ఇది ఆకర్షించింది మరింత వెళ్తాయి వెళ్ళి లేదు. ముఖ్యంగా కీలు, మ్యాజిక్ బ్లాక్ బాక్స్ - లేదా ఈ సందర్భంలో, టేల్ బాక్స్ - ఒక యొక్క హాష్ ఫంక్షన్ను బకెట్లు వాటిని ఉంచుతుంది. మరియు ఈ ఉదాహరణ మేము పేరు పెట్టటం లేదు. మేము సంబంధం ఫోన్ చూస్తూ బకెట్ లో పేరు సంఖ్యను. కానీ మీరు బాగా కాలేదు కేవలం బకెట్ లో పేరు చాలు. ఈ ఏమి ఒక చిత్రం వ్యవహరించినా ఆకర్షించింది. మేము అయితే, సంభావ్య బలహీనతలను కలిగి. మరియు రెండు ముఖ్యంగా ఉన్నాయి నేను వెళ్ళి కావలసిన స్లయిడ్లను. మొదటి మార్పుచేర్పులు హాష్ విధి. నేను, ప్రశ్న అడిగిన ఏమి ఒక మంచి హాష్ ఫంక్షన్ చేస్తుంది? నేను రెండు సమాధానాలు ఇవ్వాలని. మొదటి నిర్ణాయక అని ఉంది. హాష్ విధులు సందర్భంలో, లేటైంది? అవును? ప్రేక్షకులు: ఇది కనుగొనవచ్చు స్థిరంగా సమయంలో ఇండెక్స్? జాసన్ HIRSCHHORN: ఆ అది అర్థం కాదు. కానీ ఒక మంచి అంచనా ఉంది. ఇంకా ఎవరైనా ఒక అంచనా ఈ అర్థం ఏమి? ఒక మంచి హాష్ ఫంక్షన్ నిర్ణయించలేము? అన్నీ? ప్రేక్షకులు: కీలక మాత్రమే వీలు అవుతుంది హాష్ పట్టిక లో ఒక స్థానానికి. జాసన్ HIRSCHHORN: పేర్కొంది ఖచ్చితంగా కుడి. మీరు గుమ్మడికాయ లో చాలు, ఇది ఎల్లప్పుడూ సున్నాకి తిరిగి. మీరు గుమ్మడికాయ మరియు మీ హాష్ ఉంచితే ఫంక్షన్ సున్నా తిరిగి కానీ ఒక ఉంది ఏదో తిరిగి సంభావ్యత సున్నా కంటే వేరే ఎక్కువ - కాబట్టి ఉండవచ్చు కొన్నిసార్లు ఒక తిరిగి లేదా రెండు ఇతర సార్లు - ఒక మంచి హాష్ విధి కాదు. మీరు ఖచ్చితంగా ఉన్నాము. మీ హాష్ ఫంక్షన్ను తిరిగి ఉండాలి ఈ సందర్భంలో అదే ఖచ్చితమైన పూర్ణాంక,, అదే ఖచ్చితమైన స్ట్రింగ్. బహుశా ఇది అదే ఖచ్చితమైన పూర్ణాంక తిరిగి అదే ఖచ్చితమైన స్ట్రింగ్ కోసం సంబంధం లేకుండా మూలధనీకరణ. కానీ ఒకవేళ అది ఇప్పటికీ ఉంది నిర్ణాయక ఎందుకంటే బహుళ విషయాలు అదే విలువ ప్రతిలేఖనం చేయబడతాయి. ఆ మంచిది. కాలం ఒక మాత్రమే ఉంది వంటి ఒక ఇన్పుట్ కోసం అవుట్పుట్. OK. రెండవ విషయం ఇది చెల్లుబాటు అయ్యే సూచీలు తిరిగి. మేము ఆ ముందు పెరిగాడు. ఈ హాష్ విధి - బాలుడు ఓహ్ - హాష్ విధి తప్పక చెల్లుబాటు అయ్యే సూచీలు తిరిగి. చెప్పడానికి - యొక్క ఈ ఉదాహరణ కు వీడలేదు. నా హాష్ ఫంక్షన్ను గుర్తించారు పదం లో అక్షరాలు. హాష్ ఫంక్షన్ను ఉంది. మరియు ఆ పూర్ణాంక తిరిగి. నేను పదం ఒక కలిగి అయితే, అది ఒక తిరిగి వెళుతున్న. మరియు అది ఇక్కడే ఒక ఉంచాలి జరగబోతోంది. నేను పదం బ్యాట్ లో ఉంచితే? ఇది మూడు తిరిగి వెళుతున్న. బ్యాట్ గడిచిపోయింది? ఇది సరిపోకపోతే. కానీ పోయెదను అవసరం. ఈ అన్ని తర్వాత నా హాష్ పట్టిక, మరియు ప్రతిదీ పోయెదను అవసరం. కాబట్టి బ్యాట్ వెళ్ళాలి? ఏదైనా ఆలోచనలు? అంచనాలు? మంచి అంచనాలు? ప్రేక్షకులు: జీరో. జాసన్ HIRSCHHORN: ఎందుకు సున్నా? ప్రేక్షకులు: ఎందుకంటే మూడు మాడ్యులో మూడు సున్నా? జాసన్ HIRSCHHORN: మూడు మాడ్యులో మూడు సున్నా. ఒక గొప్ప అంచనా, మరియు సరైన అని. కాబట్టి ఈ విషయంలో అది బహుశా సున్నా వద్ద వెళ్ళండి. కాబట్టి ఒక మంచి మార్గం నిర్ధారించడానికి ఈ హాష్ ఫంక్షన్ మాత్రమే చెల్లుబాటు అయ్యే సూచీలు రాబడి పట్టిక పరిమాణం ద్వారా మాడ్యులో కు. మీరు ఏ ఈ రాబడి మాడ్యులో ఉంటే మూడు, మీరు ఎల్లప్పుడూ పొందండి చూడాలని సున్నా, ఒక, మరియు రెండు మధ్య ఏదో. మరియు ఈ ఎల్లప్పుడూ ఏడు తిరిగి, మరియు ఉంటే మీరు ఎల్లప్పుడూ మూడు ద్వారా మాడ్యులో, మీరు ఇదే పొందగలిగిన. కాబట్టి ఇప్పటికీ నిర్ణాయక ఉంది మీరు మాడ్యులో ఉంటే. కానీ ధృవీకరిస్తుంది మీరు ఆ ఏదో ఎన్నటికీ - చెల్లని పరిశ్రమ. సాధారణంగా, ఆ మాడ్యులో ఏం చేయాలి మీ హాష్ ఫంక్షన్ను లోపల. మీరు ఈ గురించి ఆందోళన అవసరం లేదు. మీరు నిర్థారించాలి ఒక చెల్లుబాటు అయ్యే indice ఉంది. ఈ ఏ ప్రశ్నలు సమర్థవంతమైన అనుకోని ఆపద? OK. మరియు అక్కడ మేము వెళ్ళి. తదుపరి సమర్థవంతమైన అనుకోని ఆపద, మరియు ఈ పెద్ద ఒకటి. ఏం రెండు కీలను మ్యాప్ అదే విలువకు? కాబట్టి ఈ నిర్వహించడానికి రెండు మార్గాలున్నాయి. మొదటి ఒక సరళ అంటారు నేను ఇది, ఛేదించి వెళ్ళి కాదు. కానీ మీరు తెలిసిన ఉండాలి ఎలా ఆ పని మరియు ఏమిటి. నేను వెళ్ళి am రెండవ ఆ అనేక ఎందుకంటే ప్రజలు బహుశా నిర్ణయం ముగుస్తుంది వారి సమస్య సెట్ లో ఉపయోగించడానికి. వాస్తవానికి, మీరు లేదు. కానీ సమస్య సెట్, అనేక మంది కోసం ఒక హాష్ పట్టిక సృష్టించడానికి ఎంచుకోవడానికి ఉంటాయి అమలు ప్రత్యేక కూర్పికం తో వారి నిఘంటువు. కాబట్టి మేము అది అర్థం వెళ్ళి చూడాలని ఒక హాష్ పట్టిక సృష్టించడానికి ప్రత్యేక కూర్పికం. నేను గుమ్మడికాయ ఉంచారు. ఇది సున్నా తిరిగి. నేను ఇక్కడ గుమ్మడికాయ చాలు. అప్పుడు నేను ఉంచారు - మరొక హాలోవీన్ థీమ్ విషయం ఏమిటి? ప్రేక్షకులు: కాండీ. జాసన్ HIRSCHHORN: కాండీ! ఒక గొప్ప ఒకటి. నేను పటికబెల్లం మిఠాయి చాలు కూడా నాకు సున్నా ఇస్తుంది. ఏం చెయ్యాలి? ఏదైనా ఆలోచనలు? మీరు అన్ని విధమైన తెలిసినందున ప్రత్యేక ఏమి కూర్పికం ఉంది. కాబట్టి ఏ ఆలోచనలు ఏమి? అవును. ప్రేక్షకులు: స్ట్రింగ్ పుటింగ్ నిజానికి హాష్ పట్టిక లో. జాసన్ HIRSCHHORN: కాబట్టి మేము చూడాలని ఇక్కడ పైగా మంచి ఆలోచన డ్రా. OK. ప్రేక్షకులు: hashtable కలవారు [వినబడని] చూపాడు పాయింటర్ జాబితా ప్రారంభంలో. ఆపై గుమ్మడికాయ మొదటి విలువ ఉంటుంది చేశారు ఆ లింక్ జాబితా మరియు క్యాండీ లో ఉంటుంది ఆ లింక్ జాబితా రెండవ విలువ. జాసన్ HIRSCHHORN: OK. మార్కస్, ఆ అసాధారణ ఉంది. నేను ఆ విచ్ఛిన్నం వెళుతున్న. మార్కస్ చేయండి చెబుతున్నారు కాదు గుమ్మడికాయ తిరిగి రాస్తుంది. ఆ చెడు ఉంటుంది. ఎక్కడైనా మిఠాయి ఉంచవద్దు. మేము సున్నా వద్ద రెండు రోజులుగా జరుగుతున్న చూడాలని. కానీ మేము పరిష్కరించేందుకు చూడాలని ద్వారా సున్నా వాటిని చూస్తూ సున్నా వద్ద జాబితా సృష్టించడం. మరియు మేము జాబితాను తయారు చూడాలని సున్నాకి మ్యాప్ ప్రతిదీ. మరియు మేము సృష్టించడానికి నేర్చుకున్నాడు ఉత్తమ మార్గం పెరుగుతాయి మరియు కుదించగలరని జాబితా డైనమిక్ లోపల కాదు మరొక శ్రేణి. కాబట్టి ఒక బహుళ పరిమాణాల శ్రేణి. కానీ కేవలం ఒక లింక్ జాబితా సృష్టించడానికి. కాబట్టి ఏమి అతను ప్రతిపాదించిన - నేను ఒక కొత్త పొందండి వెళుతున్న - , గమనికలు వ్యూహం సృష్టించడానికి ఉంది గమనికలు యొక్క వ్యూహం. OK. ఏదైనా ఆలోచన లేదా సూచనను రకం ఈ గమనికలు ఉండాలి? మార్కస్? ప్రేక్షకులు: గమనికలు - జాసన్ HIRSCHHORN: పొండి అనుబంధ జాబితా కాబట్టి, అన్నారు - ప్రేక్షకులు: నోడ్ గమనికలు? జాసన్ HIRSCHHORN: నోడ్ గమనికలు. ఉంటే మా అనుబంధ విషయాలు జాబితా నోడ్స్ తరువాత వారు నోడ్ గమనికలు ఉండాలి. మరియు వారు మొదట దేనితో చెయ్యాలి? ప్రేక్షకులు: శూన్యం. జాసన్ HIRSCHHORN: శూన్యం. మా ఖాళీగా విషయము. గుమ్మడికాయ తిరిగి సున్నా. మనమేం చేస్తాం? అది నాకు వల్క్? అసలైన, మార్కస్ ఇప్పటికే నాకు ఇచ్చిన. మరొకరి అది నాకు నడిచి. మేము ఏమి మేము - ఈ చాలా పోలి ఉంది మేము ఏమి. Avi. ప్రేక్షకులు: నేను ఒక అంచనా పడుతుంది వెళుతున్న. కాబట్టి మీరు మిఠాయి వచ్చినప్పుడు. జాసన్ HIRSCHHORN: అవును. Well, మేము గుమ్మడికాయ వచ్చింది. యొక్క మా మొదటి పొందండి తెలియజేయండి. మేము గుమ్మడికాయ వచ్చింది. ప్రేక్షకులు: OK. గుమ్మడికాయ తిరిగి సున్నా. కాబట్టి మీరు ఆ లో ఉంచండి. లేదా వాస్తవంగా, మీరు అది చాలు అనుబంధ జాబితా లో. జాసన్ HIRSCHHORN: ఎలా మేము అనుబంధ జాబితా లో ఉంచండి? ప్రేక్షకులు: ఓహ్, అసలు వాక్యనిర్మాణం? జాసన్ HIRSCHHORN: జస్ట్ నడిచి - ఎక్కువ చెప్పడానికి. మనమేం చేస్తాం? ప్రేక్షకులు: మీరు ఇన్సర్ట్ ఇది మొదటి నోడ్ వంటి. జాసన్ HIRSCHHORN: OK. కాబట్టి మేము మా నోడ్, గుమ్మడికాయ కలిగి. ఇప్పుడు ఎలా నేను ఇన్సర్ట్ చెయ్యాలి? ప్రేక్షకులు: మీరు కేటాయించవచ్చు పాయింటర్ దానిని. జాసన్ HIRSCHHORN: ఏ పాయింటర్? ప్రేక్షకులు: సున్నా వద్ద పాయింటర్. జాసన్ HIRSCHHORN: కాబట్టి పేరు ఈ పాయింట్? ప్రేక్షకులు: ప్రస్తుతం శూన్యం. జాసన్ HIRSCHHORN: Well, ఇది శూన్యం సూచించే. కానీ నేను గుమ్మడికాయ లో ఆటంకమవుతుంది. కాబట్టి ఇది అభిప్రాయపడుతున్నారు ఉండాలి? ప్రేక్షకులు: గుమ్మడికాయ. జాసన్ HIRSCHHORN: గుమ్మడికాయ. ఖచ్చితంగా. కాబట్టి ఈ గుమ్మడికాయ పాయింట్లు. మరియు ఈ పాయింటర్ చేస్తుంది గుమ్మడికాయ పాయింట్ లో? కు ప్రేక్షకులు: శూన్యం. జాసన్ HIRSCHHORN: శూన్యం. ఖచ్చితంగా. కాబట్టి మేము కేవలం ఏదో చేర్చబడుతుంది అనుబంధ జాబితా. మేము దీన్ని ఈ కోడ్ రాశారు. దాదాపు మేము దాదాపు వచ్చింది పూర్తిగా పగుళ్లు. ఇప్పుడు మేము మిఠాయి ఇన్సర్ట్. మా మిఠాయి సున్నా వెళ్తాడు. కాబట్టి మేము మిఠాయి తో ఏమి చేస్తారు? ప్రేక్షకులు: ఇది లేదో ఆధారపడి మేము అది క్రమం ప్రయత్నిస్తున్న కాదు. జాసన్ HIRSCHHORN: పేర్కొంది ఖచ్చితంగా కుడి. ఇది ఆధారపడి ఉంటుంది లేదో మేము అది క్రమం ప్రయత్నిస్తున్న. యొక్క మేము లేదు ఊహించుకోవటం ఇది క్రమం అన్నారు. ప్రేక్షకులు: Well తర్వాత, మేము చర్చించిన ముందు, అది కేవలం అది ఉంచాలి సాధారణ యొక్క సరైన ప్రారంభంలో కాబట్టి పాయింటర్ మిఠాయి సున్నా పాయింట్లు నుండి. జాసన్ HIRSCHHORN: OK. పట్టుకో. నాకు ఇక్కడే మిఠాయి సృష్టించండి. కాబట్టి ఈ పాయింటర్ - ప్రేక్షకులు: అవును, ఇప్పుడు తప్పక మిఠాయి సూచించే. అప్పుడు పాయింటర్ నుండి కలిగి గుమ్మడికాయ మిఠాయి పాయింట్. జాసన్ HIRSCHHORN వచ్చేసింది? మరియు మేము మరొక వచ్చింది చెప్పటానికి సున్నా ను విషయం? ప్రేక్షకులు: Well, మీరు ఇదే? జాసన్ HIRSCHHORN: మారుతున్నవేళ. కాబట్టి ఈ సందర్భంలో, మేము లేకపోతే అది క్రమబద్ధీకరించబడతాయి ఉంచాలని సాధారణ ధ్వనులు. మేము indice లో పాయింటర్ పడుతుంది మా హాష్ ఫంక్షన్ను ఇచ్చిన. మేము మా కొత్త నోడ్ ఆ కలిగి. అది సూచించే సంసార గతంలో - ఈ సందర్భంలో శూన్య, లో రెండవ సందర్భంలో గుమ్మడికాయ - అది సూచించే యొక్క, అని గతంలో, మేము యొక్క తదుపరి జోడించండి మా కొత్త నోడ్. మేము ఏదో ఇన్సర్ట్ ప్రారంభంలో. నిజానికి ఈ కంటే చాలా సరళంగా ఉంది క్రమబద్ధీకరించబడతాయి జాబితా ఉంచడానికి ప్రయత్నం. కానీ మళ్ళీ, శోధన ఉంటుంది మరింత ఇక్కడ సంక్లిష్టంగా. మేము ఎల్లప్పుడూ ముగింపు వెళ్ళండి ఉంటుంది. OK. ప్రత్యేక కూర్పికం గురించి ప్రశ్నలు? ఎలా ఆ పని? ఇప్పుడు కోరండి. నేను నిజంగా మీరు అన్ని అనుకున్న మేము తలనొప్పి ముందు ఈ అర్థం. ప్రేక్షకులు: మీరు ఎందుకు గుమ్మడికాయ ఉంచగలను మరియు అదే లోకి మిఠాయి హాష్ పట్టిక భాగంగా? జాసన్ HIRSCHHORN: మంచి ప్రశ్న. ఎందుకు మేము అదే వాటిని ఉంచగలను హాష్ పట్టిక భాగంగా? బాగా, ఈ సందర్భంలో మా హాష్ ఫంక్షన్ను తిరిగి వాటిని రెండు కోసం సున్నా. కాబట్టి వారు indice సున్నా వద్ద వెళ్లాలి మేము వెళుతున్న ఆ ఎందుకంటే వెతుక్కుంటూ మేము ఎప్పుడూ వాటిని చూసేందుకు మీరు. మళ్ళీ, ఒక సరళ ఛేదించి విధానం మేము సున్నా అందరినీ పెట్టి లేదు. కానీ గొలుసు ప్రత్యేక విధానం లో, మేము సున్నా వద్ద రెండు రోజులుగా జరుగుతున్న చూడాలని ఆపై సున్నా ఆఫ్ జాబితాను తయారు. మరియు మేము గుమ్మడికాయ తిరిగి రాస్తుంది వద్దు కేవలం ఆ కోసం మేము చేస్తాము ఎందుకంటే గుమ్మడికాయ అని ఊహించుకోవటం చేర్చబడ్డ ఎప్పుడూ. మేము ఒక విషయం ఉంటే చెడ్డగా అని నగర. అప్పుడు ఉండొచ్చు ఏ పండంటి అవకాశం - మనం నకిలీ కలిగి ఉంటే, అప్పుడు మేము కేవలం మా ప్రారంభ విలువ వేయండి చేస్తుంది. మేము ఈ విధానం ఎందుకు కాబట్టి ఆ. మేము ఎంపిక ఎందుకు లేదా ఆ - కానీ మళ్ళీ, మేము ప్రత్యేక కూర్పికం విధానాన్ని ఎంచుకుంది, అనేక ఇతర విధానాలు ఉన్నాయి ఇది ఒక ఎంచుకోవచ్చు. మీ ప్రశ్నకు సమాధానం ఉందా? OK. కార్లోస్. లీనియర్ ఛేదించి ఉంటుంది - మేము సున్నా వద్ద ఢీకొట్టడంతో ఉంటే, మేము చూడడానికి తదుపరి స్పాట్ లో చూడవచ్చు ఉంటే ఇది ఓపెన్ మరియు అక్కడ ఉంచారు. మరియు తర్వాత మేము తదుపరి క్రీడలో చూసి ఆ ఓపెన్ మీరు చూడండి మరియు అక్కడ ఉంచారు. కాబట్టి రాబోయే అందుబాటులో ఓపెన్ స్పాట్ మరియు అక్కడ ఉంచారు. ఏదైనా ఇతర ప్రశ్నలు? అవును, Avi. ప్రేక్షకులు: ఒక ఆ వరకు అనుసరిస్తాయి, మీరు తదుపరి స్పాట్ ద్వారా ఏమిటి? హాష్ పట్టిక లో లేదా అనుబంధ జాబితా లో. జాసన్ HIRSCHHORN: సరళ కోసం ప్రోగ్రామింగ్, ఏ లింక్ జాబితాలు. హాష్ పట్టిక తదుపరి స్పాట్. ప్రేక్షకులు: OK. కాబట్టి హాష్ పట్టిక ఉంటుంది పరిమాణం కు initialized - తీగలను సంఖ్య వంటి మీరు ఇన్సర్ట్ చేసిన? జాసన్ HIRSCHHORN: మీరు ప్రత్యెక అది నిజంగా పెద్ద ఉండాలనుకుంటున్నాను. అవును. ఇక్కడ మేము చిత్రీకరిస్తుంది కేవలం బోర్డు ఆకర్షించింది. మళ్లీ, మేము ఇక్కడే ఢీకొట్టడంతో. 152 వద్ద. మరియు మీరు మేము రూపొందించినవారు చూస్తారు ఇది ఆఫ్ అనుబంధ జాబితా. మళ్ళీ, హాష్ పట్టిక ప్రత్యేక కూర్పికం విధానం ఒక మీరు కాదు సమస్యలు సెట్ కోసం తీసుకోవాలని ఆరు కానీ ఒకటి చాలా విద్యార్థులు తీసుకుంటారు. కాబట్టి గమనించండి న, మాకు క్లుప్తంగా చర్చ తెలియజేయండి మేము, సమస్య ఆరు గురించి వెళ్ళండి ముందు మరియు నేను మీరు ఒక కథ భాగస్వామ్యం చేస్తాము. మేము మూడు నిమిషాలు. సమస్య ఆరు సెట్. మీరు నాలుగు విధులు - లోడ్, పరిమాణం, మరియు దించుతున్న తనిఖీ. లోడ్ - బాగా, మేము జరుగుతున్నాయి ఇప్పుడు లోడ్ పైగా. మేము బోర్డు లోడ్ ఆకర్షించింది. మరియు మేము కూడా చాలా కోడింగ్ మొదలు ఒక లింక్ జాబితా ఇన్సర్ట్. కాబట్టి లోడ్ కంటే కాదు మేము చేస్తున్న చేసిన ఏమి. ఒకసారి మీరు తనిఖీ ఉంది ఏదో లోడ్. ఈ అదే ప్రక్రియ ఉంది. మీరు త్రో పేరు అదే మొదటి రెండు భాగాలు హాష్ విధి ఏదో మరియు దాని విలువ పొందుటకు. అయితే ఇప్పుడు మేము ఇది ఇన్సర్ట్ లేదు. ఇప్పుడు మేము ఇది చూస్తున్న. నేను నమూనా కోడ్ కనుగొనడానికి వ్రాశారు అనుబంధ జాబితా లో ఏదో. నేను సాధన ప్రోత్సహిస్తున్నాము. కానీ అకారణంగా ఏదో కనుగొనడంలో ఏదో ఇన్సర్ట్ అందంగా. నిజానికి, మేము కనుగొనే చిత్రాన్ని గీశాడు అనుబంధ జాబితా లో ఏదో, కదిలే మీరు ముగింపు వచ్చింది వరకు ద్వారా. మరియు మీరు చివర వచ్చింది మరియు చేయలేని ఉంటే దానిని కనుగొనేందుకు, అది అక్కడ కాదు. కాబట్టి ఆ ముఖ్యంగా, చెక్ ఉంది. తదుపరి పరిమాణం. యొక్క పరిమాణం skip తెలియజేయండి. చివరిగా మీరు దించుతున్న చేశారు. దించుతున్న మేము డ్రా లేదు ఒకటి బోర్డు లేదా ఇంకా కోడ్. కానీ నేను మీరు కోడింగ్ ప్రయత్నించండి ప్రోత్సహిస్తున్నాము మా నమూనా లింక్ జాబితా ఉదాహరణలో. కానీ అకారణంగా దించుతున్న ఉచిత పోలి ఉంటుంది - లేదా నేను అర్థం చెక్ మాదిరిగా ఉంటుంది. మీరు చూడాలని ఇప్పుడు ప్రతి సమయం మినహా ద్వారా, మీరు కేవలం తనిఖీ లేదు మీరు అక్కడ మీ విలువ కలిగి ఉంటే చూడటానికి. కానీ మీరు ఆ నోడ్ తీసుకుని చేస్తున్నారు ముఖ్యంగా, ఉండండి. ఆ దించుతున్న చేయడానికి అడుగుతుంది ఏమిటి. మీరు malloced చేసిన ఉచిత ప్రతిదీ. కాబట్టి మీరు మొత్తం జాబితా ద్వారా వెళుతున్న మళ్ళీ, మొత్తం హాష్ ద్వారా వెళ్ళి పట్టిక మళ్ళీ. ఈ సమయంలో తనిఖీ లేదు అక్కడ ఏమి చూడటానికి. అక్కడే ఏది విడిపించేందుకు. చివరకు పరిమాణం. సైజు అమలు చేయాలి. మీరు పరిమాణం అమలు లేకపోతే - నేను ఈ వంటి చెప్పాను చేస్తాము. మీరు ఖచ్చితంగా పరిమాణం అమలు లేకపోతే సహా కోడ్ యొక్క ఒక లైన్ ప్రకటన తిరిగి, మీరు తప్పుగా పరిమాణం చేయడం. కాబట్టి పూర్తి డిజైన్ కోసం, ఖచ్చితంగా పరిమాణం తయారు పాయింట్లు, మీరు ఖచ్చితంగా ఒక చేయుచున్నారు సహా కోడ్ లైన్, తిరిగి ప్రకటన. మరియు, ఇంకా Akchar సర్దుకుని లేదు. ఆసక్తి bEAVER. నేను మీరు అబ్బాయిలు ధన్యవాదాలు చెప్పటానికి కావలెను విభాగం వచ్చే. ఒక హ్యాపీ హాలోవీన్ కలిగి. ఈ నా దుస్తులు ఉంది. నేను గురువారం ఈ ధరిస్తున్నాను నేను కార్యాలయం గంటల వద్ద మీరు చూడండి ఉంటే. మరియు మీరు కొన్ని మరింత గురించి ఆసక్తిగా నేపథ్య ఈ దుస్తుల్ని వంటి, అనుభూతి 2011 విభాగం తనిఖీ ఉచిత నేను ఎందుకు ఒక కథ కోసం గుమ్మడికాయ దుస్తులు ధరించి. మరియు అది ఒక విచారంగా కథ. అందుకే నిర్ధారించుకోండి సమీపంలోని కణజాలం. కానీ ఆ, మీరు ఏ ఉంటే నేను చుట్టూ కర్ర చేస్తాము ప్రశ్నలు బయట విభాగం తరువాత. అదృష్టం సమస్య ఆరు సెట్. మరియు ఎల్లప్పుడూ, మీరు ఏ ఉంటే ప్రశ్నలు, నాకు తెలియజేయండి.