డేవిడ్ J. మలన్: అన్ని కుడి. తొలిసారిగా స్వాగతం ఒక క్విజ్ కోసం CS50 పంచనామా. మేము ప్రారంభోత్సవం కావలసిన ఆలోచన ఈ సంప్రదాయం ఈ సంవత్సరం. మరియు ఈ అవకాశం ఉంటుంది నడవడానికి క్విజ్ పరిష్కారాలు. మరియు మేము వేగవంతం లేదా ఆధారంగా వేగాన్ని చేస్తాము ఇక్కడ ఆ వడ్డీ మీద. మీరు కనుక అలా మీరు బహుశా ఇక్కడ ఉన్నారు మీరు బండరాయి ఆసక్తి లేదా కొన్ని సమాధానం వుండాలి ఈ సమస్యలు. ఎందుకు మేము పరిశీలించి లేదు మొదటి ఈ విభాగం? స్ట్రింగ్స్ పొందడానికి. ఈ మీరు మూడు వేర్వేరు వెర్షన్లు ఇచ్చారు అని ఒక కార్యక్రమం, చివరికి, ఒక యూజర్ నుండి ఒక స్ట్రింగ్ పొందడానికి అర్థం. అది చేసిన లేదో గుర్తించడానికి ఎడమ. మరియు మేము, ప్రశ్న 0 ప్రశ్నిస్తే వెర్షన్ 1 అని అనుకుందాం కంపైల్ మరియు అమలు. ఎందుకు కార్యక్రమం segfault ఉండవచ్చు? మొదటి చూపులో, ఏ సలహాలను వంటి ఎందుకు? అవును. ప్రేక్షకులు: నేను ఈ చూసిన గుర్తు చూడటం ఒక మునుపటి ఉదాహరణకు చార్ * s మరియు s స్కాన్ చూసిన ఇది ఒక పాయింటర్, ఎలా ఎందుకంటే చూసిన మీరు స్కాన్ అది ప్రభావితం చేసింది? అది s లేదా s యొక్క చిరునామా ఉంది? డేవిడ్ J. మలన్: సరే. గుడ్. కాబట్టి చివరికి, ఏ సమస్య మూలం బహుశా తగ్గించడానికి అన్నారు ఆ వేరియబుల్ s కు. మరియు అది నిజానికి ఒక వేరియబుల్. ఆ వేరియబుల్ డేటా రకం చార్ *, ఇది చేస్తాడు అర్థం ఒక పాత్ర యొక్క చిరునామా కలిగి. మరియు అందులో అంతర్దృష్టి ఉంది. ఇది యొక్క చిరునామాను చేస్తాడు సాధారణంగా ఒక పాత్ర లేదా, మొదటి పాత్ర యొక్క చిరునామా పాత్రలు మొత్తం బ్లాక్. కానీ క్యాచ్ అని స్కాన్ లు, ప్రయోజనం లో జీవితం, ఒక చిరునామా ఇచ్చిన ఇవ్వబడుతుంది ఒక ఫార్మాట్ కోడ్,% s వంటి, చదవండి భాగం లోకి స్ట్రింగ్ ఆ చిరునామా వద్ద మెమరీ. కానీ సమాన సైన్ ముందు ఉంది ఎందుకంటే మొదటి ఆ సెమికోలన్ కోడ్ యొక్క లైన్, మేము నిజంగా కాదు ఎందుకంటే ఏ మెమరీ కేటాయించే malloc, ఇది ఎందుకంటే నిజానికి కొన్ని పరిమాణం యొక్క వ్యూహం, అన్ని కేటాయించాలని మీరు చేస్తున్న యూజర్ యొక్క చదవడానికి కొన్ని పూర్తి లోకి కీబోర్డ్ చెత్త విలువ, ఇది అప్రమేయంగా లు ఉంది. అసమానత మీరు segfault వెళుతున్న ఉంటే ఆ చిరునామా కేవలం జరగలేదు మీరు ఒక విలువ, నిజానికి, వ్రాయండి. కేటాయించే కాబట్టి చెడు అక్కడ మీ మెమరీ. హరిబాబు 1 లో, మేము అడిగిన, వెర్షన్ 2 అని అనుకుందాం కంపైల్ మరియు అమలు. ఎందుకు ఈ కార్యక్రమం segfault ఉండవచ్చు? కాబట్టి ఈ ఒక తక్కువ బగ్గీ ఉంది. మరియు మాత్రమే ఒక నిజంగా ఉంది స్పష్టమైన మార్గం ఇందులో మీరు ఇక్కడ ఒక segfault ట్రిగ్గర్. మరియు ఈ నేపథ్య ఉంది. మేము మెమరీలో సి ఉపయోగించి చేసినప్పుడు, ఏమి మీరు ఒక segfault ప్రేరేపించడానికి చేయగల వెర్షన్ 2 తో? ప్రేక్షకులు: మీరు ఆ ఇన్పుట్ ఉపయోగిస్తే 49 కంటే ఎక్కువ ఒక స్ట్రింగ్ అక్షరాలు. డేవిడ్ J. మలన్: ఖచ్చితంగా. మీరు నిర్ధారితమైనది పొడవు చూడండి ఏదైనా సమయం అది వ్యూహం వచ్చినప్పుడు, మీ అనకు జరిగి ఆఫ్ వెళ్ళాలి సమస్యాత్మక మీరు తనిఖీ కాకపోతే వ్యూహం యొక్క సరిహద్దులు. మరియు ఇక్కడ సమస్య. మేము ఇంకా scanf ఉపయోగిస్తున్నారు. మేము ఇంకా ప్రయత్నించండి అంటే,% s ఉపయోగిస్తున్నట్లయితే యూజర్ నుండి ఒక స్ట్రింగ్ చదవడానికి. ఆ, ఇది, s లోకి చదవండి వెళుతున్న ఈ సమయంలో, సమర్థవంతంగా ఉంది మెమరీ భాగం యొక్క చిరునామా లేదా ఇది సమానమైన ఉంది. ఇది వ్యూహం యొక్క పేరు ఉంది మెమరీ అక్షరాలు. కానీ ఖచ్చితంగా, మీరు ఒక స్ట్రింగ్ చదివితే 49 అక్షరాలు, 49 కంటే ఎక్కువ ఉంది మీరు బాక్ స్లాష్ కోసం గది అవసరం ఎందుకంటే 0, మీరు ఓవర్ఫ్లో చూడాలని ఆ బఫర్. మరియు మీరు లక్కీ పొందండి మరియు చేయగలరు ఒక 51 వ పాత్ర, 52 వ, 53 వ్రాయండి. ఇక ఏదో సమయంలో, OS సే అన్నారు, ఏ. ఈ ఖచ్చితంగా మెమరీ కాదు మీరు తాకే అనుమతి చేస్తున్నారు. మరియు కార్యక్రమం segfault అన్నారు. సో అక్కడ సూక్ష్మపరిశోధన ఏ ఉండాలి మీరు స్థిర పొడవు పొందారు సమయం, మీరు మీరు పొడవు తనిఖీ చేస్తున్నాము చేయడానికి ఇది మీరు ప్రయత్నిస్తున్న ఉండే వస్తువు యొక్క ఇది చదవడానికి. ప్రేక్షకులు: ఆ, మీరు కాలేదు పరిష్కరించడానికి నిజానికి తనిఖీ ఒక ప్రకటన కలిగి పొడవు ఎక్కువ లేదా కంటే తక్కువ? డేవిడ్ J. మలన్: ఖచ్చితంగా. మీరు కేవలం ఈ పరిస్థితిని చెప్పారు, ఆ - లేదా మీరు తప్పనిసరిగా తెలియదు ముందుగానే ఎన్ని అక్షరాలు యూజర్, టైప్ అన్నారు ఎందుకంటే మీరు చికెన్ మరియు గుడ్డు కలిగి. మీరు scanf తో చదువుకున్నాము వరకు మీరు ఎంత కాలం చోటు చేయవచ్చు. కానీ ఆ సమయంలో, అది, చాలా ఆలస్యం మీరు ఇప్పటికే అది లోకి చదివారు ఎందుకంటే మెమరీ కొన్ని బ్లాక్. ఒక పక్కన, CS50 లైబ్రరీ తొలగిస్తుంది కాబట్టి ఈ సమస్యను పూర్తిగా, రీకాల్ fgetc ఉపయోగించి. మరియు అది, ఒక సమయంలో ఒక పాత్ర చదువుతుంది చిట్కా-toeing తెలుసుకోవడం, పాటు మీరు ఆ ఒక పాత్ర ఉంటే ఓవర్ఫ్లో కాదు మీరు ఒక సమయంలో ఒక చదవండి. క్యాచ్ GetString రీకాల్ తో ఉంది మేము నిరంతరం తిరిగి పరిమాణం కలిగి మెమరీ ఆ భాగం, ఇది కేవలం ఒక నొప్పి ఉంటుంది. ఇది రేఖలు చాలా ఉంది అలా కోడ్. మరో విధానం ఉంటుంది నిజానికి ఒక బంధువు ఉపయోగించడానికి, scanf యొక్క, మాట్లాడటం. ఈ చాలా వైవిధ్యాలు ఉన్నాయి వాస్తవానికి తనిఖీ ఫంక్షన్ల పొడవు ఎన్ని అక్షరాలు మీరు గరిష్టంగా చదవండి ఉండవచ్చు. మరియు మీరు చదివిన లేదు, పేర్కొనండి కాలేదు 50 అక్షరాలు. తద్వారా మరో విధానం కాగలదని పెద్ద ప్రవేశాంశాల తక్కువ ఇందుకు ఉంది. కాబట్టి ఆ వెర్షన్ అనుకుందాం, అడుగుతుంది 2 ప్రశ్న 3 సంకలనం మరియు అమలు. ఎందుకు ప్రోగ్రామ్ segfault ఉండవచ్చు? కాబట్టి ఈ ఒక నిజానికి అదే ఉంది , సమాధానం అయినప్పటికీ ఇది కొంచెం ఫ్యాన్సియెర్స్ కనిపిస్తోంది. మేము అనుకుని ఇది malloc, ఉపయోగిస్తున్నట్లయితే మనం మరింత ఎంపికలు ఇవ్వడం చేస్తున్నారు. మరియు తర్వాత ఆ ఉండండి లేదు చివరిలో మెమరీ. ఇది ఇప్పటికీ జ్ఞాపకశక్తిని 50 బైట్లు ఉంది. కాబట్టి మేము ఇంకా చదవడానికి ప్రయత్నించండి 51, 52, 1,000 బైట్లు లో. ఇది కోసం segfault వెళుతున్న అదే కారణం. కానీ మరొక కారణం చాలా ఉంది. పాటు తిరిగి malloc కాలేదు ఏమి మెమరీ భాగం యొక్క చిరునామా? ఇది శూన్య తిరిగి. మరియు మేము తనిఖీ లేదు ఎందుకంటే ఆ, ఏదో చేస్తూ ఉండవచ్చు ఆ ఇది మరొక కారణం, కోసం స్టుపిడ్ మేము scanf చెప్పడం ఉండవచ్చు, చదవండి కీబోర్డ్ నుండి యూజర్ యొక్క ఇన్పుట్ 0 స్థానాన్ని లోకి AKA శూన్య. మరియు ఆ, చాలా, ఖచ్చితంగా ఒక segfault ట్రిగ్గర్. కాబట్టి క్విజ్ యొక్క ప్రయోజనం కోసం, మనం ఒక వంటి వారిలో గాని అంగీకరించారు చెల్లుబాటు అయ్యే కారణం. ఒక సారూప్యత. ఒక కొంచెం nuanced ఉంది. చివరగా, కార్యక్రమం యొక్క సంబంధించి మెమొరీ, ఎలా వెర్షన్ 2 మరియు వెర్షన్ 3 తేడా? కనుక ఇది విలువ ఏమిటి, మేము చూసిన ఒక సాధ్యం అంతమయినట్లుగా చూపబడతాడు అంతం సరఫరా ఈ సమాధానాలు. మరియు ప్రజల సమాధానాలు మధ్య, మేము ఏమి ఉన్నాయి ఆశిస్తూ, కానీ ఇతర అంగీకరించారు విషయాలు, కొన్ని ప్రస్తావన ఉంది వెర్షన్ 2 ఉపయోగించి వాస్తవం అని పిలవబడే స్టాక్. వెర్షన్ 3 కుప్ప ఉపయోగిస్తోంది. మరియు క్రియాశీలంగా, ఈ నిజంగా తేడా యొక్క అన్ని ఎక్కువ తయారు. రోజు ముగింపులో, మేము ఇప్పటికీ ఉన్నారు కేవలం మెమరీ 50 బైట్లు పొందడానికి. కానీ అవకాశం సమాధానాలు ఒకటి మేము చూడటం జరిగింది. మీరు మీ క్విజ్ పొందండి కానీ మీరు, చూస్తారు తిరిగి TFS నుండి, మేము ఆ ఇతర చర్చలు అంగీకరించాలి వారి అసమాన మెమరీ ఉపయోగాలు అలాగే. కానీ, స్టాక్ మరియు కుప్ప ఉండేది పనిచేయడానికి ఒక సులభమైన సమాధానం. ఏదైనా ప్రశ్నలు? నేను మీరు రాబ్ ఇవ్వాలని. రాబ్ బౌడెన్: కమ్మలు 4. ఈ పూరించాలి వచ్చింది పేరు ఒకటి అన్ని బయటకు బైట్లు సంఖ్య ఉపయోగిస్తారు ఈ వివిధ రకాల. మేము చూడండి కాబట్టి మొదటి విషయం. ఒక 32-bit ఆకృతి భావించవచ్చు, ఈ CS50 ఉపకరణం వలె. గురించి ప్రాథమిక విషయాలు ఒకటి 32-bit ఆకృతులనందు, మాకు చెబుతుంది ఎలా పెద్ద ఒక పాయింటర్ అన్నారు నిర్మాణం ఉండాలి. కాబట్టి వెంటనే, మేము తెలిసిన ఏ పాయింటర్ రకం 32 బిట్స్ లేదా 4 బైట్లు. కాబట్టి ఈ పట్టిక చూడటం, ఒక నోడ్ * ఒక పాయింటర్ రకం. ఆ 4 బైట్లు చేస్తాడు. Struct నోడ్ *, ఆ వాచ్యంగా ఉంది నోడ్ స్టార్ కి. అందువలన, 4 బైట్లు చేస్తాడు. స్ట్రింగ్, కాబట్టి ఇది ఒక వలె కనిపించడం లేదు ఇంకా పాయింటర్, కానీ typedef, ఒక స్ట్రింగ్ ఒక చార్ *, ఇది ఒక పాయింటర్ రకం. కాబట్టి 4 బైట్లు చేస్తాడు. సో అన్ని 4 బైట్లు ఉంటాయి. ఇప్పుడు, నోడ్ మరియు విద్యార్థి కొంచం క్లిష్టమైన. కాబట్టి నోడ్ మరియు విద్యార్థి చూడటం, మేము చూడండి పూర్ణాంకం మరియు ఒక పాయింటర్ గా నోడ్. మరియు విద్యార్థి రెండు గమనికలు అది లోపలి. కాబట్టి కనీసం ఇక్కడ మా కేసు కోసం, మార్గం మేము యొక్క పరిమాణం గణన ముగుస్తుంది ఈ struct కేవలం ప్రతిదీ జోడించండి ఉంది ఆ struct లోపల. కాబట్టి నోడ్ కోసం, మేము పూర్ణాంకం, ఇది 4 బైట్లు. మేము 4 బైట్లు ఒక పాయింటర్ కలిగి. కాబట్టి ఒక నోడ్ అన్నారు 8 బైట్లు చేపట్టారు. మరియు అలాగే విద్యార్థి కోసం, మేము ఒక కలిగి 4 బైట్లు మరియు మరొక అని పాయింటర్ 4 బైట్లు ఉంది ఆ పాయింటర్. కాబట్టి చివరికి చేస్తాడు 8 బైట్లు ఉండటం. కాబట్టి నోడ్ మరియు విద్యార్థి 8 బైట్లు ఉంటాయి. మరియు ఈ మూడు అన్ని 4 బైట్లు ఉంటాయి. ఆ ప్రశ్నలకు? అవును. ప్రేక్షకులు: ఇది ఒక 64-bit చేయబడింది నిర్మాణం, చేస్తాను వాటిని అన్ని రెట్టింపు? రాబ్ బౌడెన్: ఇది కాదు వాటిని అన్ని రెట్టింపు. కాబట్టి 64 బిట్ ఆర్కిటెక్చర్, ఇది, మళ్ళీ, మార్పులు ఆ ప్రాథమిక విషయం ఒక పాయింటర్ ఇప్పుడు 64 బిట్స్. అవును. కాబట్టి ఒక పాయింటర్ 8 బైట్లు. కాబట్టి ఈ 4 బైట్లు అని 8 బైట్లు ఉంటాయని. రెండు పాయింటర్లు ఇది ఒక విద్యార్థి,, బాగా, ఇప్పుడు అది వెళుతున్న 8 బైట్లు, 8 బైట్లు. ఇది 16 బైట్లు సిధ్ధంగా. కానీ ఒక నోడ్ ఇప్పటికీ 4 బైట్లు. కాబట్టి ఈ పాయింటర్ అన్నారు 8 బైట్లు. ఈ 4 బైట్లు. కాబట్టి ఒక నోడ్ మాత్రమే అన్నారు 12 బైట్లు. ఒక ఏ ఇతర ప్రశ్నలు? కాబట్టి తదుపరి, ఇవి లు. మరియు మీరు పరిస్థితులలో వివరించడానికి వచ్చింది ఇది కింద ఈ మైట్ మీరు తిరిగి. నేను కొన్ని విద్యార్థులు విన్న ఒక సమస్య వారు చేయడానికి ప్రయత్నించిన ఉంది లోపాలు క్లయింట్ యొక్క చివరన. మేము అభ్యర్థన ప్రయత్నించండి కాబట్టి సర్వర్కు, ఏదో వెళ్తాడు మా దగ్గర తప్పు. కానీ సాధారణంగా, ఈ కోడ్లు సర్వర్ ద్వారా తిరిగి. కాబట్టి మేము ఏమి గుర్తించడానికి కావలసిన తప్పు లేదా కుడి సర్వర్లో ఆ ఈ విషయాలు తిరిగి కారణమవుతుంది. ఎందుకు ఒక సర్వర్ తిరిగి వాటిని స్థితి కోడ్ 200? ఏదైనా ఆలోచనలు? అవును. కాబట్టి ఏదో గురించి విజయవంతంగా అభ్యర్ధన కార్యరూపం. మరియు వారు తిరిగి చూడగలరని మీరు అడిగారు సంసార. కాబట్టి అన్ని బాగా. 302 గురించి కనుగొన్నారో? అవును. ప్రేక్షకులు: సర్వర్ వెతుకుతున్న మీరు అభ్యర్థించిన ఏ కోసం. కానీ అది దొరకలేదు. కాబట్టి ఒక లోపం ఉంది. రాబ్ బౌడెన్: కాబట్టి సర్వర్ ఉంది అవకా వెతుకుతున్న. కాబట్టి కేవలం ఇక్కడ చూస్తున్న, 302 దొరకలేదు, అది కనుగొన్నాడు. ప్రేక్షకులు: క్షమించండి. దొరకలేదు వారు కనుగొన్నాడు అర్థం. క్షమించాలి. రాబ్ బౌడెన్: కాబట్టి 302 దొరకలేదు. సర్వర్ కనుగొనగలరు ఉంది అవకా. ప్రేక్షకులు: ఇది ప్రదర్శించడం కాదు? రాబ్ బౌడెన్: మధ్య వ్యత్యాసం ఈ 302 మరియు 200 అని ఇది మీరు ఏమి తెలుసు. కానీ ఖచ్చితంగా కాదు మీరు అడగండి కోరుకున్నాడు. కాబట్టి 302 ఒక సాధారణ దారి మార్పు. కాబట్టి మీరు ఒక పేజీ అభ్యర్థించిన. ఇది ఓహ్, నేను మీరు, తెలుసు మీరు ఈ తిరిగి. కానీ ఈ వేరే URL ఉంది. కాబట్టి హే, మీరు నిజంగా ఈ కావాలి. డేవిడ్ J. మలన్: ఇది మాట్లాడుతూ ఒక భాగం ఉంది మీరు అబ్బాయిలు ఒక దారిమార్పు ఇచ్చిన శీర్షిక ఫంక్షన్ ఉపయోగించిన ఫంక్షన్ ఆ, క్రమంగా,, నగర ముద్రించిన కొలన్ మరియు అప్పుడు URL ఇది మీరు యూజర్ తిరస్కరించదలిచారా. మీరు 302 చూడలేదు అయినప్పటికీ స్పష్టంగా అక్కడ, ఏ PHP ఉంది అద్భుతంగా శీర్షిక వంటి ఇన్సర్ట్ ఉంటుంది రాబ్ ఉన్నాయి చెప్పారు వేటి చెప్పడం - దొరకలేదు. కానీ బదులుగా ఇక్కడ వెళ్ళండి. రాబ్ బౌడెన్: OK. కాబట్టి 403 గురించి ఏ నిషిద్ధము? ప్రేక్షకులు: నేను నేను అనుకుంటున్నాను సర్వర్ ప్రధానంగా చెప్పడం అని క్లయింట్ హోమ్ పేజీ యాక్సెస్ చేయలేరు. రాబ్ బౌడెన్: కాబట్టి అవును. బాగా, సాధారణ సమాధానం మేము అంచనా ఏదో వంటి, దస్త్రాలు తగిన chmodded లేదు. ఆ బహుశా లోబడి పరిస్థితులలో మీరు వాటిని చూసిన. కానీ ఒక కారణం ఉంది క్లయింట్ ఇక్కడ తప్పు కావచ్చు. మరొక స్థితి కోడ్ వాస్తవానికి ఉంది - 401. కాబట్టి ఈ చాలా పోలి ఉంటాయి. 401 అనధికార ఉంది. మరియు 403 నిషేధించబడింది. కాబట్టి అనధికార మీరు ప్రత్యేకంగా మీరు లాగినై కాకపోతే పొందండి కానీ లాగిన్ కావచ్చు మీరు ప్రామాణీకరించబడిన. కానీ మీరు ఇప్పటికే లాగిన్ మరియు మీరు చేస్తుంటే అప్పటికి అనుమతి లేదు మీరు కూడా నిషిద్ధ పొందవచ్చు. కాబట్టి మీరు లాగిన్ మరియు లేకపోతే అనుమతి, నిషేధించబడింది కూడా ఉంది మీరు పొందవచ్చు ఏదో. డేవిడ్ J. మలన్: మరియు విధానం ద్వారా ఈ సమస్యలు సాధారణంగా ఇవి సేవికలో పరిష్కరించవచ్చు ఏ ఆదేశము ద్వారా? Chmod, అది ఉంటే, నిజానికి, ఒక అనుమతులు ఫైల్ లేదా డైరెక్టరీ న జారీ. రాబ్ బౌడెన్: అప్పుడు 404 దొరకలేదు. అవును. కాబట్టి 302 కాకుండా పేరు అది ఖచ్చితంగా కాదు మీరు కానీ అభ్యర్థిస్తున్నాము ఇక్కడ ఏమి తెలుసు మీరు, ఈ, అది కేవలం ఉంది మీరు ఏ ఆలోచన. మరియు మీరు అభ్యర్థిస్తోంది లేదు చెల్లుబాటు అయ్యే ఏదో. 418 నేను ఒక టీపాట్ ఏళ్ళ 500 అంతర్గత సర్వర్. ఎందుకు గమనించా ఉండవచ్చు? కాబట్టి segfault - నిజానికి గ్రేడింగ్ తెలియదు ఈ ప్రామాణిక. కానీ మీ PHP కోడ్ ఏదో కలిగి ఉంటే తిక్కన, సిద్ధాంతం లో, చేయగలిగే నిజానికి, segfault సందర్భంలో, ఈ 500 అంతర్గత సర్వర్ లోపం, ఏదో మీ సర్వర్ యొక్క తప్పు ఆకృతీకరణ. లేదా వాక్యనిర్మాణ దోషం ఉంది మీ PHP కోడ్ లో. లేదా చెడు ఏదో జరుగుతోంది. డేవిడ్ J. మలన్: మేము segfault వుంటావు కొన్ని ప్రజల సమాధానాలు మధ్య. మరియు సాంకేతికంగా, అది జరిగి. కానీ ఒక PHP, కార్యక్రమం ఉంటుంది నిజానికి, ఇతర ప్రజలు రాసిన segfaulted, ఇది మాత్రమే ఆ ప్రజలు ఇరుక్కొనిపోయింది మరియు లో బగ్గీ కోడ్ రాశాడు వారి వ్యాఖ్యాత చేస్తాను PHP కూడా segfault. 500 ఒక segfault వంటి అయినప్పటికీ కాబట్టి ఆత్మ లో, ఇది దాదాపు ఎప్పుడూ ఉంది ఒక ఆకృతీకరణ ఫైలు సమస్య యొక్క ఫలితం మీ వెబ్ సర్వర్ తో లేదా, రాబ్ చెప్పారు వంటి, మీరు వంటి వాక్యనిర్మాణ దోషం, ఒక కోట్ ముగించలేదు. లేదా మీరు ఎక్కడో ఒక సెమికోలన్ కోల్పోయింది. ప్రేక్షకులు: షటిల్ pset కోసం, నేను నేను చేసిన నేను క్లిక్ ఒకసారి అనుకుంటున్నాను బ్రౌజర్, కానీ ఏమీ, వచ్చింది వారు తెలుపు పేజీ పిలిచారు. కానీ ఎందుకంటే కోడ్ యొక్క ఉంది. నేను ఆ JavaScript భావించాను, కుడి? రాబ్ బౌడెన్: అవును. ప్రేక్షకులు: అని దోష ఇప్పటికీ ఆలోచన? రాబ్ బౌడెన్: మీరు సంపాదించిన ఉండేది కాదు ఈ లోపం కారణంగా ప్రతిదీ వెబ్ సర్వర్ దృక్పథంలో పూర్తిగా జరిమానా ఉంది. కానీ మీరు index.html అభ్యర్థించిన. మీరు shuttle.js అభ్యర్థించిన మరియు service.js. మరియు అది విజయవంతంగా తిరిగి చేయగలిగాడు ఆ విషయాలను అన్ని - 200. OK. ఇది మీ బ్రౌజర్ ప్రయత్నించారు మాత్రమే ఉంది జావాస్క్రిప్ట్ కోడ్ అన్వయించుకుంటారు ఇది వంటి, వేచి యొక్క ఈ కాదు చెల్లుబాటు అయ్యే JavaScript లోపం. ఏదైనా ఇతర ప్రశ్నలు? అన్ని కుడి. డేవిడ్ J. మలన్: తదుపరి అప్ సంఖ్య 11 ఉంది. మరియు 11 భయంకరమైన ఉంది ప్రజలు చాలా కోసం. కాబట్టి ముఖ్యమైన విషయం ఇక్కడ గమనించదగ్గ ఈ, నిజానికి, గురించి అని నటన ఎన్నటికీ లింక్ జాబితా. కానీ ఈ గత సంవత్సరం అదే కాదు ఎన్నటికీ లింక్ జాబితా సమస్య, మీరు మినహాయింపు ఇవ్వలేదని జాబితా, నిజానికి, క్రమబద్ధీకరించనిది ఉంటుంది. జాబితా క్రమబద్ధీకరించనిది ఉంది కాబట్టి నిజానికి మరియు ఆ పదం వాస్తవం చెప్పేటప్పుడు ఉన్నాయి అర్థం మార్క్ ఈ నిజానికి ఒక సరళీకరణ అని లేకపోతే ఉండేవి ఏమి మరింత సవాలు సమస్య మరియు సుదీర్ఘ ఒక. ఇక్కడ ఒక సాధారణ తప్పు చేసి ఉంది మీ ఒక గత సంవత్సరం పరిష్కారం పేజర్ ఆపై గుడ్డిగా ఆ కాపీ కుడి ఇది సమాధానం, వంటి డౌన్ వేరే ప్రశ్నకు సమాధానం ఆత్మ లో మాదిరిగా. కానీ ఇక్కడ సూక్ష్మబేధాలు టిఆర్ఎస్. కాబట్టి, మేము ఒక నోడ్ చాటి చేశారు ఇక్కడ సాధారణ నిర్వచించవచ్చు. అప్పుడు మేము జాబితా ఒక ప్రపంచ ఉంటుంది నిర్వచించిన పాయింటర్ శూన్యం కు initialized. అప్పుడు స్పష్టంగా, రెండు విధులు ఉంది మేము ఇక్కడ కోసం నమూనా కలిగి, చొప్పించు మరియు తొలగించడానికి. మరియు తర్వాత మేము ఇక్కడ కొన్ని నమూనా కోడ్ ఉన్నాయి యొక్క ప్రక్షిప్తాలు కొంత చేయడం. మరియు తర్వాత మేము పూర్తి మీరు అడగవచ్చు ఇటువంటి క్రింద చొప్పించు అమలు ఇది జాబితాలో n ఇన్సర్ట్ విధంగా స్థిరంగా సమయంలో, కూడా మార్క్, ఇప్పటికే ఉంటే. కాబట్టి ఇన్సర్ట్ సామర్థ్యం అందం స్థిరంగా సమయంలో అది సూచిస్తుంది మీరు ఇన్సర్ట్ చేసేది కొత్త నోడ్ పేరు? ముందు. కనుక ఇది, అదృష్టవశాత్తూ, తొలగిస్తుంది కనీసం అవసరం ఉపయోగించారు సందర్భాలలో ఒకటి ఇది వంటి కోడ్ యొక్క మరింత పంక్తులు, చేశాడు గత ఏడాది కూడా తరగతి లో మేము విషయం ఈ రకమైన ద్వారా మాట్లాడారు మానవులతో మరియు కొన్ని శబ్ద నకిలీ కోడ్. ఇక్కడ పరిష్కారం లో, యొక్క పైగా skip తెలియజేయండి ఆ కేవలం ఒక దృశ్య కలిగి స్క్రీన్. మేము క్రింది చేయడం గమనించవచ్చు. మరియు ఇతర సరళీకరణ, గమనించి అని అయినా అప్పటికే, ఈ అర్థం కూడా సంఖ్య మీరు, ఇప్పటికే ఉంది గుడ్డిగా మరో ఇన్సర్ట్ అది కాపీ. మరియు ఆ, చాలా, ఒక అని అర్థం సరళీకరణ, మీరు కనుక దీని , మరింత నిజంగా, కొన్ని దృష్టి తెలివైన ఆసక్తికరమైన భాగంగా మరియు తనిఖీ కొన్ని అదనపు లోపం కేవలం పరిమిత సమయం ఇచ్చిన. కాబట్టి ఈ నమూనా పరిష్కారం లో, మేము కేటాయించాలని ఎడమ వైపు ఒక పాయింటర్ ఒక నోడ్ ఇక్కడ పక్క. ఇప్పుడు, వంటి, ఆ పాయింటర్ తెలుసుకుంటారు రాబ్ అన్నారు, 32 బిట్స్ ఉంది. మరియు అది నిజానికి కలిగి లేదు మీరు వరకు చిరునామా ఇది చిరునామా కేటాయించి. మరియు మేము కుడి వైపు అలా malloc ద్వారా వైపు. ఒక మంచి పౌరుడు వంటి, మేము ఆ తనిఖీ malloc కాదు, నిజానికి, శూన్య, కాబట్టి మేము అనుకోకుండా సృష్టించవద్దు ఇక్కడ ఒక segfault. మరియు ఏ సమయంలో మీరు, జీవితం లో మీరు malloc ఉపయోగిస్తున్నప్పుడు లేదంటే, శూన్య తనిఖీ చేయాలి మీరు ఒక సూక్ష్మ బగ్ కలిగి. అప్పుడు మేము ఆ శూన్య ప్రారంభించడం n మరియు మునుపటి మరియు తదుపరి కేటాయించి. మరియు ఇక్కడ ఈ సందర్భంలో, నేను initialized ఎందుకంటే ఈ కొత్త, శూన్యం మునుపటి నోడ్ కొత్త అన్నారు నా జాబితా ప్రారంభం. కాబట్టి ఉన్నట్లు జరగబోతోంది ఇది ముందు ఏమీ. నేను తప్పనిసరిగా జోడించు మీరు ద్వారా కొత్త నోడ్ ఉన్న జాబితా కూడా జాబితా పక్కన సమానంగా చేయడం. కానీ నేను ఇంకా పూర్తి కాదు. జాబితా కూడా ఇప్పటికే ఉనికిలో, అయితే మరియు కనీసం ఒక నోడ్ ఉంది ఇప్పటికే స్థానంలో, ఈ జాబితాలో ఉంటే ఇక్కడ మరియు నేను, ఇక్కడ ఒక కొత్త నోడ్ ఇన్సర్ట్ నిర్ధారించుకోండి అవసరం నా మాజీ నోడ్ నా కొత్త నోడ్ వెనుకకు పాయింట్లు, ఈ, మళ్ళీ, ఎందుకంటే నటన ఎన్నటికీ లింక్ జాబితా. కాబట్టి మేము ఒక తెలివి చెక్. ఇప్పటికే ఉంది ఉంటే జాబితా, శూన్య లేకపోతే తరువాత ఒకటి లేదా ఎక్కువ నోడ్స్, మాట్లాడటానికి సూచన తిరిగి జోడించండి. మరియు తర్వాత మేము అవసరం ఆఖరి విషయం చేయడానికి నిజానికి ప్రపంచ నవీకరించండి సూచించడానికి వేరియబుల్ జాబితా కూడా కొత్త నోడ్. అవును. ప్రేక్షకులు: పాయింటర్ బాణం లో [వినబడని] చేస్తుంది, శూన్య సమానం జాబితా పరిష్కరించేందుకు ఎందుకంటే జాబితాలో శూన్య? డేవిడ్ J. మలన్: వద్దు. ఆ ముందుగా ఉండటం కేవలం నాకు ఉంది ఈ నా ఉంటే ఆ, జాగ్రత్తగా కొన్ని మరిన్ని నోడ్స్ తో అసలు జాబితా ఇక్కడ పైగా మరియు నేను ఇన్సర్ట్ వెబ్ నా ఇక్కడ పైగా కొత్త నోడ్, జరగబోతోంది ఇక్కడ పైగా ఏమీ. నేను ఆ ఆలోచన పట్టుకుని మీరు గత అమర్చుట ద్వారా కొత్త నోడ్ మీద శూన్య. మరియు బహుశా, నా కోడ్ సరైన ఉంటే మరియు ఇన్సర్ట్ ఏ ఇతర మార్గం ఉంది ఈ ఫంక్షన్ కంటే ఇతర నోడ్స్, బహుశా, కూడా జాబితా ఇప్పటికే ఉంది అది ఒకటి లేదా ఎక్కువ నోడ్స్, బహుశా జాబితా, మొదటి నోడ్, వుంటుంది ఒక శూన్య యొక్క మునుపటి పాయింటర్. ప్రేక్షకులు: కేవలం ఒక కొనసాగించిన. మీరు తదుపరి సమానం పాయింటర్ ఉంచారు కారణం జాబితా మీరు పాయింటర్ చేస్తున్న ఉంది ఇది పై చేసే జాబితాలో ముందు తదుపరి, నేను ఊహిస్తున్నాను - నేను don't - కేవలం జాబితా? డేవిడ్ J. మలన్: ఖచ్చితంగా. కాబట్టి యొక్క నిజానికి రెండు కేసులు పరిశీలిద్దాం ఇక్కడ నిజంగా, అయినప్పటికీ మేము వాటిని పరిగణలోకి చేస్తాము క్రమంలో కాదు కోడ్ చాలా అదే. కానీ అధిక స్థాయిలో, ఈ సూచిస్తుంది జాబితా మరియు ఈ ఒక 32-bit ఉంది పాయింటర్, సాధారణ దృశ్య ఈ సిద్ధంగా శూన్య అని. నేను ఇన్సర్ట్ అనుకుందాం సంఖ్య 50 మొదటి సంఖ్య. నేను ముందుకు వెళ్లి కేటాయించే వెళుతున్న కలిగి అన్నారు ఇది ఒక నోడ్, మూడు ఖాళీలను - n, మునుపటి, మరియు తదుపరి. నేను సంఖ్య 50 ఉంచారు వెళుతున్న ఇక్కడ, ఈ n ఉంటుంది ఎందుకంటే. ఈ తదుపరి ఉంటుంది. మరియు ఈ మునుపటి ఉంటుంది. కాబట్టి నేను ఈ సందర్భంలో ఏమి చేస్తారు? Well, నేను కేవలం ఇక్కడ లైన్ 1 చేసిన. పాయింటర్ n n గెట్స్. నేను మునుపటి మాట్లాడుతూ వెబ్ శూన్య కావాలి. కాబట్టి ఈ శూన్య అన్నారు. అప్పుడు నేను తరువాత చెప్పే వెళుతున్న జాబితా పొందడానికి అన్నారు. మరియు ఈ కేవలం బాగా పనిచేస్తుంది. ఈ శూన్య. కాబట్టి నేను కొత్త నోడ్ యొక్క తదుపరి మాట్లాడుతూ వెబ్ రంగంలో ఈ సంసార కావాలి. తద్వారా అక్కడ మరో శూన్య ఉంచుతుంది. మరియు తర్వాత గత విషయం నేను ఇక్కడ తనిఖీ చేస్తారు. జాబితా ఇది శూన్య సమానం కాదు, కానీ ఉంటే శూన్య సమానం, కాబట్టి మేము skip ఆ పూర్తిగా. కాబట్టి నేను అన్ని తదుపరి జాబితా గెట్స్ ఉంది చిత్రాల ఫలితంగా పాయింటర్, ఆ వంటి చిత్రాన్ని. కాబట్టి ఒక దృష్టాంతంలో ఉంది. మరియు మీరు గురించి అడుగుతూ ఒక ప్రత్యేకంగా ఈ వంటి పరిస్థితి ఉంది, మేము ఇప్పటికే ఒక నోడ్ జాబితా పేరు. నేను అసలు లో తిరిగి వెళ్ళి ఉంటే సమస్యకు, మేము తదుపరి కేవలం కోసం, సే 34 చొప్పించు చర్చ కొరకు. నేను కేవలం సౌకర్యవంతంగా వెళుతున్న ఇక్కడ పైగా ఆ డ్రా. నేను malloced చేసిన. యొక్క నేను శూన్య తనిఖీ చేస్తున్నాను భావిస్తాను. ఇప్పుడు, నేను ప్రారంభించడం వెళుతున్న n 34 ఉండాలి. మరియు ఈ n ఉంటుంది. ఈ తదుపరి ఉంటుంది. మరియు ఈ మునుపటి ఉంటుంది. యొక్క ఖచ్చితంగా నేను కాదు తయారు చేద్దాము వెనుకకు ఈ పొందండి. మునుపటి మొదటి వచ్చింది నిర్వచనం. నాకు ఈ పరిష్కరించడానికి అనుమతిస్తాయి. ఈ మునుపటి ఉంది. ఈ తదుపరి ఉంది. ఈ సమానంగా ఉంటాయి, అయినప్పటికీ యొక్క స్థిరమైన కొనసాగుతున్నారు. మునుపటి. ఈ తదుపరి ఉంది. కాబట్టి నేను తనిఖీ, నా గమనిక malloced చేసిన శూన్య కోసం, నోడ్ లోకి 34 అప్పగించింది. మునుపటి శూన్య గెట్స్. కాబట్టి నాకు ఆ ఇస్తుంది. తదుపరి జాబితా గెట్స్. కాబట్టి జాబితా ఈ ఉంది. కాబట్టి ఈ ఇప్పుడు అదే ఉంది ఈ గీయడం వంటి కర్ణుడి సూచించబడిన కాబట్టి, బాణం అదే లో. ఆపై నేను తనిఖీ చేస్తున్నాను ఉంటే జాబితా శూన్య సమానం కాదు. మరియు ఈ సమయం కాదు. అప్పుడు నేను జాబితా వెళుతున్న మునుపటి పాయింటర్ గెట్స్. కాబట్టి మునుపటి జాబితా PTR గెట్స్. కాబట్టి ఈ విధంగా ప్రభావం ఉంది ఇక్కడ గ్రాఫికల్ బాణం. మరియు ఒక చిన్న సంతరించుకోనుంది ఉంగరాల, పంక్తులు. ఆపై, చివరకు, నేను అప్డేట్ పాయింటర్ సూచించడానికి జాబితా. కాబట్టి ఇప్పుడు ఈ ఈ గై పాయింట్లు. ఇప్పుడు, యొక్క శీఘ్ర తెలియజేసేలా తెలివి తనిఖీ. ఇక్కడ జాబితా ఇది, ఉంది ప్రపంచ వేరియబుల్. మొదటి నోడ్,, నిజానికి, 34 ఎందుకంటే నేను ఆ బాణం అనుసరించే. నేను మీరు ఎందుకంటే మరియు సరైన అని జాబితా ప్రారంభంలో ఇన్సర్ట్ అన్ని కొత్త నోడ్స్. తన తదుపరి రంగంలో ఈ వ్యక్తి నాకు దారితీస్తుంది. నేను కొనసాగించడాన్ని, నేను తరువాత శూన్య హిట్. అందువలన మరింత జాబితాను. నేను గత హిట్, నేను పొందండి నేను పేరు తిరిగి. కాబట్టి కొన్ని గమనికలు ఇప్పటికీ ఉన్నాయి, స్పష్టంగా, సవరించడానికి. కానీ మీరు ఏమి చెప్పబడింది వాస్తవం ఈ స్థిరంగా సమయంలో మీరు మాత్రమే అర్థం విషయాలు ఒక పరిమిత సంఖ్య కలిగి మీరు అనుమతి చేస్తున్నాం. మరియు ఆ నంబర్ ఏమిటి? ఇది ఒక అడుగు కావచ్చు. ఇది రెండు కావచ్చు. ఇది 1,000 దశలను కావచ్చు. కానీ మీరు కాదు అంటే, పరిమిత మళ్ళీ వెతికినా ఎలాంటి జరగబోతోంది చేశారు ఇక్కడ, ఏ సూత్రం, ఏ ఉచ్చులు. ఇది కేవలం హార్డ్ కోడెడ్ పంక్తులు తీరవలసినదే మేము ఈ నమూనా లో కలిగి కోడ్ నాటికి. తరువాత సమస్య 12 మాకు కోరారు తొలగించు అమలు పూర్తి ఇది తొలగిస్తుంది విధంగా క్రింద n సరళ సమయంలో జాబితా నుండి. కాబట్టి మీరు కొంచెం కలిగి విగ్లే గది ఇప్పుడు. మీరు, ఆ n ఊహించుకోవటం ఉండవచ్చు ఉంటే ప్రస్తుతం జాబితాలో, ప్రస్తుతం ఉంటుంది ఒక్కసారి కంటే ఎక్కువగా. మరియు ఆ చాలా ఒక క్విజ్ ఆధారిత అని అర్థం సరళీకృతం భావన, కాబట్టి మీరు సంఖ్య 50 రాశారు ఉంటే జాబితాలో, మీరు కూడా లేదు నిరంతర గురించి ఆందోళన ప్రతి సాధ్యం వెతుకుతున్న, iterate కేవలం బదిలీ ఇది 50 యొక్క కాపీని, పరిమిత సమయం లో కొన్ని minutia లోకి. కాబట్టి తొలగించు తో, ఈ ఒక ఖచ్చితంగా ఉంది మరింత సవాలు మరియు మరింత రాయడానికి కోడ్. కానీ మొదటి చూపులో, స్పష్టముగా, అది వాటిని అధిక మరియు లాగ మీరు కలిగి ఉంటుంది మార్గమే లేదు ఒక క్విజ్ లో ఆలోచన. కానీ మేము వ్యక్తిగత దశలను దృష్టి ఉంటే, ఆశాజనక, అది అకస్మాత్తుగా రెడీ మీరు సమ్మె ఈ వ్యక్తి యొక్క ప్రతి దశలను స్పష్టమైన అర్ధమే ఇకముందు. కాబట్టి యొక్క పరిశీలించి అనుమతిస్తుంది. కాబట్టి మొదటి, మేము పాయింటర్ ప్రారంభించడం ఉండాలి కూడా జాబితా. నేను సరళ సమయం తెచ్చుకున్నాయి, సాధనాలు నేను కొన్ని లూప్ కలిగి వెళుతున్న. మరియు ఒక సాధారణ మార్గం మీద iterate జాబితా నిర్మాణం లేదా ఏ రకమైన లో నోడ్ నిర్మాణం యొక్క మరల పొందాలి డేటా ముందు ఒక పాయింటర్ నిర్మాణం మరియు అప్పుడు నవీకరించుటకు ప్రారంభం ఇది మరియు మీ మార్గం నడిచి డేటా నిర్మాణం ద్వారా. నేను ఖచ్చితంగా అలా వెళుతున్న. పాయింటర్ అయితే, నా తాత్కాలిక వేరియబుల్, వీలు యొక్క, శూన్య సమానం కాదు ముందుకు వెళ్లి తనిఖీ. నేను లక్కీ వచ్చింది? నేను ప్రస్తుతం రెడీ నోడ్ లో n రంగం సమానంగా చూడటం సంఖ్య నేను చూస్తున్నాను? మరియు అలా అయితే, యొక్క ఏదో ఒకటి చూద్దాం. ఇప్పుడు, ఈ గమనించి పరిస్థితి మొత్తం చుట్టుముట్టిన కోడ్ క్రింది పంక్తులు. ఈ నేను శ్రద్ధ మాత్రమే విషయం - ప్రశ్న లో అనేక కనుగొనడంలో. అందువలన వేరే, సులభతరం ఉంది సందర్భానుసారంగా విషయాలు కొద్దిగా. కానీ ఇప్పుడు, నేను, మరియు మీరు కలిగి ఉండవచ్చు మాత్రమే ఆలోచిస్తూ తరువాత ఈ గుర్తించారు ఇది ఒక బిట్ ద్వారా, ఉంది నిజానికి రెండు కేసులు ఇక్కడ. నోడ్ వద్ద ఇక్కడ ఒకటి ఒక ఇది జాబితా, ప్రారంభం ఆ ఎందుకంటే, చిన్న బాధించే ఒక ప్రత్యేక సందర్భంలో, మీరు చేసే అవసరం ఎందుకంటే ఈ విషయం తో, ఇది మాత్రమే విపరీతమైనది. అన్నిచోట్లా వేరే జాబితాలో, అదే విషయం. ఒక మునుపటి నోడ్ మరియు ఒక తదుపరి ఉంది నోడ్, మునుపటి నోడ్, తదుపరి నోడ్. కానీ ఈ వ్యక్తి కొద్దిగా ప్రత్యేక ఉంది అతను ప్రారంభంలో ఉంటే. కాబట్టి పాయింటర్ జాబితా సమానం కూడా, నేను ప్రారంభంలో ఉన్నాను ఉంటే జాబితా మరియు నేను n కనుగొన్నారు, నేను అవసరం విషయాలను చేయడానికి. ఒకటి, నేను జాబితా మార్చాలి తదుపరి రంగంలో, 50 సూచించడానికి. నేను ప్రయత్నిస్తున్నాను అనుకుందాం 34 తొలగించడానికి. కాబట్టి ఈ గై వెళ్ళి తీరవలసినదే దూరంగా ఒక క్షణం లో. కాబట్టి నేను వెళుతున్న, జాబితా తదుపరి పాయింటర్ గెట్స్. Well, ఈ పాయింటర్ ఉంది. తదుపరి ఇక్కడ పైగా సూచించబడిన. కాబట్టి ఈ ఈ బాణం కుడి మారుతున్న ఇప్పుడు ఇక్కడ ఈ గై సూచించడానికి. ప్రస్తుతం మనకు, గుర్తు ఒక తాత్కాలిక వేరియబుల్. కాబట్టి మేము ఏ నోడ్స్ అనాథ లేదు, నేను కూడా ఈ గై ఎందుకంటే నా తొలగించు అమలు. కాబట్టి ఇప్పుడు, ఉంటే జాబితా కూడా, శూన్య కాదు నేను కొంచెం పరిష్కరించడానికి అవసరం. నేను ఇప్పుడు ఖచ్చితంగా ఈ బాణం నిర్ధారించుకోండి అవసరం, గతంలో గురిపెట్టి ఇది 34 50 నుండి, ఈ, దూరంగా వెళ్ళేవారం ఉంది ఎందుకంటే నేను వదిలించుకోవటం ప్రయత్నిస్తున్నాను ఉంటే 34, 50 మంచి ఏ నిర్వహించడానికి కాలేదు గా రకమైన వెనుక సూచన బాణం సూచించారు. నేను ఈ లైన్ చేశాడు. కాబట్టి అప్పుడు నేను పూర్తయింది. ఆ సందర్భంలో వాస్తవానికి చాలా సులభం. జాబితా యొక్క తల ఆఫ్ వేరుచేయడానికి చాలా సూటిగా ఉంటుంది. దురదృష్టవశాత్తు, ఈ ఉంది వేరే బాధించే బ్లాక్. కాబట్టి ఇప్పుడు, నేను కేసు పరిగణించాలి మధ్యలో ఏదో ఇక్కడ. కానీ తప్ప, చాలా భయంకరమైన కాదు ఈ సింటాక్స్ను కోసం. నేను ప్రారంభంలో కాదు ఉంటే జాబితా, నేను ఎక్కడో మధ్యలో ఉన్నాను. మరియు ఇక్కడ ఈ లైన్ సెలవిచ్చుచున్నది ప్రారంభం యు ఆర్ ఎట్ ఏ నోడ్ వద్ద. మునుపటి నోడ్ యొక్క తదుపరి రంగంలో వెళ్ళండి మరియు పాయింటర్ ఆ. యొక్క చిత్రాల మనం. ఆ క్లిష్టమైన అయిపోతున్నట్లు. నేను ఇక్కడ ఒక మునుపటి ఖాళీలను ఉంటే - దీన్ని చూద్దాం - ఇక్కడ తదుపరి ఖాళీలను. నేను కాకుండా నా గమనికలు సులభతరం వెళుతున్న మొత్తం బంచ్ డ్రా కంటే ముందుకు వెనక్కు విషయాలు వంపులు ప్రతి ఇతర. ఇప్పుడు,, యొక్క ఈ 1, 2 పిలవబడు చర్చ కొరకు 3, కూడా ఆ వరుసలో లేదు అయితే ప్రశ్న లో సమస్య. ఇక్కడ నా లింక్ జాబితా. నేను ఈ రెండు తొలగించడానికి ప్రయత్నిస్తున్నాను కథ ప్రత్యేక సంస్కరణను. నేను పాయింటర్ నవీకరించబడింది చేసిన ఈ వ్యక్తి సూచించే. కాబట్టి ఈ PTR ఉంది. ఆయన ఇక్కడ సూచించే. ఈ వున్నప్పటికీ, జాబితా ప్రపంచవ్యాప్తంగా ముందు. అతడు ఉన్నా ఇక్కడికి సూచించే. ఇప్పుడు, నేను రెండు తొలగించడానికి ప్రయత్నిస్తున్నాను. పాయింటర్ ఇక్కడ సూచించబడిన అయితే, నేను ఉన్నాను , స్పష్టంగా, అనుసరించండి అన్నారు 1 నాకు ఉంచుతుంది ఇది మునుపటి పాయింటర్,. నేను అప్పుడు చెప్పడానికి వెళుతున్న తదుపరి ఈ నాకు పైగా పోసే రంగంలో, ఇక్కడ బాక్స్, అన్నారు సమాన పాయింటర్ తదుపరి. కాబట్టి ఈ పాయింటర్ ఉంటే, ఈ తదుపరి ఉంది. అని ఈ బాణం అవసరాలను ఈ గై సూచించడానికి. కాబట్టి కోడ్ లైనును కేవలం ఏమి ఉంది ఈ యొక్క కొద్దిగా ఉంది పూర్తి. ఇప్పుడు, ఈ ఒక మాదిరి సరైన దిశలో అడుగు. మేము తప్పనిసరిగా 2 కత్తిరించిన కావలసిన 1 మరియు 3 మధ్యలో. కాబట్టి అది మేము కావలసిన అర్ధమే దాని చుట్టూ మార్గం ఈ పాయింటర్. కాబట్టి ఈ తదుపరి లైన్ తనిఖీ ఉంటే పాయింటర్ తదుపరి శూన్య కాదు, ఉంది 2 కుడి నిజానికి ఎవరైనా, మేము కూడా చేయాల్సిందల్లా అర్థం కొద్దిగా ఇక్కడ కత్తిరించిన. నేను ఇప్పుడు ఈ పాయింటర్ అనుసరించాల్సి మరియు మునుపటి పాయింటర్ అప్డేట్ ఒక యొక్క కొద్దిగా చేయాలని ఈ వ్యక్తి ఇక్కడ ఇక్కడ పాయింట్ తాత్కాలిక పరిష్కారాలు. ఇప్పుడు, దృష్టి ఈ nice. అక్కడ లో ఇది ఒక చిన్న దారుణంగా ఉంది ఇకపై 2 వద్ద గురిపెట్టి ఎవరూ. 2 ఎడమ సూచించబడిన. మరియు 2 కుడి సూచించబడిన. కానీ అతను కోరుకుంటున్నారు పనులను ఎందుకంటే అతను విముక్తి పెట్టడానికి గురించి. మరియు అది ఏమి పట్టింపు లేదు ఆ విలువలు ఇకపై ఉంటాయి. ముఖ్యం మిగిలిన ఉంది అబ్బాయిలు పైన రౌటింగ్ ఉంటాయి మరియు ఇప్పుడు అతన్ని క్రింద. నిజానికి, మేము తదుపరి ఏమి ఉంది. మేము చెప్పడం అంటే మేము ఉచిత పాయింటర్, ఆపరేటింగ్ సిస్టమ్, మీకు స్వాగతము ఈ సాగు చేయు. మరియు తర్వాత చివరగా, మేము తిరిగి. ఎల్స్ పరిపూర్ణంగా, మేము ఇంకా రాలేకపోయాయి, మేము చూస్తున్న ఉంచడానికి పొందారు. కాబట్టి పాయింటర్ తర్వాతి పాయింటర్ సమానం ఇక్కడ ఈ వ్యక్తి తరలించడానికి అర్థం. ఇక్కడ ఈ గై తరలించు. ఇక్కడ ఈ గై తరలిస్తే, నిజానికి, మేము సంఖ్య కనుగొనలేదు మేము శోధిస్తున్న. కాబట్టి స్పష్టముగా, అది పూర్తిగా కనిపిస్తుంది అధిక, నేను మొదటి వద్ద, అనుకుంటున్నాను చూపులో, ముఖ్యంగా మీరు పడ్డాడు ఉంటే ఈ క్విజ్ సందర్భంగా చూడండి ఈ వంటి ఏదో. మరియు మీరు వెనుక మీరే తట్టడం. Well, నేను కలిగి ఉన్నట్లు ఉంది క్విజ్ లో ఆ ఆలోచన. కానీ అంతకన్న వాదిస్తుంది, మీరు బ్రేక్ ఈ వ్యక్తిగత లోకి డౌన్ కేవలం కేసులు మరియు అది నడవడానికి జాగ్రత్తగా, ఆమోదం క్రింద, అయితే ఒత్తిడితో పరిస్థితులలో. కృతజ్ఞతగా, చిత్రాన్ని చేసింది సంతోషముగా ప్రతిదీ. మీరు ఈ గీయవచ్చు మార్గాల్లో సంఖ్య. మీరు స్టెలా చేయడానికి లేదు ఇక్కడ విషయం. మీరు నేరుగా తో చేయగల ఈ రేఖలను. కానీ ఈ సమస్య యొక్క సారాంశం, సాధారణ, గుర్తించడం అని చివరికి చిత్రాన్ని కొద్దిగా కనిపించాలి ఈ వంటి ఏదో, ఎందుకంటే స్థిరంగా మీరు ఉంచే సూచిస్తున్నట్లు జామింగ్ మరియు జామింగ్ మరియు జామింగ్ ప్రారంభంలో కొత్త నోడ్స్ జాబితా. ఏదైనా ప్రశ్నలు? బహుశా అత్యంత సవాలుగా ఖచ్చితంగా కోడింగ్ ప్రశ్నలు. ప్రేక్షకులు: పోలి జాబితా మునుపటి ఉదాహరణలు లో తల. డేవిడ్ J. మలన్: ఖచ్చితంగా, సరిగ్గా. కోసం వేరొక పేరు ప్రపంచ వేరియబుల్. వరల్డ్ వైడ్ ఏమి? రాబ్ బౌడెన్: OK. కాబట్టి ఈ మీరు ఒకటి పేరా రాయడానికి వచ్చింది. కొంతమంది వ్యాసాలు వ్రాశాడు ప్రశ్న కోసం. కానీ మీరు ఈ ఆరు పదాలు ఉపయోగించాలి ఉన్నప్పుడు ఏమి వర్ణించడానికి మీరు facebook.com సంప్రదించండి ప్రయత్నించండి. కాబట్టి నేను ప్రక్రియ ద్వారా మాట్లాడదాము ఈ పదాలను ఉపయోగించి. మా బ్రౌజర్ లో, మేము facebook.com టైప్ ఎంటర్ నొక్కండి. మా బ్రౌజర్ ఒక నిర్మించేందుకు వెళుతున్న HTTP ఇది పంపండి అభ్యర్థించవచ్చు కోసం Facebook కొన్ని ప్రక్రియ ద్వారా ఫేస్బుక్ తో మాకు స్పందించడం దాని పేజీ యొక్క HTML. కాబట్టి ప్రక్రియ ద్వారా ఏమిటి ఇది HTTP అభ్యర్థన వాస్తవానికి Facebook అవకాశంను? కాబట్టి మొదటి, మేము అనువాదం అవసరం Facebook.com. కాబట్టి కేవలం, పేరు Facebook.com ఇచ్చిన నిజానికి HTTP అభ్యర్థన చేస్తుంది పేరు వెళ్లాలి? కాబట్టి మేము Facebook.com అనువాదం అవసరం ఒక IP చిరునామా, ఇది ప్రత్యేకంగా యాంత్రిక మేము నిజంగా గుర్తిస్తుంది ఈ అభ్యర్థనను పంపాలని. మీ ల్యాప్టాప్ IP చిరునామా కూడా. ఇంటర్నెట్కు కనెక్ట్ ఏదైనా IP చిరునామా కూడా. కాబట్టి DNS, డొమైన్ పేరు వ్యవస్థ, ఉంది ఏమి అనువాద నిర్వహించడానికి జరగబోతోంది facebook.com నుండి ఒక IP చిరునామా అని మీరు నిజంగా సంప్రదించండి అనుకుంటున్నారా. కాబట్టి మేము DNS సర్వర్లు సంప్రదించండి మరియు సే, facebook.com ఏమిటి? ఇది OH, అది IP చిరునామా 190,212 ఉంది, చెప్పారు ఏదో, ఏదో, ఏదో. అన్ని కుడి. ఇప్పుడు, నేను తెలిసిన యంత్రం నేను సంప్రదించండి అనుకుంటున్నారా. కాబట్టి మీరు మీ HTTP అభ్యర్థన పంపండి ఆ యంత్రం కు. కాబట్టి ఎలా ఆ యంత్రం ను లేదు? బాగా, అభ్యర్థన నుండి వెళుతుంది రౌటర్ బౌన్సింగ్ రౌటర్. తరగతి ఉదాహరణకు గుర్తుంచుకో, పేరు మేము నిజంగా మార్గం చూసిన మేము ప్రయత్నించినప్పుడు ప్యాకెట్లను పట్టింది కమ్యూనికేట్. మేము అట్లాంటిక్ జంప్ ఓవర్ చూసింది ఒక పాయింట్ లేదా సంసార సముద్రాలను. గత పదం పోర్ట్. కాబట్టి ఈ మీ కంప్యూటర్ ఇప్పుడు. మీరు ప్రస్తుతం బహుళ విషయాలు ఉండవచ్చు ఇంటర్నెట్ కమ్యూనికేట్. నేను, సే, స్కైప్ అమలు చేయవచ్చు. నేను ఓపెన్ ఒక వెబ్ బ్రౌజర్ కలిగి ఉండవచ్చు. నేను ఏదైనా కలిగి ఉండవచ్చు అని ఫైళ్లు torrenting. కాబట్టి ఈ విషయాలు అన్ని ఉన్నాయి కమ్యూనికేట్ కొన్ని విధంగా ఇంటర్నెట్. మీ కంప్యూటర్ కొన్ని డేటా అందుకుంటుంది ఇంటర్నెట్ నుండి, ఎలా అది తెలిసిన దరఖాస్తు వాస్తవానికి డేటా కోరుకుంటున్నారు? ఈ ప్రత్యేక అని ఎలా తెలుసు డేటా కోసం ఉద్దేశించబడింది వ్యతిరేకంగా అప్లికేషన్ torrenting వెబ్ బ్రౌజర్కు? కాబట్టి ఈ పోర్టుల ప్రయోజనం ఉంది ఈ అనువర్తనాల్లో అన్ని మీ కంప్యూటర్లో ఒక పోర్ట్ పేర్కొన్నారు. కాబట్టి మీ వెబ్ బ్రౌజర్, హే, చెప్పారు నేను పోర్ట్ 1000 న వినే నేను. మరియు మీ torrenting కార్యక్రమం అని, నేను పోర్ట్ 3000 న వినే నేను. మరియు స్కైప్ నేను పోర్ట్ 4000 ఉపయోగించి వెబ్, చెప్పారు. మీరు కొన్ని డేటా పొందుటకు కనుక చెందిన ఈ అనువర్తనాల్లో ఒకటి, డేటా ఇది పోర్ట్ ఇలా మార్క్ ఉంది నిజానికి పాటు పంపాలి. కాబట్టి ఈ OH, నేను చెందిన, చెప్పారు పోర్ట్ 1000. నేను అప్పుడు నేను ఈ ముందుకు అవసరం తెలుసు నా వెబ్ బ్రౌజర్కు పాటు. కాబట్టి కారణం ఇక్కడ సంబంధిత వెబ్ సర్వర్లు ఉంటాయి ఉంటుంది పోర్ట్ 80 వినండి. నేను Facebook.com సంప్రదించండి, నేను ఉన్నాను కొన్ని యంత్రం కమ్యూనికేట్. కానీ నేను ఆ పోర్ట్ చెప్పడానికి అవసరం నేను కమ్యూనికేట్ మీరు యంత్రం. మరియు వెబ్ సర్వర్లు కూడుకున్నవి పోర్ట్ 80 వింటూ. వారు కోరుకుంటే, వారు ఏర్పాటు కాలేదు అప్ కాబట్టి ఇది పోర్ట్ 7000 నాటికి జాబితా. ఆపై ఒక వెబ్ బ్రౌజర్ లో, నేను 7000: మానవీయంగా Facebook.com టైప్ పోర్ట్ 7000 పంపాల్సి Facebook యొక్క వెబ్ సర్వర్ యొక్క. డేవిడ్ J. మలన్: మరియు ఈ సందర్భంలో, కూడా మేము అవసరం అయితే ప్రజలు ఈ మైల్, ఈ సందర్భంలో, ఏ పోర్ట్ అభ్యర్థన వాస్తవానికి వెళ్లాల్సి? మళ్ళీ ప్రయత్నించండి. ఖచ్చితంగా. ఒక సూక్ష్మభేదం అని చూస్తున్నాను, కానీ అక్కడ ఎవరూ గత ఉంది. రాబ్ బౌడెన్: కాబట్టి HTTPS, అది నుండి కోసం ప్రత్యేకంగా వింటూ ఎన్క్రిప్టెడ్, ఇది పోర్ట్ 4430 న ఉంది. ప్రేక్షకులు: ఇమెయిల్స్ 25, కుడి? డేవిడ్ J. మలన్: అవుట్బౌండ్ ఇమెయిల్స్, 25, yep. రాబ్ బౌడెన్: నేను కూడా చాలా తెలియదు - తక్కువ వాటిని అన్ని కూడుకున్నవి విషయాలు కోసం రిజర్వు. నేను ప్రతిదీ క్రింద అనుకుంటున్నాను 1024 ప్రత్యేకించబడింది. ప్రేక్షకులు: మీరు ఎందుకు చెబుతాడు 3 తప్పు సంఖ్య? రాబ్ బౌడెన్: ఎందుకంటే ఒక IP చిరునామా లో, అంకెలు యొక్క నాలుగు బృందాలుగా ఉంది. మరియు వారు 0 నుండి 255 ఉన్నారు. కాబట్టి 192.168.2.1 ఒక సాధారణం స్థానిక నెట్వర్క్ IP చిరునామా. అన్నింటితో 255 కంటే తక్కువ గమనించండి. నేను 300 తో మొదలు, ఆ బహుశా కలిగి కాలేదు సంఖ్యలు ఒకటి. డేవిడ్ J. మలన్: కానీ వెర్రి క్లిప్ నుండి - వారు ఒక కలిగి ఉన్న CSI, ఉంది సంఖ్య చాలా పెద్దది IP చిరునామా కోసం. రాబ్ బౌడెన్: ఈ ఏ ప్రశ్నలు? తదుపరి, కాబట్టి పూర్తి మార్పు అంశం, కానీ మేము ఈ PHP వ్యూహం క్వాడ్ లో ఇళ్ళు. మరియు మేము ఒక క్రమం లేని జాబితా. మరియు మేము ప్రతి జాబితా అంశం ప్రింట్ మీరు కేవలం ఇంటి పేరును కలిగి. కాబట్టి మేము ఒక foreach లూప్ ఉన్నాయి. కాబట్టి వాక్యనిర్మాణం foreach ఉంది, గుర్తు శ్రేణి లో అంశం వంటి శ్రేణి. కాబట్టి లూప్ యొక్క ప్రతి పునరావృతం ద్వారా, ఇంటి ఒకటి తీసుకోవాలనుకుంటున్న అన్నారు శ్రేణి లోపలి విలువలు. మొదటి పునరుక్తి, ఇల్లు కాబోట్ హౌస్ ఉంటుంది. రెండవ మళ్ళా, హౌస్ ఆన్ రెడీ అందువలన న కొరియర్ హౌస్ మరియు. కాబట్టి హౌస్ వంటి ప్రతి క్వాడ్ కోసం, మేము కేవలం ప్రింట్ అన్నారు - మీరు కూడా సమర్ధించాడు కావచ్చు - అప్పుడు జాబితాలో అంశం మరియు హౌస్ యొక్క పేరు ఆపై జాబితా అంశాన్ని దగ్గరగా. వంకర జంట కలుపులు ఇక్కడ వైకల్పికం. మరియు తర్వాత మేము కూడా ప్రశ్న లో చెప్పారు కూడా, మూసివేసి గుర్తుంచుకోండి క్రమం లేని జాబితా ట్యాగ్. కాబట్టి మేము PHP మోడ్ నిష్క్రమించడానికి అవసరం ఈ చేయడానికి లో. లేదా మేము సమర్ధించాడు కావచ్చు క్రమం లేని జాబితా ట్యాగ్ దగ్గరగా. డేవిడ్ J. మలన్: ఇక్కడ కూడా జరిమానా చేస్తాను కోసం పాత ఉపయోగించడానికి ఉన్నాయి = 0 0 ఒక $ i తో లూప్ మరియు ఆరోపణల్లో ఉపయోగించి రే యొక్క పొడవు గుర్తించడానికి. పూర్తిగా మరీ మంచిది, కేవలం కొద్దిగా wordier. ప్రేక్షకులు: మీరు వెళ్ళి ఉంటే [వినబడని], మీరు అని - నేను లూప్ [వినబడని] ఉంది మర్చిపోలేరు. మీరు క్వాడ్ బ్రాకెట్ నేను $ అనుకుంటున్నారా? డేవిడ్ J. మలన్: ఖచ్చితంగా. అవును, సరిగ్గా. రాబ్ బౌడెన్: ఏదైనా? డేవిడ్ J. మలన్: అన్ని కుడి. వినిమయంపై. కాబట్టి సమాధానాలు పుష్పగుచ్ఛాలు ఉన్నాయి ఈ ప్రతి సాధ్యం. మేము నిజంగా కేవలం వెతుకుతున్న ఒక కలత మరియు కోసం సమగ్ర ఏదో ఒక ఇబ్బంది. మరియు సంఖ్య 16 వినియోగదారుల చెల్లుబాటు కోరారు ఇన్పుట్ క్లైంట్ వైపు, జావాస్క్రిప్ట్ తో వంటి, బదులుగా సర్వర్లోని యొక్క, PHP తో వంటి. కాబట్టి ఏమి ఒక పైకి ఉంది చేయడం క్లైంట్ వైపు? Well, మేము ప్రతిపాదిత విషయాలు ఒకటి మీరు జాప్యం తగ్గించే, మీరు ఎందుకంటే సంప్రదించడం ఇబ్బంది లేదు కొన్ని పడుతుంది సర్వర్, ఇది మిల్లీ సెకన్లలో లేదా సెకన్లు ఒక జంట ఆ వాడకమును మరియు కేవలం వినియోగదారుల ఇన్పుట్ క్లైంట్ వైపు ద్వారా నిర్ధారించడంలో ఒక ఆన్ submit నిర్వహణ చెందేందుకు మరియు కేవలం వారు టైప్, చేయలేదు తనిఖీ పేరు కోసం ఏదో? వారు ఏదో టైప్ చేశారా ఇమెయిల్ చిరునామా కోసం లో? వారు నుండి ఒక వసతి ఎంపిక చేయలేదు డ్రాప్ డౌన్ మెను? మీరు వాటిని తక్షణ చూడు ఇస్తుంది గిగాహెర్ట్జ్ కంప్యూటర్ ఉపయోగించి లేదా వారు ఆ చర్యలన్నీ నిజానికి వారి బల్ల మీద. కాబట్టి అది కేవలం ఒక మంచి వినియోగదారు సాధారణంగా అనుభూతి. కానీ క్లైంట్ వైపు చేయడం ఒక ఇబ్బంది ధ్రువీకరణ, మీరు కూడా లేకుండా ఉంటే సర్వర్లోని ధ్రువీకరణ చేయడం అని CS50 యొక్క రావడం చాలా ఎవరైనా తెలుసు మీరు మీకు కావలసిన డేటా పంపగల ఒక సర్వర్కు మార్గాలను ఏ. స్పష్టముగా, చాలా ఏ బ్రౌజర్ లో, మీరు అమరికలలో మరియు కేవలం చుట్టూ క్లిక్ చేయండి JavaScript ఆఫ్, బహుశా, అందువలన, ఏ రూపం యొక్క డిసేబుల్ ధ్రువీకరణ. కానీ మీరు కూడా గుర్తు ఉండవచ్చు కూడా నేను ఉపయోగించి తరగతి లో కొన్ని అద్భుత విషయాలు టెల్నెట్ మరియు నిజానికి వ్యవహరించి గెట్ పంపడం ద్వారా ఒక బ్రౌజర్ ఒక సర్వర్కు అభ్యర్థనలను. మరియు ఆ ఖచ్చితంగా కాదు ఏ JavaScript ఉపయోగించి. ఆ నా ఆదేశాలను టైపు లో ఒక కీబోర్డ్ వద్ద. కాబట్టి నిజంగా, తగినంత లోపల ఏ ప్రోగ్రామర్ వెబ్ మరియు HTTP తో సౌకర్యం అతను లేదా ఆమె కోరుకుంటున్నారు పనులను డేటా పంపవచ్చు ధ్రువీకరణ లేకుండా ఒక సర్వర్కు. మరియు మీ సర్వర్ కూడా తనిఖీ చెయ్యకపోతే, వారు నాకు ఒక పేరు ఇవ్వలేదు, ఉంది ఈ నిజానికి ఒక చెల్లుబాటు అయ్యే ఇమెయిల్ చిరునామా, చేశాడు వారు ఒక వసతి ఎంచుకోండి, మీరు ముగింపు ఉండవచ్చు అప్ ఇన్సర్ట్ బోగస్ లేదా ఖాళీ డేటా మీ డేటాబేస్లో, ఇది బహుశా ఒక మంచి విషయం మాత్రం కాదు ఉంటే మీరు ఉంది భావించి. కాబట్టి ఈ ఒక అసహ్యమైన రియాలిటీ ఉంది. కానీ సాధారణంగా, క్లైంట్ వైపు లో ధ్రువీకరణ చాలా ఉంది. కానీ రెట్టింపు పని అర్థం. వివిధ ఉన్నాయి అక్కడ ఉన్నప్పటికీ లైబ్రరీలను జావాస్క్రిప్ట్ లైబ్రరీలను ఉదాహరణకు,, ఈ చాలా చేసే తలనొప్పితో తక్కువ. మరియు మీరు కోడ్ కొన్ని తిరిగి చేయవచ్చు సర్వర్ వైపు, క్లైంట్ వైపు. కానీ సాధారణంగా గ్రహిస్తున్నారా అదనపు పని. అవును. ప్రేక్షకులు: మేము కేవలం తక్కువ సురక్షితం చెప్పారు - డేవిడ్ J. మలన్: [నవ్వుతూ] హాగ్. ఆ ఎల్లప్పుడూ కష్టం న్యాయనిర్ణయం వాటిని. రాబ్ బౌడెన్: అన్నార్తులకు ప్రత్యామ్నాయ. డేవిడ్ J. మలన్: ఏమిటి? రాబ్ బౌడెన్: నేను ఈ సమస్య రూపొందించినవారు. ఆ ఆదరించి ఉండేవారు. డేవిడ్ J. మలన్: అవును. ప్రేక్షకులు: కూల్. రాబ్ బౌడెన్: కానీ మేము అంగీకరించదు మొదటి ఒకటి - బాగా, మేము వెతుకుతున్న ఉంది మీరు ఇలా లేదు సర్వర్తో కమ్యూనికేట్. మేము వేగంగా అంగీకరించదు. ప్రేక్షకులు: గురించి పేజీ రీలోడ్ లేదు? రాబ్ బౌడెన్: అవును. ఒక అంగీకరించిన బాధేసింది. డేవిడ్ J. మలన్: మేము భావించాడు పేరు ఏదైనా అవకాశం కాదు ఎక్కువగా మీరు ఏం తెలుసు ఒక కఠినమైన ఇది, మాట్లాడుతూ కొన్నిసార్లు డ్రా లైన్. బదులుగా ఒక లింక్ జాబితా ఉపయోగించి నిర్వహించడానికి వ్యూహం ఒక పూర్ణాంకాల జాబితా వేరు. లింక్ తో కాబట్టి వేలాడదీస్తారు మేము తరచుగా cite వారి మొత్తం ప్రేరణ జాబితాలు పరిచయం మీరు చైతన్యానికి పొందండి ఉంది. వారు పెరుగుతాయి. వారు కుదించగలరని. కాబట్టి మీరు హోప్స్ ద్వారా జంప్ లేదు నిజానికి మరింత మెమరీ సృష్టించడానికి వ్యూహం తో. లేదా మీరు లేదు కేవలం చెప్పటానికి, క్షమించండి, వినియోగదారు. శ్రేణి నింపుతారు. జాబితా కాబట్టి డైనమిక్ అభివృద్ధి. లింక్ జాబితాలు అయితే ఒక ఇబ్బంది? ప్రేక్షకులు: ఇది సరళ ఉంది. లింక్ జాబితాలో శోధన సరళ బదులుగా మీరు లాగ్ ఏమి డేవిడ్ J. మలన్: ఖచ్చితంగా. ఒక లింక్ జాబితాలో శోధన సరళ, అది వేరు అయినా, మీరు ఎందుకంటే మాత్రమే ఈ బ్రెడ్ ముక్కలు అనుసరించండి, ఈ గమనికలు, జాబితా ప్రారంభంలో నుండి చివర. మీరు రాండమ్ యాక్సెస్ మరియు పరపతి కాదు, అందువలన, బైనరీ శోధన, ఇది అయినా క్రమబద్ధీకరించబడతాయి, మీరు ప్రవర్తించేవారు వ్యూహం తో. మరియు మరొక ఖర్చు కూడా ఉంది. అవును. ప్రేక్షకులు: మెమరీ అసమర్థంగా? డేవిడ్ J. మలన్: అవును. Well, నేను తప్పనిసరిగా కాదు అసమర్థంగా చెప్పటానికి. కానీ మీరు మరింత మెమరీ ఖర్చు అవుతుంది, మీరు ప్రతి కోసం 32 బిట్స్ అవసరం ఎందుకంటే అదనపు పాయింటర్ కోసం నోడ్ వద్ద ఒక ఒక్కొక్కటిగా లింక్ జాబితా కోసం కనీసం. ఇప్పుడు, మీరు పూర్ణ నిల్వ అయితే మీరు పాయింటర్ జోడించే, ఆ వాస్తవానికి రకమైన కాని అల్పమైన. ఇది మెమరీ మొత్తం రెట్టింపు ఉంది. కానీ నిజానికి, మీరు నిల్వ చేసిన ఒక చూపించే structs యొక్క అనుబంధ జాబితా 8 బైట్లు, 16 బైట్లు, మరింత కంటే, దీనికి తక్కువగా ఒక ఉపాంత వ్యయం యొక్క. కానీ ఏది ఏమి అయినప్పటికీ ఒక ఖర్చు వార్తలు. కాబట్టి వారిలో గాని చేసిన చేస్తుంది దుష్ప్రభావాలు వంటి జరిమానా. 18. రాయడానికి PHP బదులుగా సి ఉపయోగించి ఒక కమాండ్ లైన్ కార్యక్రమం. ఇక్కడ, అది తరచూ ఉపయోగించడం వేగంగా ఒక PHP లేదా రూబీ లేదా పైథాన్ వంటి భాష. మీరు త్వరగా ఓపెన్ ఒక టెక్స్ట్ ఎడిటర్ అప్. మీరు మరిన్ని ఎక్కువ విధులు మీకు అందుబాటులో. PHP విధులు వంటగది సింక్, సి లో, మీరు అయితే చాలా, చాలా తక్కువ. నిజానికి, అబ్బాయిలు హార్డ్ మార్గం తెలుసు మీరు హాష్ పట్టికలు లేని. మీరు జాబితాలు లేదు. ఆ, మీరు ఉంటుంది వాటిని మీరే అమలు. PHP యొక్క కాబట్టి ఒకటి పైకి లేదా నిజంగా ఏ అర్థం భాషను rapidity ఉంది ఇది మీకు కోడ్ వ్రాయగలవు. కానీ ఒక స్థితి, మేము ఈ చూసినపుడు త్వరగా ఒక misspeller అప్ కొరడాతో PHP ఉపయోగించి ఉపన్యాసంలో అమలు, ఉంది ఒక అర్థం భాషను ఉపయోగించి సాధారణంగా నెమ్మదిగా ఉంది. మరియు మేము ఒక తో ఉన్నంతమాత్రాన గమనించాను 3 0.3 సెకన్ల నుంచి సమయంలో పెంచడానికి ఎందుకంటే వ్యాఖ్యానం సెకన్లు, వాస్తవానికి జరుగుతుంది. మరో పైకి ఉంది మీరు ఆ కంపైల్ లేదు. కాబట్టి అది కూడా అభివృద్ధి వేగం యాదృచ్ఛికంగా, మీరు లేదు ఎందుకంటే ఒక ప్రోగ్రామ్ను అమలు రెండు దశలను. మీరు కేవలం ఒక కలిగి. కాబట్టి ఆ అందంగా అనిపిస్తుంది బలవంతపు అలాగే. ఒక SQL డేటాబేస్ ఉపయోగించి బదులుగా డేటా నిల్వ ను. కాబట్టి SQL డేటాబేస్ pset7 కోసం ఉపయోగిస్తారు. CSV ఫైళ్లు మీరు చాలా ఉపయోగించడానికి లేదు. కానీ మీరు pset7 లో పరోక్షంగా ఉపయోగించారు బాగా యాహూ ఫైనాన్స్ మాట్లాడటం. కానీ CSV కేవలం Excel ఫైల్ వంటి కానీ సూపర్ సాధారణ, నిలువు ఎక్కడ కేవలం లోపల కామాలతో demarked ఒక లేకపోతే టెక్స్ట్ ఫైలు యొక్క. మరియు ఒక SQL డేటాబేస్ ఉపయోగించి ఉంది కొంచెం సమగ్ర. మీరు విషయాలు పొందండి ఎందుకంటే ఇది, ఒక పైకి ఉంది వంటి ఎంచుకోండి మరియు ఇన్సర్ట్ మరియు తొలగించడం. మరియు మీరు, బహుశా, సూచికలు పొందండి MySQL మరియు వంటి ఇతర డేటాబేస్, ఒరాకిల్, మెమరీలో మీరు కోసం నిర్మించడానికి, ఇది మీ ఎంపిక బహుశా కాదు అర్థం దిగువ సరళ టాప్ మాత్రం. ఇది నిజానికి ఏదో చేస్తాడు బైనరీ శోధన లేదా ఏదో వంటి ఆత్మ లో మాదిరిగా. కాబట్టి వారు వేగంగా ఉన్నారు. కానీ ఒక స్థితి ఉంది ఇది కేవలం మరింత పని. ఇది మరింత ప్రయత్నం ఉంది. మీరు డేటాబేస్ అర్థం ఉంటుంది. మీరు ఏర్పాటు ఉంటుంది. మీరు అమలు సర్వర్ అవసరం ఆ డేటాబేస్. మీరు అర్థం చేసుకోవాలి అది ఆకృతీకరించుటకు ఎలా. కాబట్టి ఈ కేవలం ఈ విక్రయాల్లో రకాల. ను, మీరు అయితే gedit సృష్టించడం. మరియు మీరు అన్నిటికి ఉన్నాము. ఆ మించి ఏ సంక్లిష్టత ఉంటుంది. బదులుగా ఒక హాష్ పట్టిక ఒక trie ఉపయోగించి నిల్వ ప్రత్యేక కూర్పికం ఒక స్మృతిగా పదాల నిఘంటువు Pset5 యొక్క. కాబట్టి ఒక సిద్ధాంతంలో, పైకి ప్రయత్నిస్తుంది కనీసం, ఏమిటి? స్థిర సమయం, కనీసం మీరు అయితే వ్యక్తిగత ప్రతి హ్యాషింగ్ మీ వంటి ఒక పదం లో అక్షరాలు, Pset5 కోసం ఉండవచ్చు. ఆ ఐదు hashes, ఆరు కావచ్చు ఐదు లేదా ఆరు ఉంది ఉంటే hashes పదం లో అక్షరాలు. మరియు ఆ కాదాయె. మరియు ఒక ఉన్నత ఉంది ఉంటే ఎలా దీర్ఘ మీ పదాలు చెయ్యదగిన, ఆ నిజానికి asymptotically స్థిరంగా సమయం. అయితే ప్రత్యేక ఒక హాష్ పట్టిక ఆ తో అక్కడ, సమస్య కూర్పికం డేటా నిర్మాణం రకం అని మీ అల్గోరిథంలు యొక్క ప్రదర్శన సాధారణంగా విషయాలు సంఖ్య ఆధారపడి ఇప్పటికే డేటా నిర్మాణం లో. మరియు ఆ ఖచ్చితంగా తో కేస్ గొలుసులు, అనగా మీరు చాలు మరింత stuff ఒక హాష్ పట్టిక లోకి ఇక ఆ గొలుసులు చెత్త లో అంటే, వెళ్ళి కేసు, మీరు వెతుకుతున్న ఉండవచ్చు విషయం అన్ని మార్గం ఒక చివర ఉంది ఆ గొలుసులు, ఇది సమర్థవంతంగా సరళ ఏదో లోకి devolves. ఇప్పుడు, ఆచరణలో, ఖచ్చితంగా జరిగింది ఒక హాష్ పట్టిక ఉంటుంది గొలుసులు ఒక కన్నా వేగంగా ఉంది trie అమలు. కానీ మధ్య, వివిధ కారణాల వలన వార్తలు ప్రయత్నాలు యొక్క మొత్తం చాలా ఉపయోగించడానికి ఇవి మెమరీ చేసే, నిజానికి, నెమ్మదిగా విషయాలు డౌన్, మీరు nice పొందలేరు ఎందుకంటే చేజింగ్ అనే ప్రయోజనాలు, పేరు దగ్గరగా కలిసి ఉండే విషయాలు మెమరీలో ప్రాప్తి చేయవచ్చు తరచుగా త్వరగా. కొన్నిసార్లు మీరు ఆలోచన చేయవచ్చు ఒక నిజంగా మంచి హాష్ విధి. మీరు ఒక బిట్ వృధా కూడా మెమరీ, మీరు, నిజానికి, చేయగలరు ఫాస్ట్ మరియు విషయాలు కనుగొనేందుకు వంటి చెడు వంటి సరళంగా. కాబట్టి చిన్న లో, తప్పనిసరిగా లేదు ఈ ఒకటి లేదా రెండు ఏ మేము వెతుకుతున్న నిర్దిష్ట విషయాలు. ఒప్పించే నిజంగా ఏదైనా ఒక కలత మరియు ఇబ్బంది వంటి సాధారణంగా మా దృష్టిని ఆకర్షించింది. రాబ్ బౌడెన్: కాబట్టి పైకి కోసం, మేము సొంతంగా అంగీకరించకపోతే "వేగంగా." మీరు దాని గురించి ఏదో చెప్పటానికి కలిగి. మీరు సిద్ధాంతపరంగా వేగంగా చెప్పారు కూడా, మీరు రకమైన అర్థం తెలుసు ఇది 1 యొక్క 0 అని. మరియు హాష్ పట్టిక, సిద్ధాంతం లో, 1 0 కాదు. Runtime గురించి ఏదైనా ప్రస్తుతించారు సాధారణంగా పాయింట్లు మీరు వచ్చింది. కానీ "వేగంగా," పరిష్కారాలు అత్యంత న ప్రయత్నాలు ఉండేవి అని పెద్ద బోర్డు SOLUTIONS కంటే నిష్పక్షపాతంగా నెమ్మదిగా హాష్ పట్టికలు ఉన్నాయి. కాబట్టి వేగంగా మరియు యొక్క నిజంగా నిజం కాదు. డేవిడ్ J. మలన్: డోమ్ డి dom dom. నేను బహుశా గుర్తిస్తాడు మాత్రమే ఒక ఉన్నాను ఆ కోరుకుంటున్నాము ఎలా ఉంది కుడి, పలకాలి? రాబ్ బౌడెన్: నేను నిజంగా తెలియదు. డేవిడ్ J. మలన్: ఇది తయారు నా తల లో భావన. రాబ్ బౌడెన్: నేను ఈ ఒక చేస్తున్నాను. OK. కాబట్టి ఈ మీరు డ్రా వచ్చింది పేరు ఒకటి మీలాంటి రేఖాచిత్రం వాటిని గత పరీక్షలలో చూసిన. కాబట్టి యొక్క ఈ చూద్దాం. కాబట్టి HTML నోడ్ నుండి, మేము రెండు పిల్లలు, తల మరియు శరీర. కాబట్టి మేము శాఖ - తల మరియు శరీర. తల ఒక శీర్షిక టాగ్ ఉంది. కాబట్టి మేము శీర్షిక. ఇప్పుడు, ఒక విషయం ప్రజలు చాలా మర్చిపోయాను పాఠ్య నోడ్స్ అని ఈ చెట్టు ఎలిమెంట్లను. కాబట్టి ఇక్కడ ovals వంటి వాటిని డ్రా జరిగే ఈ నుండి భేదం ల రకాల. కానీ నోటీసు కూడా ఇక్కడ మేము టాప్ కలిగి, మధ్య మరియు దిగువ అప్ ముగుస్తుంది టెక్స్ట్ నోడ్స్. కాబట్టి ఆ మర్చిపోకుండా కొంతవరకు ఉంది ఒక సాధారణ తప్పు. శరీరం మూడు పిల్లలు - ఈ మూడు divs. కాబట్టి div, div, div ఆపై టెక్స్ట్ ఆ divs యొక్క నోడ్ పిల్లలు. ఇది చాలా ఉంది ప్రశ్నలు కోసం. డేవిడ్ J. మలన్: మరియు అది పేర్కొంది ఉపయోగకరమని, మేము ఈ నివసించు లేదు అయినప్పటికీ మేము ఖర్చు సమయంలో వివరాలు ఆర్డర్ చేసే జావాస్క్రిప్ట్,, లో నిజానికి, విషయం సాంకేతికంగా. కాబట్టి తలపై శరీరం ముందు వస్తే HTML, దానికి కనిపిస్తాయి అసలు DOM లో శరీర వదిలి. తన, కేవలం FYI, సాధారణంగా, అని పత్రం క్రమంలో అనే పేరు అది అవసరం. మరియు మీరు ఒక పార్సర్ అమలు ఉంటే, భవనం లో HTML చదివే ఒక కార్యక్రమం మెమరీలో చెట్టును, నిజాయితీ ఉండాలి, బహుశా intuitively ఏది మీరు ఎలాగైనా - పైనుంచి, ఎడమ. రాబ్ బౌడెన్: ఆ ప్రశ్నలకు? నేను తదుపరి ఏమి చేయాలి? డేవిడ్ J. మలన్: ఖచ్చితంగా. రాబ్ బౌడెన్: OK. కాబట్టి ఈ ఆక్రమిత బఫర్ దాడి ప్రశ్న. ఇక్కడ గుర్తించడానికి ప్రధాన విషయం, ఉంది బాగా, ఎలా వాటిని శత్రువులు ట్రిక్ అమలు లోకి ఈ కార్యక్రమం అనియత కోడ్? కాబట్టి argv1, మొదటి కమాండ్ లైన్ ఈ కార్యక్రమానికి వాదన, ఆ ఉంటుంది ఏకపక్ష పొడవైన. కానీ ఇక్కడ మేము కాపీ memcpy ఉపయోగిస్తున్నట్లయితే argv1, ఇది ఇక్కడ బార్. మేము వాదన గా అక్కడ. మరియు అందువలన పేరు బార్ లో తీసుకొని. కాబట్టి మేము బార్ memcpying చేస్తున్నారు ఈ బఫర్ సి లోకి. తక్కినవి బైట్లు కాపీ చేయబడతాయి? బాగా అయితే అనేక బైట్లు బార్ నిర్మాణము , ఆ వాదన పొడవు ఉపయోగించి. కానీ సి మాత్రమే 12 బైట్లు వెడల్పు ఉంది. కాబట్టి మేము ఒక కమాండ్ లైన్ వాదన టైప్ 12 బైట్ల కంటే ఎక్కువ ఉంది, మేము ఈ ఓవర్ఫ్లో అన్నారు ప్రత్యేక బఫర్. ఇప్పుడు, ఎలా శత్రువులు మోసపూరిత ఉండవచ్చు అనియత కోడ్ అమలు లోకి ప్రోగ్రామ్? కాబట్టి ఇక్కడ గుర్తు ప్రధాన foo కాల్. కాబట్టి అప్పుడు ప్రధాన కాల్స్ foo. యొక్క ఈ డ్రా లెట్. కాబట్టి మేము మా స్టాక్ కలిగి. మరియు ప్రధాన ఒక స్టాక్ ఫ్రేమ్ ఉంది దిగువన. కొన్ని సమయంలో, ప్రధాన కాల్స్ foo. బాగా, వెంటనే, ప్రధాన కాల్స్ foo. కాబట్టి foo తన సొంత స్టాక్ ఫ్రేమ్ పొందుతాడు. ఇప్పుడు, కొన్ని పాయింట్ వద్ద, foo తిరిగి అన్నారు. మరియు foo తిరిగి వెళ్లి, మేము తెలుసుకోవాలి ప్రధాన మేము లోపలి ఏమి కోడ్ లైన్ తెలుసుకోవటానికి ఉన్న మేము ప్రధాన లో రెస్యూమ్ చేయాలి. మేము ఒక మొత్తం నుండి foo కాల్ చేయవచ్చు వివిధ ప్రదేశాలలో కొంత. ఎలా మేము ఇక్కడ తిరిగి తెలుసు? Well, మేము ఎక్కడో నిల్వ చేయాలి. సో ఎక్కడా కుడి ఇక్కడ, మేము నిల్వ మేము ఒకసారి తిరిగి ఉండాలి పేరు foo తిరిగి. మరియు ఈ తిరిగి చిరునామా ఉంది. కాబట్టి ఎలా శత్రువులు ప్రయోజనాన్ని ఉండవచ్చు ఈ నిజానికి అని ఈ బఫర్ సి నిల్వ, వీలు యొక్క ఇక్కడే సి, చెప్పడానికి. కాబట్టి మేము సి కోసం 12 బైట్లు పొందారు. ఈ సి ఉంది. మరియు ఈ foo యొక్క స్టాక్ రింగ్ ఉంది. హానికరమైన వినియోగదారు మరిన్ని ప్రవేశిస్తుంది కాబట్టి ఉంటే 12 కంటే బైట్లు లేదా వారు ఆదేశాన్ని నమోదు 12 కంటే ఎక్కువ అని లైన్ వాదన అక్షరాలు, అప్పుడు మేము చూడాలని ఈ బఫర్ ఓవర్ఫ్లో. మేము కొనసాగించడాన్ని చేయవచ్చు. మరియు కొన్ని సమయంలో, మేము చాలా వెళ్ళండి మీరైతే తగినంత ఈ తిరిగి చిరునామా తిరిగి రాయటం. కాబట్టి ఒకసారి మేము, తిరిగి చిరునామా తిరిగి రాస్తుంది అంటే ఉన్నప్పుడు foo తిరిగి, మేము ఎక్కడ తిరిగి చేస్తున్నారు హానికరమైన వినియోగదారు ద్వారా చెప్తుంటాడు ఇది వస్తువు ద్వారా, ఎంటర్ సంసార విలువ అక్షరాలు వినియోగదారు ఎంటర్. కాబట్టి హానికరమైన యూజర్ ఉండటం ఉంటే ముఖ్యంగా తెలివైన, అతను ఈ కలిగి printDef ఎక్కడో తిరిగి ఫంక్షన్ లేదా malloc ఎక్కడో ఫంక్షన్, కేవలం ఎక్కడైనా ఏకపక్ష. అతను ఉంది అయితే మరింత తెలివైన ఉంది యూజర్ ఇక్కడే తిరిగి. ఆపై మీరు అమలు ప్రారంభించిన ఈ కోడ్ రేఖలు వంటి. కాబట్టి ఆ సమయంలో, యూజర్ నమోదు చేయవచ్చు అతను ఈ ప్రాంతంలో కోరుకుంటున్నారు పనులను. మరియు అతను పూర్తి నియంత్రణ కలిగి ఉంది మీ కార్యక్రమమును. ఆ ప్రశ్నలకు? తరువాత ప్రశ్న పూర్తయింది విధంగా foo యొక్క అమలుని ఇది ఇకపై అవకాశం అని. కాబట్టి మార్గాలు ఉంది మీరు ఈ చేసిన కాలేదు. మేము ఇంకా మాత్రమే సి కలిగి పొడవు 12 ఉండటం. ఈ మార్చిన కాలేదు మీ పరిష్కారం భాగంగా. మేము కూడా చేయడానికి ఒక చెక్ జోడించారు ఖచ్చితంగా బార్ శూన్య కాదు. మీరు అవసరం లేదు అయితే పూర్తి క్రెడిట్ కోసం. కాబట్టి మేము మొదటి తనిఖీ చేస్తున్నాము బార్ యొక్క స్ట్రింగ్ పొడవు. అది, 12 కంటే ఎక్కువ ఉంటే నిజానికి ప్రతిని లేదు. కాబట్టి అది ఫిక్సింగ్ ఒక మార్గం. దీన్ని పరిష్కరించడానికి మరో మార్గం బదులుగా సి కలిగి మాత్రమే పొడవు 12 ఉంటుంది, ఇది కలిగి పొడవు strlen (బార్) యొక్క ఉంటుంది. దీన్ని పరిష్కరించడానికి మరో మార్గం నిజానికి తిరిగి. కాబట్టి మీరు అన్ని వదిలించుకోవటం సంపాదించిన ఉంటే ఈ, మీరు అన్ని తొలగించిన ఉంటే లైన్స్ ఆఫ్ కోడ్, మీరు సంపాదించిన ఉండేది పూర్తి క్రెడిట్, ఈ ఫంక్షన్ నుండి నిజానికి దేనినీ సాధించదు. ఇది కమాండ్ లైన్ కాపీ యొక్క కొన్ని శ్రేణి వాదన దాని స్థానిక స్టాక్ ఫ్రేమ్. ఆపై విషయం తిరిగి. మరియు అది సాధించిన వెళ్లిపోయిన. కాబట్టి తిరిగి కూడా ఒక సరిపోతుందని పూర్తి క్రెడిట్ పొందడానికి మార్గం. డేవిడ్ J. మలన్: కాదు ఆత్మ యొక్క ప్రశ్న శాతం ఆమోదయోగ్యమైన అయితే స్పెక్. రాబ్ బౌడెన్: ఏ ప్రశ్నలకు? ఒక విషయం మీరు కనీసం కోడ్ కంపైల్ చేశారు అవసరమైన. సాంకేతికంగా మీరు కాదు కాబట్టి అయినప్పటికీ అవకాశం మీ కోడ్ కాకపోతే కంపైల్, మేము ఆ అంగీకరించదు. ఏ ప్రశ్నలు? OK. డేవిడ్ J. మలన్: మీరు అనుకుంటున్నారా ఈ శీర్షికను చెప్పడానికి? రాబ్ బౌడెన్: నం డేవిడ్ J. మలన్: ఈ ఒక, ఈ శుభవార్త లేదా దుర్వార్త గాని. ఈ అక్షరాలా అదే సమస్య మొదటి క్విజ్ వంటి. మరియు అది దాదాపు సేమ్ pset1 సమస్య. కానీ ఉద్దేశపూర్వకంగా ఉండాలి సరళీకృత ఒక సులభమైన పిరమిడ్, ఉండాలనే ఒక ఒక కొద్దిగా పరిష్కరించింది సులభమైన మళ్ళా. మరియు నిజంగా, మనం వద్ద పొందుతున్న ఇక్కడ, చాలా తర్కం కాదు బహుశా, ఈ సమయానికి, మీరు ఎందుకంటే మీరు కంటే మరింత సౌకర్యవంతమైన ఉచ్చులు లేదా ఎందుకు ఉచ్చులు కోసం వారం ఒక, కానీ నిజంగా ఆ వేరుగా బాధించటం మీరు కొద్దిగా సౌకర్యవంతమైన PHP కేవలం ఏం కాదు భావనను ప్రోగ్రామింగ్. ఇది నిజానికి ఒక భాషగా ఉపయోగించవచ్చు కమాండ్ లైన్ కార్యక్రమాలు రాయడానికి. నిజానికి, మేము ప్రయత్నిస్తున్న ఏమిటి మీ దృష్టికి డ్రా. ఈ కమాండ్ లైన్ PHP కార్యక్రమం. ఇక్కడ సి కోడ్, సరైన సి లో, PHP కోసం సరైనది కాదు. కానీ కోడ్ నిజంగా అదే ఉంది. మీరు క్విజ్ పరిష్కారాలను పోల్చి ఉంటే క్విజ్ 1 వ్యతిరేకంగా 0, మీరు పొందుతారు ఇది తప్ప, దాదాపు ఒకేలా కొన్ని డాలర్ సైన్స్ మరియు కోసం ఒక డేటా రకం లేకపోవడం. ముఖ్యంగా, మేము ఇక్కడ పరిశీలించి ఉంటే, మీరు ఈ లో, మేము iterate చూస్తారు కేసు, 1 నుండి 7 ద్వారా అప్. మేము 0 సూచిక పూర్తి కాలేదు ఉన్నాయి. కానీ కొన్నిసార్లు, నేను కేవలం అని విషయాల గురించి ఆలోచించడం మానసికంగా సులభంగా 1 నుండి 7 వరకు. మీరు ఒక బ్లాక్ కోరుకుంటే, రెండు బ్లాక్స్, మూడు, అప్పుడు డాట్, డాట్, ఏడు డాట్. మేము 1 జె initialized చేస్తున్న మరియు నేను వరకు లెక్కింపు. మరియు ఇక్కడ ప్రతిదీ ఉంది లేకపోతే ఒకేలా. కానీ గమనిక విశ్వసనీయంగా ఉంటాయి విషయాలను. మీరు ఈ రెండు పంక్తులు ఈ మొదటి ఇవ్వాలని goofily ఒక shebang వంటి అనే ఒక, పదునైన బ్యాంగ్ కోసం. మరియు కేవలం మార్గం నిర్దేశిస్తుంది, ఒక కార్యక్రమం ఉంటుంది దీనిలో ఫోల్డర్, మీరు మీరు ఉపయోగించడానికి కనుగొన్నారు ఈ ఫైల్ అనువదించేందుకు. మరియు ఆ తర్వాత లైన్, కోర్సు, PHP మోడ్ ఎంటర్ అర్థం. మరియు చాలా దిగువన లైన్ నిష్క్రమణ PHP మోడ్ అంటే. మరియు ఈ తో, సాధారణంగా, పనిచేస్తుంది భాషలు అర్థం. మీరు వ్రాస్తే అది బాధించే రకం ఉంది ఒక foo.php అనే ఫైల్ లో కార్యక్రమం. ఆపై మీ వినియోగదారులు కలిగి కేవలం , ఈ కార్యక్రమం అమలు, OK, గుర్తు నేను టైప్ ఉంటుంది "php స్పేస్ foo.php." కైండ్ గత్యంతరం ఉంటే బాధించే యొక్క. మరియు అది కూడా వెల్లడి మీ ప్రోగ్రామ్ అన్ని కాదు PHP, వ్రాయబడిన ఆ యూజర్ కోసం ప్రకాశ. కాబట్టి మీరు పూర్తిగా. Php తొలగించవచ్చు ఉపన్యాసం నుండి గుర్తు. మరియు మీరు నిజంగా. / Foo చేయవచ్చు ఉంటే మీరు ద్వారా ఇది chmodded చేసిన executable. కాబట్టి chmod ఒక + x foo ఆ పని చేస్తుంది కలిగి. మరియు మీరు కూడా shebang ఇక్కడ జోడిస్తే. కానీ నిజంగా, సమస్య వద్ద చదువుతున్న ఈ వంటి ఏదో ముద్రించిన. ఏ HTML, ఖచ్చితంగా ఏ C-కోడ్, కొన్ని PHP. కాబట్టి మీలో అప్పుడు సమస్య 25 లో తిరిగి. మరియు 25 లో, మీరు క్రింది ఇవ్వబడింది ఒక ఇది అస్థిపంజరం కోడ్, అందమైన సాధారణ వెబ్ పేజీ. మరియు జ్యుసి భాగం HTML వారీగా ఉంది ఇక్కడ, మేము శరీరం లోపలి పేరు ప్రవేశాంశాల ఏకైక ID ఉంది ఒక రూపం ఇది లోపలి రెండు ఇన్పుట్లను, ఒకటి పేరు, ఒక ఒక ఆలోచన తో బటన్ ఒక ఆలోచన తో. మొదటి, రకం టెక్స్ట్ ఉంది రకం రెండవ submit. కాబట్టి మేము, నిజానికి, మరింత మీరు ఇచ్చిన మీరు కాబట్టి, అవసరమైన కంటే పదార్థాలు మీరు అబ్బాయిలు ఇది ఎంపికలు కలిగి ఈ సమస్యను పరిష్కరించడానికి. మీరు ఖచ్చితంగా అవసరం లేదు ఈ ID ల అన్ని. కానీ మీరు పరిష్కరించడానికి అనుమతిస్తుంది ఇది రకాలుగా. మరియు అప్ ఎగువన గమనించవచ్చు ఆ లక్ష్యం ట్రిగ్గర్ ఉంది ఈ వంటి ఒక విండో - హలో, మీలో! - ఉపయోగించి బ్రౌజర్ పాపప్ ఉంటే, సూపర్ సాధారణ అగ్లీ కాదు, హెచ్చరిక ఫంక్షన్. కాబట్టి, చివరికి, ఈ దిమ్మల సందర్భానుసారంగా ఏదో వినడం కు రూపం క్లైంట్ వైపు యొక్క సమర్పణలు , ఏదో కాదు సర్వర్ వైపు, ద్వారా ఆ సమర్పణ ప్రతిస్పందించడానికి యూజర్ టైప్ ఆ విలువ ఈడ్చడం పేరు రంగంలో కు, ఆపై ఆలర్ట్ యొక్క శరీరం లో ప్రదర్శించారు. కాబట్టి మీరు చేయవచ్చు ఒక మార్గం ఉంది కొద్దిగా పెడుతుంది j క్వెరీ, మొదటి వద్ద పదము perplexing. మీరు స్వచ్ఛమైన DOM కోడ్ తో చేయవచ్చు - ID ద్వారా document.getelement. కానీ యొక్క ఈ వెర్షన్ పరిశీలించి వీలు. నేను ముఖ్యమైన జంట పంక్తులు మొదటి. కాబట్టి, మేము ఇది, ఈ లైన్ కలిగి మీరు చూసిన ఉండవచ్చు సమానంగా నేను నమ్మకం, లో, form2.html వారం 9 లో తరగతి నుండి. మరియు ఈ కేవలం అమలు, అని క్రింది కోడ్ ఉన్నప్పుడు పత్రం సిద్ధంగా ఉంది. ఈ ముఖ్యమైనవని మాత్రమే ఎందుకంటే HTML పేజీలకు టాప్ చదివే ఎడమ దిగువ,. కనుక, మీరు చేయడానికి ప్రయత్నిస్తే, కొన్ని DOM వరకు ఇక్కడ కోడ్ లో ఏదో మూలకం, కొన్ని HTML ట్యాగ్, డౌన్ ఉంది ఇక్కడ, మీరు చాలా త్వరగా చేయుచున్నారు, ఈ కూడా ఎందుకంటే మెమోరీలోకి జరిగింది. కాబట్టి ఈ document.ready చెప్పి లైన్, మేము ఉన్నాము, ఇక్కడ కొన్ని కోడ్, బ్రౌజర్. కానీ మొత్తం వరకు ఈ అమలు లేదు పత్రం సిద్ధంగా ఉంది, ఆ DOM ఉంది చెట్టు మెమరీ ఉంది. ఈ ఒక కొద్దిగా ఎక్కువగా ఉంది పదము ఉంటే, సూటిగా భిన్నమైనది, నేను చెప్పడం నేను పేరు, లాగు దీని ఏకైక HTML మూలకం గుర్తింపు ఇన్పుట్లను ఉంది. ఆ ఏమి హాష్ పేరే , ఏకైక ID సూచిస్తుంది. ఆపై నేను కాల్ వెబ్. Submit. కాబట్టి. ఇక్కడ submit ఒక ఫంక్షన్ లేకపోతే, ఉంది ఒక పద్ధతి అని అంటారు, ఆ ఎడమ వైపు వస్తువు యొక్క లోపల నేను హైలైట్ లేదని అక్కడ వైపు. మీరు ఒక వస్తువు వంటి ప్రవేశాంశాల భావిస్తున్నాను ఉంటే మెమరీలో - మరియు నిజానికి ఇది భావిస్తాడు. ఇది ఒక చెట్టు ఒక నోడ్ - . అంటే సమర్పించినప్పుడు ఈ రూపం ఈ ID సమర్పించిన, అమలు క్రింది కోడ్. నేను పట్టించుకోను ఏమి పేరు ఫంక్షన్ నేను అమలు వెబ్ ఉంది. ఇక్కడ నేను ఏది, ముందు, ఉపయోగించి వెబ్ లాంబ్డా ఫంక్షన్ లేదా ఒక పిలుస్తారు అజ్ఞాత ఫంక్షన్. ఇది అన్ని వద్ద తెలివైన కాదు ఇది పేరు లేదు ఆసక్తికరమైన ఇతర కంటే, మీరు మాత్రమే అయితే జరిమానా ఇది ఒకసారి కాల్ వెళుతున్న. మరియు లోపల అక్కడ నిజానికి నిర్వహించడానికి రూపం సమర్పణ. నేను మొదటి వేరియబుల్ విలువ అని. మరియు ఈ ప్రభావం ఏమిటి ఇక్కడ భాగం ఇప్పుడు హైలైట్? ఒక వద్ద ఏమి చేస్తుంది నాకు అధిక స్థాయి? ప్రేక్షకులు: ఇది విలువ అందుతుంది అని యూజర్ క్రింద HTML లో కాదు. ఇది ఆ ID పొంది ఇది విలువ తెలుసుకుంటాడు. డేవిడ్ J. మలన్: ఖచ్చితంగా. ఇది దీని ఏకైక, నోడ్ పనిచేయకుండా గుర్తింపు పేరు. ఇది, దానిలో విలువ తీసుకుంటున్న ఉంది, బహుశా, ఏ యూజర్ అతని లేదా ఆమె టైప్. అది నిల్వ లో వేరియబుల్ విలువ అని. ఒక పక్కన, మీరు కూడా కలిగి భిన్నంగా ఈ చిన్న చేసిన. దానిని చేయడం ఆమోదయోగ్యం అబద్ధం var విలువను పొందుతాయి document.getElementById. ఇది కొద్దిగా వై మరియు ఈ ఉంది j క్వెరీ ఉపయోగించడానికి లేదు దుర్భరమైన. "పేరు". విలువ. కాబట్టి ఆమోదయోగ్యం. దీన్ని రకాలుగా. j క్వెరీ కేవలం కొంచెం క్లుప్తమైన మరియు ఉంటుంది ఖచ్చితంగా ఎక్కువ జనాదరణ ప్రోగ్రామర్ల మధ్య. ఇప్పుడు, నేను ఒక తెలివి యొక్క ఒక బిట్ చేయడం వెబ్ ఎందుకంటే సమస్య లో, తనిఖీ ప్రకటన మేము స్పష్టంగా చెప్పారు ఉంటే వినియోగదారు ఇంకా టైప్ అయితే అతని లేదా ఆమె ఒక హెచ్చరికలు చూపవద్దు, పేరు. కానీ మీరు ద్వారా, ఆ తనిఖీ చేయవచ్చు ఒక కోసం ఖాళీ స్ట్రింగ్ కోసం తనిఖీ ఉంది ఉంటే కోట్-unquote వాస్తవానికి అక్కడ ఏమీ. కానీ కోట్-unquote సమానం కాదు ఉంటే, నేను హెచ్చరికలు ప్రయోగించాను. మరియు ఇక్కడ ఆసక్తికరమైన భాగం మేము, ప్లస్ ఆపరేటర్లు ఉపయోగిస్తున్నట్లయితే ఇది జావాస్క్రిప్ట్ లో దేనిని? Concatenate. కనుక ఇది PHPs డాట్ ఆపరేటర్లు వంటిది. అదే ఆలోచన, కొద్దిగా వివిధ సింటాక్స్. మరియు నేను స్ట్రింగ్ సృష్టించడం నేను ఆ మీరు స్క్రీన్ షాట్ చూసిన - హలో, అదే విధంగా. మరియు తర్వాత గత వివరాలు ఈ ఉంది. నేను తప్పుడు లోపల తిరిగి చెయ్యాలి ఈ తెలియని ఫంక్షన్? ప్రేక్షకులు: విలువ ఉంది. మీరు రూపంలో ఉంచారు. విలువ కాదు ఉంటే ఇది కేవలం, చెప్పారు ఖాళీ సమానంగా, అప్పుడు అది. ఆ సమర్పణ లో ఒక ఖాళీ ఉంది. డేవిడ్ J. మలన్: సరే. అయితే జాగ్రత్తగా. ఇక్కడ ఎవరూ ఉంది. మరియు ఆ తిరిగి తప్పుడు బయట ఉంది పరిస్థితులు ఉంటే. కాబట్టి ఈ, తప్పుడు తిరిగి, లైన్ హైలైట్ ఎవైనా ఉన్నప్పుడు అమలు సమర్పించిన. ఈ తప్పుడు లోపల తిరిగి లేదు అది అని కార్యక్రమం నిర్వహణ, ప్రశ్న లో ఈవెంట్ సమర్పణ ఉండటం? ప్రేక్షకులు: ఎందుకంటే ఒక్కసారి మాత్రమే జరుగుతుంది. డేవిడ్ J. మలన్: ఒక్కసారి మాత్రమే జరుగుతుంది. కాదు. అవును? ప్రేక్షకులు: ఇది ఏర్పడేందుకు నిరోధిస్తుంది , డిఫాల్ట్ ప్రవర్తన సమర్పించడం పేజీ రీలోడ్ చేసే. డేవిడ్ J. మలన్: ఖచ్చితంగా. నేను, పదం ఇక్కడ submit ఓవర్లోడింగ్ వెబ్ నేను చెప్పడం నేను ఎందుకంటే, రూపం సమర్పించడం. మీరు సూచించినట్లు కానీ, నిజానికి కాదు నిజమైన HTTP విధంగా సమర్పించబడింది. మీరు ఎందుకంటే, సమర్పించండి క్లిక్ చేసినప్పుడు మా onSubmit నిర్వహణ, మేము అంతరాయం చేస్తున్నారు ఆ రూపం సమర్పణ మాట్లాడటానికి. మేము అప్పుడు మా పనిని చేస్తున్న జావాస్క్రిప్ట్ కోడ్ తో. కానీ నేను ఉద్దేశపూర్వకంగా, తప్పుడు తిరిగి నేను నేను జరిగే అనుకుంటున్న ఎందుకంటే ఒక స్ప్లిట్ సెకండ్ తరువాత మొత్తం రూపం కోసం ఉంది కూడా వెబ్ సమర్పించిన మార్చడం ద్వారా కీ విలువ జతల తో సర్వర్ లాగ URL q = పిల్లులు లేదా ఎలాగైనా మేము, ఉదాహరణకు, తరగతి లో. నేను, జరిగే ఆ వద్దు ఎందుకంటే తరాలకి సర్వర్ వినే ఉంది సమర్పణ ఏర్పాటు. ఇది పూర్తిగా జావాస్క్రిప్ట్ కోడ్ చేసిన. నేను కూడా లేదు ఎందుకు మరియు ఆ ఒక చర్య, నా రూపం న లక్షణం ఎందుకంటే నేను ఈ కోసం అనుకోకుంటే ఎప్పుడూ సర్వర్ వెళ్ళండి. కనుక ఇది సమర్పించిన చేయబడిన. కానీ మేము ఆ రూపం అంతరాయం చేస్తున్నారు సమర్పణ సిద్ధ నివారించడం వాస్తవానికి ఇది ప్రవర్తన, అన్ని మార్గం సర్వర్ వెళ్ళండి. ప్రేక్షకులు: ఇది క్లైంట్ వైపు ఉంచడం. డేవిడ్ J. మలన్: కీపింగ్ ఇది క్లైంట్ వైపు. సరిగ్గా కుడి. తర్వాత MySQL ఓహ్ మై ఉంది. రాబ్ బౌడెన్: OK. కాబట్టి ఈ మొదటి ప్రశ్న సాధారణంగా ఉంది ప్రజలకు కఠినమైన. తరువాత వాటిని మంచి దక్కాయి. కాబట్టి మీరు సరైన డేటా ఎంచుకోండి వచ్చింది ఈ వ్యాసాల రెండు కోసం రకాల. మరియు ఈ రెండు కొన్ని వాటిని గురించి విషయాలు ఎంపిక కష్టతరం. కాబట్టి Int ఒక చెల్లదు సంఖ్య కోసం టైప్. ఒక 12 అంకెల ఖాతా ఉండటం కారణం సంఖ్య, ఒక Int తగినంత పెద్ద కాదు మొత్తం అంకెలు నిల్వ. కాబట్టి ఒక చెల్లుబాటు అయ్యే ఎంపిక ఒక పెద్ద ఉండేది మీరు ఆ తెలిసిన జరిగితే Int. మరొక ఎంపిక ఉండేవి పొడవు 12 ఒక చార్ రంగంలో. కాబట్టి వారిలో గాని పని ఉండేది. Int కాదు. ఇప్పుడు, సంతులనం, తిరిగి pset7 అనుకుంటున్నాను. కాబట్టి మేము ప్రత్యేకంగా దశాంశ ఉపయోగిస్తారు షేర్లు లేదా విలువ నిల్వ - డేవిడ్ J. మలన్: నగదు. రాబ్ బౌడెన్: నగదు. మేము మొత్తం నిల్వ దశాంశ ఉపయోగిస్తారు యూజర్ ప్రస్తుతం నగదు. కాబట్టి మేము అలా కారణం , గుర్తు ఎందుకంటే తేలుతుంది. నిర్దిష్టత ఫ్లోటింగ్ పాయింట్ ఉంది. ఇది ఖచ్చితంగా నగదు నిల్వ కాదు మేము వంటి విలువలు కావలసిన. కాబట్టి దశాంశ ఖచ్చితంగా స్టోర్ చేయవచ్చు , చెప్పటానికి ఏదైనా, రెండు దశాంశ స్థానాలు. సంతులనం, మేము అది ఎందుకు ఆ వార్తలు ఫ్లోట్ దశాంశ మరియు ఉండాలి. డేవిడ్ J. మలన్: మరియు, చాలా, అయితే ఇది ఇతర లో తెలివైన ఉండవచ్చు ఆలోచించడం సందర్భాలలో, బహుశా ఈ ఒక Int కోసం ఒక అవకాశం ఉంది. నేను ట్రాక్ చేస్తాము నాణేలు విషయాలు. మేము స్పష్టంగా డిఫాల్ట్ చూపించాడు ఎందుకంటే , 100.00 ఉండటం విలువ ఆ ఇది కేవలం ఒక పూర్ణాంకానికి ఉంటుంది అర్థం. మరియు చాలా సంఖ్యలో మరొక సూక్ష్మభేదం ఇది ఉద్దేశించబడింది అని ఉంది ఒక ట్రిక్ ప్రశ్న. కానీ గుర్తు ఆ MySQL లో ఒక Int, వంటి C, కనీసం లో ఉపకరణం, 32-bit ఉంది. మరియు మేము మీరు ఊహించిన లేదు అయినప్పటికీ ఉంటే ఖచ్చితంగా ఎన్ని అంకెలు ఆ అంటే, గుర్తు ఆ సంఖ్యలో మీరు శక్తివంతంగా సూచిస్తుంది ఒక 32-bit సంఖ్య సుమారుగా ఏమిటి? మేము ఎల్లప్పుడూ ఏమి సంఖ్య చెబుతారు? 2 సుమారు ఏమిటి, 32? మీరు ఖచ్చితంగా తెలుసు లేదు. కానీ సుమారు జీవితంలో ఉపయోగకరంగా ఉంటుంది. ఇది సుమారు 4 బిలియన్ ఉంది. కాబట్టి మేము కొన్ని సార్లు చెప్పారు చేసిన. నేను తెలుసు నేను కొన్ని సార్లు చెప్పారు. మరియు అది సుమారు 4 బిలియన్. మరియు ఒక మంచి పాలన బండ తెలుసు. మీరు 8 బిట్స్, 256 ఉంటే మేజిక్ సంఖ్య. మీరు 32 బిట్స్, 4 ఉంటే బిలియన్ ఇవ్వడం లేదా. కాబట్టి మీరు డౌన్ 4 బిలియన్ వ్రాస్తే, మీరు కంటే తక్కువ అంకెలు చూస్తారు ఆ స్పష్టంగా కాదు అంటే 12, పట్టుకోవటానికి తగినంత వ్యక్తీకరణ ఒక 12 అంకెల ఖాతా సంఖ్య. రాబ్ బౌడెన్: OK. కాబట్టి ఇతర వాటిని తీసుకోలేకపోయారు. కాబట్టి ఆ బ్యాంకు ఒక $ 20 నెలవారీ విధిస్తుంది అన్ని ఖాతాలు నిర్వహణ రుసుము. ఏ SQL ప్రశ్న అని బ్యాంకు తో కూడా, ప్రతి కౌంట్ $ 20 తీసివేయు ఇది కొన్ని ప్రతికూల నిల్వలను ఫలితాలు? కాబట్టి ప్రాథమికంగా, నాలుగు ఉన్నాయి ప్రశ్నలు యొక్క ప్రధాన రకాల - , ఇన్సర్ట్ ఎంచుకోండి, నవీకరించండి మరియు తొలగించండి. కనుక మేము ఏమి ఆలోచిస్తాడు ఇక్కడ ఉపయోగించడానికి వెళుతున్న? నవీకరించండి. కాబట్టి యొక్క పరిశీలించి అనుమతిస్తుంది. కాబట్టి ఇక్కడ అప్ డేట్ చేస్తున్నాము. ఏ పట్టిక మేము ఖాతాల నవీకరిస్తున్నాము? కాబట్టి ఖాతాల నవీకరించుటకు. ఆపై వాక్యనిర్మాణం, చెప్పే ఖాతాల లో మేము నవీకరిస్తున్నాము? Well, మేము సమానంగా సంతులనం సెట్ సంతులనం మైనస్ 20 యొక్క ప్రస్తుత విలువ. కాబట్టి ఈ అన్ని వరుసలు అప్ డేట్ ఖాతాల, తీసివేయడం సంతులనం నుండి $ 20. డేవిడ్ J. మలన్: ఇక్కడ ఒక సాధారణ తప్పు, మేము కొన్నిసార్లు క్షమించినది అయినప్పటికీ, నిజానికి ఇక్కడ PHP కోడ్ కలిగి ఉంది ప్రశ్న ఫంక్షన్ కాల్ లేదా ఉంచడం ప్రతిదీ చుట్టూ కోట్ అని అక్కడ అవసరం లేదు. రాబ్ బౌడెన్: MySQL అని గుర్తుంచుకోండి PHP నుండి ఒక ప్రత్యేక భాష. మేము PHP లో MySQL రాయడం ఏం. మరియు PHP అది పంపుతోంది MySQL సర్వర్ కు. క్రమంలో కానీ మీరు PHP అవసరం లేదు ఒక MySQL సర్వర్ కమ్యూనికేట్. డేవిడ్ J. మలన్: ఖచ్చితంగా. డాలర్ సంకేతాలను ఏ వేరియబుల్స్ కాబట్టి ఈ సందర్భంలో ఉండాలి. ఇది కేవలం గణిత అన్ని చేయవచ్చు డేటాబేస్ లోపలే. రాబ్ బౌడెన్: OK. కాబట్టి తదుపరి. ఈ తదుపరి ఏమిటి? అవును. ఏ SQL ప్రశ్న అని బ్యాంకు తో కాబట్టి దాని యొక్క ఖాతా సంఖ్యలు తిరిగి ధనిక వినియోగదారులకు, తో ఆ 1,000 కంటే ఎక్కువ నిల్వలు? అందువలన నాలుగు ప్రధాన రకాల ఇది మేము ఇక్కడ ఇస్తున్నాయి? ఎంచుకోండి. కాబట్టి మేము ఎంచుకోండి. మనం ఎంచుకోండి అనుకుంటున్నారు? మేము ఎంచుకోండి ఏమి కాలమ్ అనుకుంటున్నారు? మేము ప్రత్యేకంగా కనిపిస్తుంది సంఖ్య ఎంచుకోండి. కానీ మీరు స్టార్, మేము చెప్పారు ఉంటే కూడా అంగీకరించారు. కాబట్టి ఏమి పట్టిక నుండి సంఖ్య ఎంచుకోండి? అకౌంట్స్. మరియు తర్వాత మేము పరిస్థితి కావలసిన? ఎక్కడ 1,000 కంటే ఎక్కువ సంతులనం. మేము కూడా ఎక్కువ అంగీకరించారు ఎక్కువ లేదా సమానం. చివరి. ఏ SQL ప్రశ్న అని బ్యాంకు తో దగ్గరగా, అనగా, ప్రతి ఖాతా తొలగించమని $ 0 సమతౌల్యం ఉంది? కాబట్టి నాలుగు ఇది మేము ఉంటాయి ఉపయోగించడానికి అన్నారు? తొలగించు. కాబట్టి ఆ కోసం వాక్యనిర్మాణం? ఏమి పట్టిక నుండి తొలగించు? అకౌంట్స్. మరియు అప్పుడు పరిస్థితి ఇది మేము తొలగించాలనుకుంటున్నారా - సంతులనం సున్నా సమానం. కాబట్టి ఖాతాల నుండి అన్ని వరుసలను తొలగించడానికి సంతులనం సున్నా పేరు. ఈ ఏ ప్రశ్నలకు? క్యూ చేయాలనుకుంటున్నారా? డేవిడ్ J. మలన్: క్యూ గైడ్. కాబట్టి ఈ ఒక, మేము మీరు కొంత ఇచ్చింది మేము ఒక అన్వేషించారు అని తెలిసిన నిర్మాణాన్ని structs కలిసి తరగతి బిట్, ఒక డేటా ఇది ఆత్మ లో సంబంధిత నిర్మాణం. ఒక క్యూ తో అయితే తేడా ఉంది మేము ఏదో గుర్తు వచ్చింది ఎవరు పెద్ద, క్యూ ముందు ఉంది మేము మరిన్ని వాటికి భాగంగా కాబట్టి మెమరీ సమర్థవంతంగా ఉపయోగించడానికి, కనీసం మేము వ్యూహం ఉపయోగించి ఉంటే. ఎందుకంటే రీకాల్, మేము వ్యూహం ఉంటే, ఉంటే, ఉదాహరణకు, ఈ ముందు ఉంది క్యూ, నేను ఇక్కడ క్యూ లోకి వస్తే, ఆపై ఎవరైనా లైన్ లో గెట్స్ నాకు వెనుక నాకు వెనుక నాకు,,, మరియు వెనుక ఒక వ్యక్తి బయటికి వేసింది, మీరు అని, మేము మా మానవ కొందరు వంటి తరగతి వాలంటీర్లు, ప్రతి ఒక్కరూ కలిగి ఈ విధంగా మారవచ్చు. కానీ సాధారణంగా, ఒక్కరికీ కలిగి ఏదో సమయంలో ఉపయోగించడం లేదు ఒక కార్యక్రమంలో, ఎందుకంటే అది మీ అల్గోరిథం ఏమిటి అమలవుతోంది asymptotic నడుస్తున్న సమయం? ఇది సరళ ఉంది. ఆ రకమైన స్టుపిడ్ వంటి మరియు నేను భావిస్తున్నాను. లైన్ లో తదుపరి వ్యక్తికి తదుపరి ఉంటే వెళ్ళాలని కోరుకుంటున్నాము వ్యక్తి స్టోర్, వారు అన్ని లేదు కలిసి తరలించడానికి. ఆ వ్యక్తి పెరికి లెట్ సమయం ఉదాహరణకు, వస్తే. కాబట్టి మేము అక్కడ సమయం బిట్ సేవ్ చేయవచ్చు. మరియు అలా అయితే, సాధనాలు ఆ క్యూ యొక్క తల లేదా క్యూ ముందు అన్నారు క్రమక్రమంగా లోతుగా మరియు లోతైన తరలించడానికి శ్రేణి మరియు చివరికి వాటిని మేము ఒక ఉపయోగిస్తున్నట్లయితే నిజానికి చుట్టూ ప్రజలు నిల్వ శ్రేణి ఈ క్యూ లో. కాబట్టి మీరు దాదాపు ఆలోచించవచ్చు ఒక వృత్తాకార డేటా వంటి శ్రేణి కోణంలో నిర్మాణం. కాబట్టి మీరు, ఏదో ట్రాక్ ఉంటుంది ఇది యొక్క పరిమాణం లేదా దాని నిజంగా ముగింపు ఆపై ఇది ప్రారంభంలో ఉన్న. కాబట్టి మేము మీరు డిక్లేర్ ప్రతిపాదించారు అలాంటి క్యూ, కాలింగ్ ఇది q, కేవలం ఒక లేఖ. అప్పుడు మేము ముందు ఉంటుంది ప్రతిపాదించారు సున్నా మరియు initialized పరిమాణం సున్నా కు initialized అవుతుంది. కాబట్టి ప్రస్తుతం, ఏమీ లేదు ఆ క్యూ లోపల. మరియు మేము పూర్తి మీరు అడగవచ్చు క్రింద ఎన్క్యూ అమలు కు n జోడించే విధంగా అయితే q ముగింపు మరియు నిజమైన తిరిగి. కానీ q పూర్తి లేదా ప్రతికూల ఉంటే, ఫంక్షన్ బదులుగా తప్పుడు తిరిగి. మరియు మేము మీరు ఒక జంట ఇచ్చింది ఊహల. కానీ వారు నిజంగా క్రియాశీలంగా లేదు సంబంధిత, ఆ bool, ఉంది సాంకేతికంగా, bool లేదు, ఎందుకంటే మీరు ఉన్నాయి తప్ప C ఉన్నాయి ఒక కొన్ని శీర్షికా ఫైలును. అందువలన నిర్ధారించుకోండి చేశారు ఏ ఈ ఒక ట్రిక్ ఉంది చేశారు విషయం ప్రశ్న రకమైన. కాబట్టి ఎన్క్యూ మేము నమూనా లో ప్రతిపాదిత క్రింది పరిష్కారాలను అమలు చేయడానికి. ఒక, మేము మొదటి సులభంగా తనిఖీ, తక్కువ ఉరి పండ్లు. క్యూ పూర్తి లేదా సంఖ్య ఉంటే ఆ మీరు ఇన్సర్ట్ ప్రయత్నిస్తున్న తక్కువ ఉంది మేము లో చెప్పాడు సున్నా కంటే సమస్య యొక్క వివరణ ఉండాలి మేము మాత్రమే మీరు ఎందుకంటే, అనుమతించాలి కాని ప్రతికూల విలువలు, అప్పుడు మీరు తప్పక కేవలం వెంటనే తప్పుడు తిరిగి. కాబట్టి కొన్ని చాలా సులభం దోష. మీరు నిజమైన జోడించాలనుకుంటే అయితే ఉంటే సంఖ్య, మీరు ఒక బిట్ చేయాలని ఇక్కడ ఆలోచిస్తూ. ఇది ఒక చిన్న బాధించే ఎక్కడ ఉంది మానసికంగా, మీకు ఎందుకంటే చుట్టబెట్టిన నిర్వహించడానికి ఎలా గుర్తించడానికి. కానీ ఆలోచన యొక్క బీజ ఇక్కడ ఆ వార్తలు మాకు ఆసక్తి అని చుట్టబెట్టిన ఉంది తరచుగా ప్రామాణిక అంక గణితం సూచిస్తుంది మరియు mod ఆపరేటర్లు, శాతం వైపు, మీరు ఒక పెద్ద విలువ నుండి వెళ్ళే పేరు తిరిగి సున్నాకి ఆపై ఒక మరియు రెండు మరియు మూడు మరియు తరువాత చుట్టూ తిరిగి సున్నాకు, ఒక మరియు రెండు మొదలగునవి మూడు మరియు మళ్లీ మళ్లీ. కాబట్టి మేము ఈ చేయడం కూడానా మార్గం మేము సూచిక అనుకుంటున్నారు అని సంఖ్యలను అని శ్రేణి మా పూర్ణాంకాల ఉంటాయి. కానీ అక్కడ పొందడానికి, మేము మొదటి చేయాలనుకుంటున్నారా క్యూ యొక్క పరిమాణం కానీ ఏమైనా ఆ జోడించండి సంసార జాబితా ముందు ఉంది. మరియు ఆ ప్రభావం మాకు ఉంచాలి కుడి క్యూలో స్థానం మరియు భావించండి ఆ లైన్ లో మొదటి వ్యక్తి ప్రారంభంలో ఉంది, ఇది అతను లేదా ఆమె పూర్తిగా కావచ్చు ఉంటే మేము ప్రతి ఒక్కరూ బదిలీ చేశారు. కానీ మేము కేవలం పని సృష్టిస్తున్నారు మేమే కోసం మేము చేపడితే నిర్దిష్ట మార్గం. కాబట్టి మేము సులభమైన ఉంచుకోవచ్చు. మేము గుర్తు లేదని మేము క్యూ ఒక పూర్ణాంకానికి జోడించారు. మరియు తర్వాత మేము నిజమైన తిరిగి. ఇంతలో, dequeue లో, మేము అడిగిన మీరు క్రింది చేయడానికి. విధంగా అది అమలు అది dequeues, ఆ, తొలగిస్తుంది మరియు తిరిగి క్యూ ముందు పూర్ణాంకానికి. పూర్ణాంకానికి తొలగించేందుకు, అది సంతృప్తి పరుస్తుంది మరిచిపోయేందుకు. మీరు దాని బిట్ భర్తీ అవసరం లేదు. కాబట్టి ఇది నిజానికి ఇప్పటికీ. కేవలం ఒక హార్డు డ్రైవు డేటా వంటి, మేము నిజానికి విస్మరించలేరు అది ఇప్పుడు అని. Q ఖాళీగా ఉంటే, మేము తప్పక బదులుగా ప్రతికూల 1 తిరిగి. కాబట్టి ఈ ఏకపక్ష భావించే. ఎందుకు ప్రతికూల 1 తిరిగి బదులుగా ఫాల్స్? అవును. ప్రేక్షకులు: Q నిల్వ విలువలను. మీరు మాత్రమే విలువలను నిల్వ నుండి q లో, ప్రతికూల పొరపాటని. డేవిడ్ J. మలన్: సరే, నిజమైన. మేము కేవలం అనుకూల నిల్వ చేస్తున్నారు కాబట్టి ఎందుకంటే విలువలు లేదా సున్నా, అది మంచిది ఒక సెంటినెల్ వంటి ప్రతికూల విలువ తిరిగి విలువ, ఒక ప్రత్యేక చిహ్నం. కానీ మీరు, అక్కడ చరిత్ర మళ్లీ చేస్తున్నారు ఎందుకంటే మేము ఉన్నాము కారణం కాని ప్రతికూల విలువలు తిరిగి మేము కావలసిన ఎందుకంటే ఉంది ఒక సెంటినెల్ విలువ ఉంటుంది. కాబట్టి ప్రత్యేకంగా, ఎందుకు కేవలం లోపాలు సందర్భాల్లో తప్పుడు తిరిగి? అవును. ప్రేక్షకులు: మీరు విఫలమైంది చేసిన పూర్ణాంకం తిరిగి. డేవిడ్ J. మలన్: ఖచ్చితంగా. సి గెట్స్ ఎక్కడ ఉంది అందంగా నిరోధించడానికి. మీరు చూడాలని చెప్పడం ఉంటే ఒక పూర్ణాంకానికి తిరిగి, మీరు పొందారు ఒక పూర్ణాంకానికి తిరిగి. మీరు ఫాన్సీ పొందండి మరియు తిరిగి ప్రారంభం కాదు ఒక bool లేదా ఫ్లోట్ లేదా ఒక స్ట్రింగ్ లేదా అలాంటిదే. ఇప్పుడు, మరోవైపు, JavaScript మరియు PHP మరియు ఇతర భాషలు చెయ్యవచ్చు, నిజానికి, మీరు వివిధ తిరిగి చేశారు విలువలు రకాల. మరియు ఆ నిజానికి, ఉపయోగపడుతుంది మీరు అనుకూల ints, సున్నాలు తిరిగి, ప్రతికూల ints, లేదా తప్పుడు లేదా శూన్య కూడా లోపం అర్థంతో. కానీ మేము లేని సి లో పాండిత్యము కాబట్టి dequeue తో, మేము ఉంది చేయడానికి ప్రతిపాదించారు - రాబ్ బౌడెన్: మీరు తప్పుడు తిరిగి రావచ్చు. ఇది హాష్ ఆ తప్పుడు పత్రిక సున్నాకి తప్పుడు వివరిస్తాయి. కాబట్టి మీరు తిరిగి తప్పుడు ఉంటే, మీరు సున్నా తిరిగి చేస్తున్నారు. మరియు సున్నా మా క్యూ లో ఒక చెల్లుబాటు అయ్యే విషయం ప్రతికూల 1 మాత్రం కాదు ఉంటే తప్పుడు ప్రతికూల 1 సంభవించింది. కానీ మీరు కూడా కాదు అని తెలుసుకోవాలి. డేవిడ్ J. మలన్: పేర్కొంది ఎందుకు నేను అనలేదు. రాబ్ బౌడెన్: కానీ ఇది నిజమైన కాదు మీరు తిరిగి తప్పుడు కాదు. డేవిడ్ J. మలన్: ఖచ్చితంగా. కాబట్టి dequeue, దేశంలోని గమనించవచ్చు దాని వాదన వంటి రద్దు. మేము లేదు ఎందుకంటే మరియు ఆ ఏదైనా సైన్ ప్రయాణిస్తున్న మేము కేవలం మూలకం తొలగించాలనుకుంటే క్యూ ముందు. కాబట్టి మేము ఎలా చేయడం గురించి వెళ్ళవచ్చు? ముందుగల, దీన్ని చూద్దాం త్వరగా తెలివి తనిఖీ. క్యూ పరిమాణం 0 ఉంటే, ఉంది చెయ్యటానికి ఏ పని. 1 ప్రతికూల తిరిగి. డన్. కాబట్టి నా ప్రోగ్రామ్ యొక్క కొన్ని పంక్తులు ఉంది. కాబట్టి నాలుగు పంక్తులు ఉన్నాయి. ఇక్కడ నేను తరుగుదల నిర్ణయించుకుంటారు పరిమాణం. మరియు సమర్థవంతంగా పరిమాణం దానికి వీలు నేను మర్చిపోకుండా ఉండాలనే వెబ్ అర్థం ఏదో ఉంది. కానీ నేను కూడా అప్డేట్ ఉంటుంది పేరు సంఖ్యలు ముందు ఉన్నాయి. కాబట్టి అలా, నేను అవసరం రెండు పనులను. నేను మొదటి సంఖ్య గుర్తుంచుకోవాల్సిన అవసరం క్యూ ముందు ఉంది, నేను ఆ విషయం తిరిగి అవసరం ఎందుకంటే. కాబట్టి నేను అనుకోకుండా మర్చిపోతే వద్దు దాని గురించి ఆపై దానిని తిరిగి. నేను ఒక Int లో గుర్తు చేస్తున్నాను. ఇప్పుడు, నేను నవీకరించాలనుకున్న q.front +1 q.front వుంటుంది. ఈ మొట్టమొదటి వ్యక్తి అయితే లైన్, ఇప్పుడు, నేను ప్లస్ 1 చేయాలనుకుంటున్నారా లైన్ లో తదుపరి వ్యక్తికి సమయంలో. కానీ నేను ఆ చుట్టబెట్టిన నిర్వహించడానికి. మరియు సామర్థ్యం ప్రపంచ స్థిరమైన ఉంటే, ఆ నాకు ఖచ్చితంగా చేయడానికి అనుమతించే అవకాశముంది నేను చాలా చివరి వ్యక్తి సూచించడానికి వంటి లైన్, మోడ్యులో ఆపరేషన్ తెస్తుంది వద్ద సున్నా తిరిగి నన్ను క్యూ ముందు. మరియు ఇక్కడ చుట్టబెట్టిన నిర్వహిస్తోంది. ఆపై నేను n తిరిగి వెళ్లండి. ఇప్పుడు, ఖచ్చితంగా చెప్పాలంటే, నేను కాదు n ప్రకటించాలని ఉన్నాయి. నేను పట్టుకొను మరియు నిల్వ లేదు తాత్కాలికంగా, విలువ ఎందుకంటే ఇప్పటికీ. నేను సరైన లెక్కలు కాలేదు మాజీ అధిపతి తిరిగి క్యూ. కానీ నేను ఈ మరింత స్పష్టమైన అని భావించాడు నిజానికి పూర్ణాంకానికి పట్టుకోడానికి, ఉంచండి n లో, మరియు ఆ తిరిగి స్పష్టత కోసమని కానీ సాంకేతికంగా. హేయ్. వారు నా తల లో పలికే ఉన్నారు. రాబ్ బౌడెన్: కాబట్టి మొదటి ప్రశ్న బైనరీ చెట్టు సమస్య. కాబట్టి మొదటి ప్రశ్న మేము ఉన్నాము, ఉంది ఈ సంఖ్యలు ఇచ్చిన. మరియు మేము ఏదో వాటిని ఇన్సర్ట్ ఈ నోడ్స్ ఇది అని ఒక చెల్లుబాటు అయ్యే బైనరీ శోధన చెట్టు. కాబట్టి ఒక విషయం గురించి గుర్తు బైనరీ శోధన చెట్లు కాదు ఉంది ఆ ఎడమవైపు విషయం తక్కువ మరియు విషయం కుడి ఎక్కువ. ఇది ఉండాలి మొత్తం చెట్టు ఎడమ తక్కువ, మరియు మొత్తం చెట్టు కుడి ఎక్కువ. నేను ఎగువన ఇక్కడ 34 చాలు, మరియు అలా అయితే నేను ఇక్కడ 20, అలా కాబట్టి చెల్లదు చాలా, ఎందుకంటే 34 ఇక్కడ. 20 ఎడమ అన్నారు. కాబట్టి ఆ తక్కువగా. కానీ నేను, ఇక్కడ 59 పెట్టలేదు ఎందుకంటే 59 20 కుడి ఉంది, అయినప్పటికీ ఇది 34 యొక్క ఎడమ ప్రక్రియలోనే. గ్రహించండి నిరోధ తో కాబట్టి, బహుశా ఈ పరిష్కార యొక్క సులభమైన మార్గం సమస్య కేవలం విధమైన ఈ సంఖ్యల - కాబట్టి 20, 34, 36, 52, 59, 106. ఆ తరువాత ఆ ఇన్సర్ట్ ఎడమ నుండి కుడికి. కాబట్టి 20 ఇక్కడ వెళ్తాడు. 34 ఇక్కడ వెళ్తాడు. 36 ఇక్కడ వెళ్తాడు. 52, 59, 106. మరియు మీరు కూడా తో కనుగొన్నారు కాలేదు కొన్ని పూరించే మరియు గ్రహించి, ఓహ్, నేను తగినంత సంఖ్యలో లేదు, వేచి ఇక్కడ ఈ పూరించడానికి. నేను reshift అవసరం ఏమి నా మార్గం గమనిక అన్నారు. అయితే, చివరి మూడు లో గమనించవచ్చు ఎడమ నుండి కుడికి మీరు చదివిన, అది ఉంది పెరుగుతున్న క్రమంలో. కాబట్టి ఇప్పుడు, మేము ప్రకటించాలని ఏమి struct కోసం అన్నారు ఈ చెట్టు లో నోడ్స్. ఒక బైనరీ చెట్టు లో మేము ఏమి చేయాలి? కాబట్టి మేము రకం ఒక విలువ కలిగి Int, కొన్ని Int విలువ. మనం అని ఏమి లేదు పరిష్కారం లో - N Int. మేము ఎడమ చైల్డ్ ఒక పాయింటర్ అవసరం మరియు కుడి చైల్డ్ ఒక పాయింటర్. కాబట్టి అది ఇలా చేస్తాడు. మరియు అది నిజానికి ముందు పరిశీలిస్తాము రెట్టింపైన-లింక్ ఉన్నప్పుడు జాబితా అంశాలను, కాబట్టి నోటీసు - నేను స్క్రోల్ ఉంటుంది వెళుతున్న అన్ని తిరిగి డౌన్ సమస్య 11. కాబట్టి, ఇది ఈ సారూప్యత కనిపిస్తోంది గమనించవచ్చు మేము ఈ కాల్ వస్తుంది తప్ప వివిధ పేర్లు. మేము ఇంకా పూర్ణాంకం విలువ మరియు రెండు పాయింటర్లు. ఇది బదులుగా చికిత్స కేవలం ఆ తదుపరి విషయం సూచిస్తుందని గమనికలు మరియు మునుపటి విషయం, మేము చికిత్స చేస్తున్నారు గమనికలు ఒక ఎడమ చైల్డ్ సూచించడానికి మరియు కుడి బాల. OK. కాబట్టి మా struct నోడ్. ఇప్పుడు, మాత్రమే ఫంక్షన్ మేము అవసరం ఈ సంచరిస్తారు ఉంది కోసం, అమలు ఇది మేము చెట్టు, ముద్రణ వెళ్ళి కావలసిన క్రమంలో చెట్టు విలువలు. ఇక్కడ చూస్తున్న, మేము ప్రింట్ కావాలో 20, 34, 36, 52, 59, మరియు 106. మేము ఆ పూర్తిచేస్తారు? కనుక ఇది అందంగా పోలి ఉంది. మీరు గత పరీక్షలో చూసినట్లయితే సమస్య మీరు ప్రింట్ కోరుకున్నాడు మధ్య కామాలతో మొత్తం చెట్టు ప్రతిదీ, అది కూడా నిజానికి ఉంది కంటే సులభంగా. ఇక్కడ పరిష్కారం. ఈ గణనీయంగా సులభం మీరు పునరావృతంగా చేస్తే. ఎవరైనా ప్రయత్నించారు ఉంటే నాకు తెలీదు మరల దీన్ని. కానీ మొదటి, మేము మా బేస్ సందర్భాన్ని. దానికి మూల శూన్య ఉంటే? అప్పుడు మేము తిరిగి చూడాలని. మేము ఏదైనా ప్రింట్ లేదు. మిగతా మేము ప్రయాణించేందుకు చూడాలని పునరావృతంగా డౌన్. మొత్తం ఎడమ subtree ప్రింట్. కాబట్టి తక్కువ ప్రతిదీ ప్రింట్ నా ప్రస్తుత విలువకంటే. ఆపై నేను ప్రింట్ వెళుతున్న. ఆపై నేను డౌన్ recurse వెళుతున్న నా మొత్తం కుడి subtree, నిద్రతో నా విలువ కంటే ఎక్కువ. మరియు ఈ ప్రింట్ అన్నారు క్రమంలో ప్రతిదీ. ఎలా ఈ వాస్తవానికి ప్రశ్నల తట్టుకోలేరు? ప్రేక్షకులు: నేను ఒక ప్రశ్న [వినబడని] న. రాబ్ బౌడెన్: పరిశీలించడంలో కాబట్టి ఒక మార్గం ఏ పునరావృత సమస్య కేవలం ఆలోచించడం ఉంది ఇష్టం గురించి మీరు ఆలోచించడం కలిగి అన్ని మూలలో కేసులు. కాబట్టి మేము కావలసిన పరిగణలోకి ఈ మొత్తం చెట్టు ప్రింట్. కాబట్టి అన్ని మేము దృష్టి వెళ్తున్నారు ఈ ప్రత్యేక నోడ్ - 36. పునరావృత కాల్స్, మేము నటిస్తారు ఆ కేవలం పని. ఇక్కడ, ఈ పునరావృత కాల్ సంచరిస్తారు, మేము కూడా ఆలోచించకుండా దాని గురించి, కేవలం ఎడమ traversing మూడు, ఇప్పటికే 20 ముద్రిస్తుంది ఊహించే మనకోసం 34. ఆపై మేము చివరికి పునరావృతంగా ట్రావర్సె కాల్ కుడి, సరిగ్గా ముద్రిస్తుంది 52, 59, మరియు మాకు కోసం 106. కాబట్టి ఈ 20, 34 ముద్రించవచ్చు ఇచ్చిన, మరియు ఇతర, 52, 59, 108 ముద్రించవచ్చు మేము చేస్తామని అవసరం అన్ని ముద్రణ ఉంది ఆ మధ్యలో స్వయంగా. కాబట్టి మాకు ముందు ప్రతిదీ ప్రింట్. స్వయంగా ప్రింట్ ప్రస్తుత నోడ్ ముద్రణ 36, సాధారణ printf, ఆపై మాకు తర్వాత ప్రతిదీ ప్రింట్. డేవిడ్ J. మలన్: ఈ పేరు సూత్రం ఉంది నిజంగా అందంగా కనిపిస్తుంది. ఇది విశ్వాసం యొక్క ఈ అద్భుతమైన లీపు పేరు మీరు పని tiniest బిట్ చేయండి. ఆపై మీరు వీలు ఎవరైనా వేరే మిగిలిన. మరియు ఎవరో మీరు, చిత్రంగా, ఉంది. తీవ్రమైన సంబరం పాయింట్లు, చేస్తే మీరు ప్రశ్నలు న స్క్రోల్ - రాబ్ బౌడెన్: ప్రశ్నలు న? డేవిడ్ J. మలన్: మరియు ఒక చిన్న డౌన్ ఇక్కడ సంఖ్యలు, ఎవరైనా తెలుసు ఈ సంఖ్యలు నుండి వస్తాయి? రాబ్ బౌడెన్: నేను అక్షరాలా సంఖ్య ఆలోచన ఉంది. డేవిడ్ J. మలన్: వారు కనిపిస్తుంది క్విజ్ అంతటా. ప్రేక్షకులు: వారు అదే లేరు డేవిడ్ J. మలన్: ఆ సంఖ్యలు. ఒక చిన్న ఈస్టర్ గుడ్డు. కాబట్టి ఆన్లైన్ చూడటం మీరు ఆ కోసం హోమ్, మీకు ఇమెయిల్ ద్వారా మమ్మల్ని వర్తమాన heads@CS50.net ఏమి ప్రాముఖ్యత ఈ పునరావృత ఆరు సంఖ్యలు యొక్క క్విజ్ 1 అంతటా, మేము మీకు షవర్ ఉంటుంది చివరి అద్భుతమైన దృష్టి తో ఉపన్యాసం మరియు ఒత్తిడి బంతి. సూక్ష్మ, నైస్. రాబ్ బౌడెన్: ఇంగ్లీషు ప్రశ్నలు క్విజ్ లో ఏదైనా గురించి?