[సంగీతాన్ని]
డేవిడ్ J. మలన్: అన్ని కుడి.
ఈ CS50 ఉంది.
ఈ వారంలో ఐదు కొనసాగింది, మరియు మేము కొన్ని మంచి వార్తలు మరియు కొన్ని చెడు వార్త ఉంది.
కాబట్టి శుభవార్త CS50 ఉంది ఈ శుక్రవారం బాబు.
మీరు మాకు చేరడానికి చెయ్యాలనుకుంటే, ఇక్కడ సాధారణ URL కి వెళ్ళండి.
కూడా మంచి వార్తలు, ఏ ఉపన్యాసం ఈ 13 సోమవారం వస్తున్న.
కొద్దిగా తక్కువ మంచి వార్తలు, క్విజ్ సున్నా వచ్చే బుధవారం ఉంది.
మరిన్ని వివరాలు ఉంటుంది ఇక్కడ ఈ URL వద్ద దొరకలేదు.
తరువాతి జంట రోజుల పాటు మేము డమ్మీ పూరించి అవుతారు
గదులు సంబంధించి మేము రిజర్వు అని.
మంచి వార్తలు చేస్తాము ఉంది ఒక కోర్సు వ్యాప్తంగా సమీక్ష
సెషన్ ఈ రాబోయే సాయంత్రం సోమవారం.
కోర్సు యొక్క ఆగండి నగర మరియు వివరాలు కోసం వెబ్సైట్.
అది ఒక అయినప్పటికీ సెక్షన్లు, సెలవు కూడా అలాగే చేరుకుంటున్నారు.
ఉత్తమ వార్తలు, తదుపరి శుక్రవారం ఉపన్యాసం.
కాబట్టి ఈ సంప్రదాయం మనం సిలబస్ ప్రకారం, ఉన్నాయి.
కేవలం అది అద్భుతమైన చేస్తాడు.
మీరు వంటి విషయాలను చూస్తారు స్థిరమైన సమయం డేటా నిర్మాణాలు
మరియు హాష్ పట్టికలు మరియు చెట్లు మరియు ప్రయత్నాలు.
మరియు మేము పుట్టినరోజు సమస్యల గురించి మాట్లాడండి చేస్తాము.
వాటిలో మొత్తం బంచ్ తరువాతి శుక్రవారం జరుపుతున్నారు.
సరే.
ఏమైనప్పటికి.
>> కాబట్టి మేము పరిష్కరించగలుగుతున్నాము గుర్తుచేసుకున్నారు ఏది ఈ చిత్రాన్ని దృష్టి సారించడం
మా కంప్యూటర్ యొక్క మెమరీ లోపల.
కాబట్టి మెమరీ లేదా RAM కార్యక్రమాలు ఉంది మీరు వాటిని అమలు చేస్తున్నారు సమయంలో ఉనికిలో.
మీరు ఒక డబుల్ క్లిక్ చేస్తే చిహ్నం కొన్ని కార్యక్రమం అమలు
లేదా ఒక డబుల్ క్లిక్ కొన్ని ఫైల్ తెరిచి ఐకాన్,
మీ హార్డ్ నుండి లోడ్ డ్రైవ్ లేదా ఘన రాష్ట్ర డ్రైవ్
RAM, రాండమ్ యాక్సెస్ మెమరీ పేరు లోకి పవర్ ఆఫ్ పోయే వరకు ఇది జీవితాలను
లాప్టాప్ lid, మూసుకుంటుంది లేదా మీరు ప్రోగ్రామ్ నిష్క్రమించాడు.
>> ఇప్పుడు ఆ మెమొరీ ఇది మీరు బహుశా కలిగి
1 గిగాబైట్ ఈ రోజుల్లో, 2 గిగాబైట్ల, లేదా మరింత,
సాధారణంగా వేశాడు ఇచ్చిన కార్యక్రమం కోసం
దీర్ఘచతురస్రాకార ఈ విధమైన సంభావిత నమూనా
మేము దిగువన స్టాక్ కలిగి వస్తే మరియు ఎగువన ఇతర stuff ఒక సమూహం.
అగ్రభాగాన విషయం మేము ఈ చిత్రం చూసిన
ముందు ఎప్పుడూ గురించి మాట్లాడారు అని పిలవబడే టెక్స్ట్ విభాగంలో ఉంది.
టెక్స్ట్ విభాగంలో కేవలం ఒక ఫాన్సీ మార్గం సున్నాలు మరియు వాటిని చెప్పడం ఆ
మీ వాస్తవ సంకలనం ప్రోగ్రామ్ కంపోజ్.
>> కాబట్టి మీరు డబుల్ క్లిక్ మీ Mac లేదా PC లో మైక్రోసాఫ్ట్ వర్డ్,
మీరు డాట్ అమలు చేసినప్పుడు లేదా న మారియో స్లాష్ మీ టెర్మినల్ విండో వద్ద Linux కంప్యూటర్,
ఏర్పరిచే సున్నాలు మరియు వాటిని Word లేదా మారియో తాత్కాలికంగా నిల్వ చేయబడతాయి
అని పిలవబడే మీ కంప్యూటర్ యొక్క RAM లో ఒక నిర్దిష్ట కార్యక్రమం కోసం టెక్స్ట్ విభాగంలో.
ఆ వెళ్తాడు క్రింద initialized మరియు అవినియోగిత డేటా.
ఈ ప్రపంచ వేరియబుల్స్ వంటి అంశాలు, మేము అనేక ఉపయోగించని చేసిన,
కానీ సందర్భంగా మేము చేసిన ప్రపంచ వేరియబుల్స్ కలిగి
లేదా గణాంకపరంగా తీగలను నిర్వచించిన హార్డ్ "హలో" వంటి పదాలు చేయబడ్డ
యూజర్ నుండి తీసుకుంటారు లేని మీ ప్రోగ్రామ్ లోకి హార్డ్ కోడెడ్.
>> ఇప్పుడు, డౌన్ దిగువన మేము అని పిలవబడే స్టాక్ చేశారు.
మరియు స్టాక్ ఇప్పటివరకు, మేము పరిష్కరించగలుగుతున్నాము ప్రయోజనాల ఏ రకాల ఉపయోగించి?
స్టాక్ ఏమి కోసం ఉపయోగించవచ్చు చేయబడింది?
అవును?
>> ప్రేక్షకులు: ఫంక్షన్స్.
>> డేవిడ్ J. మలన్: విధులు కోసం?
విధులు కోసం ఏ కోణంలో?
>> ప్రేక్షకులు: మీరు ఒక ఫంక్షన్ కాల్ చేసినప్పుడు, వాదనలు స్టాక్ లోకి కాపీ చేయబడతాయి.
>> డేవిడ్ J. మలన్: ఖచ్చితంగా.
మీరు ఒక ఫంక్షన్ కాల్ చేసినప్పుడు, దాని వాదనలు స్టాక్ లోకి కాపీ చేయబడతాయి.
కాబట్టి ఏ X యొక్క లేదా Y యొక్క లేదా A లేదా B యొక్క మీరు ఒక ఫంక్షన్ ప్రయాణిస్తున్న చేస్తున్న
తాత్కాలికంగా ఉంచారు అని పిలవబడే స్టాక్
కేవలం Annenberg ఒకటి వంటి భోజనశాల ట్రేలు, మరియు కూడా విషయాలు
స్థానిక వేరియబుల్స్ వంటి.
ఉంటే మీ foo ఫంక్షన్ లేదా మీ స్వాప్ ఫంక్షన్ స్థానిక వేరియబుల్స్ ఉన్నాయి,
తాత్కాలిక వంటి, ఆ రెండు స్టాక్ ముగుస్తుంది.
ఇప్పుడు, మేము గురించి చాలా చర్చ ఉంటుంది వాటిని, కానీ ఈ పరిసరం
దిగువన మేము ఒక సమయంలో క్రితం ఉన్నప్పుడు చూసిన నేను కీబోర్డ్ ఒక రోజులో futzing జరిగినది
మరియు నేను విషయాలు యాక్సెస్ ప్రారంభించారు argv 100 లేదా argv 1,000 వంటి,
కేవలం మూలకాల నేను మర్చిపోతే numbers-- కానీ ఆ
నాకు ప్రాప్తి చేయవలసి కాలేదు.
మేము కొన్ని చూసిన ప్రారంభించారు తెరపై అల్లరిగా చిహ్నాలు.
ఆ పిలవబడే ఉన్నాయి పరిసరం
ప్రపంచ సెట్టింగ్లు వంటి నా కార్యక్రమం లేదా నా కంప్యూటర్, కాదు కోసం
ఇటీవలి సంబంధంలేని మేము చర్చించారు ఆ బగ్,
Shellshock, ఆ అయ్యింది కొద్ది కంప్యూటర్లు నెలకొన్న.
>> ఇప్పుడు ఇక చివరగా, నేటి దృష్టి లో మేము చివరికి కుప్ప మీద ఉంటాం.
ఈ మెమరీ మరొక భాగం ఉంది.
ప్రాథమికంగా ఈ మెమరీ అదే విషయాన్ని ఉంది.
ఇది అదే హార్డ్వేర్ వార్తలు.
మేము విధమైన కేవలం ఉన్నాము వివిధ సమూహాలు చికిత్స
వివిధ ప్రయోజనాల కోసం బైట్లు.
కుప్ప ఉన్న కూడా అవతరిస్తుంది మీరు అభ్యర్థించవచ్చు వేరియబుల్స్ మరియు మెమరీ
ఆపరేటింగ్ సిస్టమ్ నుండి తాత్కాలికంగా నిల్వ చేయబడుతుంది.
>> కానీ సమస్య రకం ఉంది ఇక్కడ, చిత్రాన్ని సూచిస్తుంది.
మేము విధమైన రెండు కలిగి గురించి నౌకలు కొట్టుకొని.
మీరు మరింత ఉపయోగించడానికి ఎందుకంటే మనం నేడు చూసే స్టాక్, మరియు
ముందుకు, మీరు మరింత ఉపయోగించడానికి వంటి నిండుగా, తప్పనిసరిగా చెడు విషయాలు జరిగే.
నిజానికి, మేము ఆ విధంగా ప్రేరేపిస్తుంది కావాలని లేదా అనుకోకుండా.
గత క్లిఫ్హ్యాంగెర్ కాబట్టి సమయం ఈ కార్యక్రమం,
ఏ ఫంక్షనల్ పనులు చేయలేదు ఇది ప్రదర్శించేందుకు కంటే ఇతర ప్రయోజనం
ఎలా మీరు ఒక చెడ్డ వ్యక్తి నిజంగా పట్టవచ్చు వంటి ఒకరి ప్రోగ్రామ్లోని దోషాలను ప్రయోజనాన్ని
మరియు కూడా ఒక ప్రోగ్రామ్ లేదా స్వాధీనం మొత్తం కంప్యూటర్ సిస్టమ్ లేదా సర్వర్.
కాబట్టి కేవలం చూపులతో క్లుప్తంగా, మీరు దిగువన ప్రధాన గమనించవచ్చు
కమాండ్ లైన్ లో పడుతుంది argv ప్రకారం వాదనలు.
మరియు అది ఒక ఫంక్షన్ f కు కాల్ ఉంది, ముఖ్యంగా పేరులేని విధి అని
f, మరియు అది argv లో ప్రయాణిస్తున్న [1].
>> సో సంసార పదం యూజర్ రకాల ఈ కార్యక్రమం యొక్క పేరు తర్వాత ప్రాంప్ట్,
ఆపై ఈ ఏకపక్ష ఫంక్షన్ టాప్ f, ఒక స్ట్రింగ్ లో పడుతుంది, దీనినే చార్ *,
మేము చర్చించడానికి ప్రారంభమైన చేసిన వంటి, మరియు అది కేవలం "బార్." పిలుస్తుంది
కానీ మేము ఏదైనా కాల్ కాలేదు.
ఆపై అది లోపల ప్రకటించాడు F, అక్షరాలు యొక్క వ్యూహం యొక్క
12 అలాంటి పాత్రలు సి అని.
>> ఇప్పుడు, కథ ద్వారా నేను చెప్పడం జరిగినది ఒక క్షణం క్రితం, అక్కడ మెమరీ
సి, లేదా ఆ 12 ఉన్నాయి వదులుకోవడానికి వెళుతున్న అక్షరాలు?
జస్ట్ స్పష్టతను.
అవును?
>> ప్రేక్షకులు: స్టాక్ న.
>> డేవిడ్ J. మలన్: స్టాక్ న.
కాబట్టి సి ఒక స్థానిక వేరియబుల్ ఉంది.
మేము 12 అక్షరాలు లేదా 12 బైట్లు అభ్యర్థిస్తున్నాము.
ఆ వదులుకోవడానికి వెళ్తున్నారు అని పిలవబడే స్టాక్ న.
ఇప్పుడు చివరకు ఈ ఇతర ఫంక్షన్ ఉంది ఆ, వాస్తవానికి చాలా ఉపయోగకరంగా ఉంది
కానీ మేము నిజంగా ఉపయోగించరు చేసిన అది మేమే, strncopy.
ఇది స్ట్రింగ్ కాపీ అంటే కానీ కేవలం అక్షరాలు, N అక్షరాలు n.
కాబట్టి n అక్షరాలు ఉంటాయి సి లోకి బార్ నుండి కాపీ.
మరియు ఎన్ని?
బార్ యొక్క పొడవు.
కాబట్టి ఇతర మాటలలో, ఆ ఒక పంక్తిలో, strncopy,
కాపీ అన్నారు సమర్థవంతంగా సి లో బార్.
>> ఇప్పుడు, కేవలం రకమైన ఊహించడానికి ఈ కథ యొక్క నైతిక,
ఇక్కడికి శక్తివంతమైన సమస్యాత్మక ఉంది?
మేము పొడవు తనిఖీ ఉన్నప్పటికీ బార్ మరియు strncopy లోకి ప్రయాణిస్తున్న,
మీ గట్ మీరు చెబుతున్నది ఇంకా ఈ కార్యక్రమం గురించి విభజించవచ్చు?
అవును?
>> ప్రేక్షకులు: దీనిలో చేర్చలేదు శూన్య పాత్ర కోసం గది.
డేవిడ్ J. మలన్: దీనిలో చేర్చలేదు శూన్య పాత్ర కోసం గది.
సమర్థవంతమైన, కాకుండా గత ఆచరణలో మేము కూడా లేదు
కలిగి ఒక ప్లస్ 1 మాత్రం ఆ శూన్య పాత్ర కల్పించే.
కానీ ఆ కంటే చెత్తగా.
వేరే మనం విఫలమైందని?
అవును?
>> ప్రేక్షకులు: [వినబడని]
డేవిడ్ J. మలన్: పర్ఫెక్ట్.
మేము హార్డ్ అందంగా ఏకపక్ష 12 కోడెడ్ చేసిన.
ఆ చాలా కాదు సమస్య, కానీ నిజానికి
మేము కూడా తనిఖీ చేస్తున్నట్లు బార్ యొక్క పొడవు, కంటే తక్కువ 12 ఉంది
ఇలాంటి పరిస్థితిని చేస్తాడు మెమరీ ఉంచారు సురక్షితంగా
మేము కేటాయించింది చేసిన అని సి.
నిజానికి, బార్ వంటి ఉంటే కాలం 20 అక్షరాలు,
ఈ ఫంక్షన్ కాపీ చేయబడుతుంది కనిపిస్తుంది తద్వారా సి లోకి బార్ నుండి 20 అక్షరాలు
కనీసం 8 బైట్లు తీసుకొని ఇది ఉండకూడదు.
ఇక్కడ సూత్రప్రాయంగా ఉంది.
>> చిన్న, విరిగిన కార్యక్రమంలో,.
ఒక పెద్ద ఒప్పందం ఇటువంటి లేదు.
బహుశా మీరు విభజన లోపంగా పొందండి.
మేము అన్ని కార్యక్రమాలు దోషాలు కలిగింది.
మేము అన్ని దోషాలు కలిగి ఉండవచ్చు ప్రస్తుతం కార్యక్రమాలు.
కానీ అంత ఏది?
బాగా, ఇక్కడ ఒక జూమ్ ఇన్ సంస్కరణ నా కంప్యూటర్ యొక్క మెమరీ ఆ చిత్రం.
ఈ నా స్టాక్ దిగువన ఉంది.
నిజానికి, చాలా దిగువన ఏమి ఉంది అని పేరెంట్ రొటీన్ స్టాక్ ఫాన్సీ మార్గం
ఆ ప్రధాన తెలిపారు.
విధి అని ఎవరైతే కాబట్టి మేము గురించి మాట్లాడుకుంటున్నారో చేస్తున్న ఎఫ్.
కాబట్టి ఈ స్టాక్ దిగువన ఉంది.
రిటర్న్ చిరునామా కొత్త విషయం.
ఇది ఎల్లప్పుడూ ఉన్నాయి ఎల్లప్పుడూ ఆ చిత్రంలో ఉన్నారు.
మేము దానికి శ్రద్ధ అని ఎప్పుడూ.
ఇది అవుతుంది ఎందుకంటే సి పనిచేస్తుంది మార్గం ఒక ఫంక్షన్ మరొక కాల్స్ ఉన్నప్పుడు,
మాత్రమే ఆ వాదనలు చేయండి ఫంక్షన్ స్టాక్ లో ముందుకు పొందవచ్చు,
మాత్రమే ఫంక్షన్ యొక్క స్థానిక చేయండి వేరియబుల్స్ స్టాక్ లో ముందుకు పొందవచ్చు,
ఏదో తిరిగి చిరునామా అని కూడా స్టాక్ లో ఉంచే.
ముఖ్యంగా, ప్రధాన కాల్స్ foo, ప్రధాన యొక్క మెమరీలో స్వంత చిరునామా, ఆక్స్ ఏదో,
సమర్థవంతంగా స్టాక్ లో ఉంచే తద్వారా F దాన్ని నడపడం జరుగుతుంది ఉన్నప్పుడు
టెక్స్ట్ లో తిరిగి వెళ్ళు ఎక్కడ తెలుసు అమలు కొనసాగుతుంది క్రమంలో సెగ్మెంట్.
>> మేము సంభావితంగా ఇక్కడ ఉన్నాము కనుక, ప్రధాన, f అని చెపుతాడు.
F తెలుసు ఎలా ఎవరు తిరిగి చేతి నియంత్రణ ఎలా?
వెల్, ఈ చిన్న ఇక్కడ ఎరుపు లో బ్రెడ్క్రంబ్ను,
తిరిగి చిరునామా అని, అది కేవలం చెక్కులు, ఆ తిరిగి చిరునామా ఏమిటి?
ఓహ్, నాకు ఇక్కడ ప్రధాన తిరిగి వెళ్ళు తెలియజేయండి.
మరియు ఒక చిన్న బిట్ అతిసూక్ష్మీకరణ,
సున్నాలు మరియు వాటిని ఎందుకంటే ప్రధాన కోసం సాంకేతికంగా
ఇక్కడ TECH విభాగంలో.
కానీ ఆ ఆలోచన. F కేవలం ఏమి ఉంది
పేరు తిరిగి నియంత్రణ చివరికి తిరిగి వెళతాడు.
>> కానీ మార్గంలో కంప్యూటర్లు కాలం విషయాలు వివరిస్తూ
స్థానిక వేరియబుల్స్ వంటి మరియు వాదనలు ఈ వంటిది.
ఈ చిత్రాన్ని పైభాగంలో కాబట్టి నీలం కాబట్టి అన్ని, F స్టాక్ ఫ్రేమ్
మెమరీ ఆ F ప్రత్యేకంగా ఉపయోగిస్తోంది.
కాబట్టి తదనుగుణంగా, గమనించవచ్చు బార్ ఈ చిత్రంలో ఉంది.
బార్ దాని వాదన.
మరియు మేము దావా వాదనలు ఆ విధులు స్టాక్ లో ముందుకు పొందవచ్చు.
మరియు C, కోర్సు యొక్క, ఉంది కూడా ఈ చిత్రంలో.
>> మరియు కేవలం సంజ్ఞామాన ప్రయోజనాల కోసం, ఎడమ చేతి మూలలో గమనించి
బ్రాకెట్ 0 సి ఏమి ఉంటుంది మరియు అప్పుడు కొద్దిగా కుడి డౌన్
సి బ్రాకెట్ 11.
కాబట్టి ఇతర మాటలలో, మీరు ఊహించే బైట్లు ఒక గ్రిడ్ ఉందని
అక్కడ, మొదటి వీటిలో పైన ఎడమ వైపు, క్రింద వీటిలో
ఆ 12 బైట్లు చివరి ఉంది.
>> కానీ ఇప్పుడు ముందుకు వేగంగా ప్రయత్నించండి.
మనం పాస్ చేస్తే జరిగే గురించి c కంటే ఎక్కువ అని ఒక స్ట్రింగ్ బార్ లో?
మరియు మేము తనిఖీ లేదు ఇది నిజంగానే ఇక 12 కంటే.
ఈ చిత్రాన్ని ఏ భాగాన్ని అన్నారు బైట్లు 0, 1, 2, 3 ద్వారా భర్తీ చేసుకోవాలని,
డాట్ డాట్ డాట్, 11, మరియు అప్పుడు చెడు, 12, 19 ద్వారా 13?
ఇక్కడ ఏమి జరిగే అవకాశముంది మీరు క్రమం నుండి ప్రతిపాదించే ఉంటే
సి బ్రాకెట్ 0 పైన ఉంది మరియు సి బ్రాకెట్ 11 డౌన్ విధమైన ఉంది
కుడి?
అవును?
>> ప్రేక్షకులు: Well, అది జరగబోతోంది చార్ * బార్ తిరిగి రాస్తుంది.
>> డేవిడ్ J. మలన్: అవును, అది కనిపిస్తుంది మీరు చార్ * బార్ తిరిగి రాస్తుంది చూడాలని.
మరియు మరింత, మీరు ఒక నిజంగా దీర్ఘ లో పంపితే స్ట్రింగ్, మీరు కూడా ఏమి తిరిగి రాస్తుంది ఉండవచ్చు?
ప్రత్యుత్తర చిరునామా.
మళ్ళీ ఇది కేవలం వంటిది కార్యక్రమం పేరు చెప్పడం బ్రెడ్క్రంబ్ను
ఉన్నప్పుడు F తిరిగి వెళ్ళడానికి అని పిలిచారు జరుగుతుంది.
>> కాబట్టి చెడు అబ్బాయిలు సాధారణంగా ఏమి వారు ఒక కార్యక్రమం అంతటా వస్తాయి ఉంటే
వారు అనే ఆసక్తికరమైన అని విధంగా ప్రమాదకర, బగ్గీ
అతను లేదా ఆమె పడుతుందని ఆ బగ్ యొక్క ప్రయోజనాన్ని,
సాధారణంగా వారు పొందలేము ఈ కుడి మొదటిసారి.
వారు కేవలం ఉదాహరణకు, పంపడం మొదలు, మీ కార్యక్రమంలోకి యాదృచ్ఛిక తీగలను,
కీబోర్డ్ మీద ఉన్నా, లేదా స్పష్టముగా వారు బహుశా
ఒక చిన్న ప్రోగ్రామ్ రాయడానికి కేవలం స్వయంచాలకంగా తీగలను ఉత్పత్తి,
మరియు మీ కార్యక్రమాన్ని banging ప్రారంభం వివిధ ఇన్పుట్లను చోటా పంపడం
వివిధ పొడవులు.
>> వెంటనే మీ ప్రోగ్రామ్ క్రాష్ వంటి, ఒక అద్భుతమైన విషయం.
ఇది అతను అర్థం ఎందుకంటే లేదా ఆమె కనుగొన్నారు
ఏమి నిజానికి బహుశా ఒక బగ్ ఉంది.
ఆపై వారు మరింత తెలివైన పొందవచ్చు మరియు ప్రారంభించండి సంకుచితంగా సారించడం
ఆ బగ్ దోపిడీ ఎలా.
ముఖ్యంగా, అతను లేదా ఆమె వాటిని అలా హలో, ఉత్తమ సందర్భంలో, పంపాలి.
ఏ పెద్ద ఒప్పందం.
ఇది తగినంత చిన్న అని ఒక స్ట్రింగ్.
కానీ అతను లేదా ఆమె పంపితే, మరియు మేము, అది సాధారణీకరించడం చేస్తాము
దాడి సున్నాలు కాబట్టి code-- మరియు వాటిని విషయాలు చేయండి
RM-RF వంటి ప్రతిదీ తొలగించండి హార్డ్ డ్రైవ్ నుండి లేదా స్పాం పంపించటానికి
లేదా ఏదో యంత్రం దాడి?
>> ఈ ప్రతి చేస్తే అక్షరాలు కేవలం సూచిస్తుంది
సంభావితంగా, దాడి, దాడి, దాడి, దాడి, కొన్ని చెడ్డ కోడ్
ఎవరో రాసిన, కానీ ఆ వ్యక్తి తగినంత స్మార్ట్ ఉంటే
మాత్రమే అన్ని ఉన్నాయి ఆ RM-ఆర్టిఎస్ యొక్క, కానీ కూడా
అతని లేదా ఆమె గత కొన్ని బైట్లు సంబంధించిన ఒక సంఖ్య
యొక్క చిరునామాకు తన లేదా ఆమె సొంత దాడి కోడ్
అతను లేదా ఆమె కేవలం జారీ చేసే ప్రాంప్ట్ వద్ద అందించడం ద్వారా,
మీరు సమర్థవంతంగా కంప్యూటర్ మోసపూరిత చేయవచ్చు F అమలు చేయబడుతుంది ఉన్నప్పుడు గమనిస్తున్నారు లోకి,
ఓహ్, అది నాకు దూకడం సమయం తిరిగి ఎరుపు తిరిగి చిరునామాకు.
కానీ అతను లేదా ఆమె ఏదో ఉంది ఎందుకంటే ఆ తిరిగి చిరునామా కలిసిపోయి
వారి సొంత సంఖ్యలో, మరియు వారు తగినంత స్మార్ట్ ఉన్నాము
ఆ కాన్ఫిగర్ చేసిన సంఖ్య మీరు, దీన్ని చూడండి
సూపర్ టాప్ లో చూడండి అక్కడ ఎడమ చేతి మూలలో,
కంప్యూటర్ యొక్క వాస్తవ చిరునామా వారి దాడి కోడ్ యొక్క కొన్ని జ్ఞాపకశక్తి,
ఒక చెడ్డ వ్యక్తి కంప్యూటర్ మోసపూరిత చేయవచ్చు అతని లేదా ఆమె సొంత కోడ్ అమలు లోకి.
>> మరియు ఆ కోడ్, మళ్ళీ, ఏదైనా కావచ్చు.
ఇది సాధారణంగా అని కేవలం ఇది షెల్ కోడ్,
అది కాదు అని చెప్పడం ఒక మార్గం RM-RF వంటి సాధారణ సాధారణంగా ఏదో.
ఇది వాస్తవానికి బాష్ వంటి ఏదో వార్తలు లేదా ఒక వాస్తవ కార్యక్రమం అతనికి ఇచ్చే
లేదా ఆమె ప్రోగ్రాముల నియంత్రణ అమలు చేయడానికి వారు కావలసిన ఏదైనా.
కాబట్టి చిన్న లో, ఈ అన్ని సాధారణ వాస్తవం నుంచి వచ్చింది
చేరి ఈ బగ్ తనిఖీ లేదు ఆ మీ శ్రేణి యొక్క సరిహద్దులు ఆన్లైన్.
మరియు మార్గం ఎందుకంటే కంప్యూటర్లు పని అని వారు
నుండి స్టాక్ ఉపయోగించడానికి సమర్థవంతంగా, విషయపరంగా,
అప్ క్రింద, కానీ అప్పుడు అంశాలు మీరు డౌన్ టాప్ పెరగడం స్టాక్ పై పుష్
ఈ అద్భుతమైన సమస్యాత్మకంగా ఉంది.
ఇప్పుడు, ఈ చుట్టూ పని మార్గాలు ఉన్నాయి.
మరియు స్పష్టముగా, భాషలు ఉన్నాయి ఇది ఈ చుట్టూ పని.
జావా, ఉదాహరణకు, రోగనిరోధక ఉంది ఈ ప్రత్యేక సమస్య తిరిగి.
వారు మీరు గమనికలు ఇవ్వాలని లేదు ఎందుకంటే.
వారు మీరు ఇవ్వాలని లేదు డైరక్ట్ మెమరీ చిరునామాలు.
మేము కలిగి ఈ శక్తి తో కనుక మెమరీలో ఏదైనా టచ్
మేము ఆమోదం గొప్ప ప్రమాదం వస్తుంది అనుకుంటున్నారా.
>> కాబట్టి ఒక కన్ను ఉంచండి.
స్పష్టముగా, ఉంటే నెలల్లో లేదా సంవత్సరాల ఎప్పుడైనా, వచ్చిన
మీరు కొన్ని దోపిడీ గురించి చదవండి ఒక ప్రోగ్రామ్ లేదా ఒక సర్వర్,
మీరు ఎప్పుడూ ఏదో ఒక సూచనను చూడండి ఉంటే ఒక బఫర్ ఓవర్ఫ్లో దాడి వంటిది,
లేదా స్టాక్ ఓవర్ఫ్లో మరొక రకం ఉంది దాడి, ఆత్మ పోలిన
వెబ్సైట్ యొక్క స్ఫూర్తి ఎక్కువ మీరు తెలిస్తే, పేరు,
ఇది అన్ని కేవలం గురించి మాట్లాడుతూ ఉంటాడు కొన్ని పాత్ర యొక్క పరిమాణం పొంగి
శ్రేణి లేదా మరింత సాధారణంగా కొన్ని శ్రేణి.
ఈ ఏదైనా ప్రశ్నలు తర్వాత,?
ఇంట్లో ఈ ప్రయత్నించండి లేదు.
>> అన్ని కుడి.
కాబట్టి malloc ఇప్పటివరకు మా కొత్త ఉంది మేము మెమరీ కేటాయించాలని ఆ స్నేహితుడు
మేము తప్పనిసరిగా తెలియదు ఆ మనకు లేదు కావలసిన ముందుకు
లోకి హార్డ్ కోడ్ మా 12 వంటి కార్యక్రమం సంఖ్యలు.
యూజర్ మాకు ఎంత చెబుతుంది ఒకసారి అతను లేదా ఆమె ఇన్పుట్ కోరుకుంటున్నారు డేటా,
మేము ఆ మెమరీని malloc చేయవచ్చు.
>> కాబట్టి malloc అది టర్న్స్ మేము అది ఉపయోగించి పరిష్కరించగలుగుతున్నాము మేరకు,
స్పష్టంగా చివరిసారి, ఆపై మీరు అబ్బాయిలు ఇది ఉపయోగించి చేయబడ్డాయి
కోసం తెలియకుండా GetString కోసం అనేక వారాల, malloc యొక్క మెమరీ అన్ని
అని పిలవబడే కుప్ప నుండి వస్తుంది.
మరియు ఈ, ఉదాహరణకు, ఎందుకు GetString ఉంది డైనమిక్ మెమరీ కేటాయించాలని
మీరు ఏమి చేస్తున్నామో తెలియకుండా ముందుగానే టైప్ వెళుతున్న,
ఆ స్మృతి తిరిగి పాయింటర్ మీరు చేతితో, మరియు ఆ మెమరీ అలానే ఇప్పటికీ ఉంది,
కూడా తిరిగి GetString తర్వాత.
ఎందుకంటే రీకాల్ తర్వాత ఆ స్టాక్ నిరంతరం అప్ మరియు డౌన్ అన్నారు
అప్ మరియు డౌన్.
మరియు వెంటనే అది వెళుతూ డౌన్, ఏదైనా మెమరీ అర్థం
ఉపయోగిస్తారు ఈ ఫంక్షన్ తప్పక ఎవరికీ ఉపయోగించబడదు.
ఇది ఇప్పుడు చెత్త విలువలు ఉంది.
>> కానీ కుప్ప ఇక్కడ ఉంది.
మరియు malloc గురించి nice ఏది malloc ఇక్కడ మెమరీ కేటాయించుకునే ఉన్నప్పుడు,
అది ప్రభావం లేదు స్టాక్ చేత ఎక్కువ భాగం,.
కాబట్టి ఏ ఫంక్షన్ యాక్సెస్ చేయవచ్చు malloc'd చెయ్యబడింది మెమరీ,
కూడా GetString వంటి ఫంక్షన్ ద్వారా, తర్వాత కూడా ఇది తిరిగి.
>> ఇప్పుడు, malloc యొక్క విపర్యం ఉచితం.
నిజానికి, నియమం మీరు దత్తతు ప్రారంభించడానికి అవసరం
ఏ, ఏ, మీరు malloc ఉపయోగించే ఏ సమయం మీరే, చివరికి, ఉచిత ఉపయోగం ఉండాలి
అదే పాయింటర్ ఆన్.
మేము రాయడం చేసిన అన్ని ఈ సమయంలో బగ్గీ, అనేక కారణాల బగ్గీ కోడ్.
కానీ ఇది ఒకటి ఉంది CS50 లైబ్రరీ ఉపయోగించి ఇది
కూడా ఉద్దేశపూర్వకంగా ఉంది బగ్గీ, అది మెమొరీ లీక్ చేస్తుంది.
మీరు GetString అని చేసిన ఏదైనా సమయం గత కొన్ని వారాల్లో
మేము ఆపరేటింగ్ అభ్యర్థిస్తున్నాము వ్యవస్థ, లైనక్స్ మెమరీ.
మరియు మీరు ఒకసారి తిరిగి ఇవ్వడమో చేయలేదు.
మరియు ఈ లో, కాదు ఒక మంచి విషయం పాటిస్తారు.
>> మరియు Valgrind, ఒకటి pset 4 లో ప్రవేశపెట్టింది టూల్స్,
మీరు సహాయం గురించి అన్ని ఉంది ఇప్పుడు ఆ వంటి దోషాలను గుర్తించడం.
కానీ కృతజ్ఞతగా pset 4 కోసం మీరు అవసరం లేదు CS50 లైబ్రరీ లేదా GetString ఉపయోగించడానికి.
కాబట్టి మెమరీ సంబంధించిన ఏ దోషాలు ఉన్నాయి చివరికి మీ స్వంత చేస్తాడు.
>> కాబట్టి malloc కేవలం కంటే ఎక్కువ ఉంది ఈ ప్రయోజనం కోసం అనుకూలమైన.
మేము నిజానికి ఇప్పుడు పరిష్కరించగల సిద్ధాంతపరంగా వేర్వేరు సమస్యలు,
మరియు ప్రాధమికంగా ఎక్కువ సమస్యలు పరిష్కరించడానికి సమర్థవంతంగా వారం సున్నా యొక్క వాగ్దానం ప్రకారం.
ఇంతవరకు ఈ సెక్సియస్ట్ ఉంది డేటా నిర్మాణం మేము చేశాము.
మరియు డేటా నిర్మాణం ద్వారా నేను అర్థం ఆలోచించడానికి మెమరీ మార్గం
కేవలం చెప్పడం దాటి ఒక విధంగా, ఈ ఒక చార్, ఒక పూర్ణాంకానికి ఉంది.
మేము కలిసి క్లస్టర్ విషయాలు ప్రారంభించవచ్చు.
>> కాబట్టి వ్యూహం ఇలా.
మరియు గురించి ఒక లో కీ ఏమిటి శ్రేణి మీరుఇస్తుంది ఉంది
బ్యాక్ టు బ్యాక్ రాళ్లను జ్ఞాపకశక్తి, వీటిలో ప్రతి
ఒకే రకమైన ఉండాలి అన్నారు Int, పూర్ణాంకానికి Int, Int, లేదా చార్ చార్ చార్,
చార్.
కానీ కొన్ని దుష్ప్రభావాలు ఉంది.
ఈ ఉదాహరణకు, పరిమాణం ఆరు వ్యూహం.
మీరు ఆరు ఈ శ్రేణి పూరించడానికి అనుకుందాం సంఖ్యలు మరియు అప్పుడు సంసార కారణాల కోసం,
మీ యూజర్ ఇవ్వాలని కోరుకుంటున్నారు మీరు ఒక ఏడవ సంఖ్య.
ఎక్కడ మీరు ఉంచగలను?
>> మీరు కలిగి ఉంటే పరిష్కారం ఏమిటి స్టాక్ వ్యూహం రూపొందించినవారు,
ఉదాహరణకు, కేవలం వారం పరిచయం రెండు సంజ్ఞామానం
లోపల అనేక తో చదరపు బ్రాకెట్లలో?
సరే, మీరు ఆరు పొందారు ఈ పెట్టెల్లో సంఖ్యలు.
మీ ప్రవృత్తులు ఏం ఉంటుంది?
ఎక్కడ మీరు ఉంచాలి కావాలో?
>> ప్రేక్షకులు: [వినబడని]
>> డేవిడ్ J. మలన్: క్షమించండి?
>> ప్రేక్షకులు: ముగింపు అది ఉంచండి.
>> డేవిడ్ J. మలన్: ముగింపు అది ఉంచండి.
కాబట్టి కేవలం కుడి పైగా, ఈ బాక్స్ వెలుపల.
మనలోనే ఉంటుంది, కానీ అది చేస్తాం మీరు అలా కాదు హాజరవుతారు.
మీరు అడిగిన చెయ్యలేదు ఎందుకంటే మెమరీ ఈ భాగం కోసం,
ఇది ఆ యాదృచ్ఛికంగానో కావచ్చు కొన్ని ఇతర వేరియబుల్ ద్వారా వాడుతున్నారు
పూర్తిగా.
మేము వేశాడు ఉన్నప్పుడు కాబట్టి ఒక వారం ఆలోచించండి లేదా Zamyla మరియు Davin మరియు గాబే పేర్లు బయటకు
మెమరీలో.
వారు వాచ్యంగా ఉన్నాయి తిరిగి తిరిగి వెనుకకు.
కాబట్టి మేము తప్పనిసరిగా కాదు సంసార ట్రస్ట్
ఇక్కడ పైగా నాకు ఉపయోగించడానికి అందుబాటులో ఉంది.
>> కాబట్టి మీరు ఏమి ఉండవచ్చు?
సరే, ఒకసారి మీరు గ్రహించి , పరిమాణం ఏడు వ్యూహం అవసరం
మీరు కేవలం ఒక సృష్టించగలము పరిమాణం ఏడు శ్రేణి ఉపయోగించగలను
ఒక లూప్ లేదా కొంత లూప్, కొత్త శ్రేణి లోకి కాపీ,
ఆపై ఏదో కేవలం వదిలించుకోవటం ఈ శ్రేణి లేదా కేవలం అది ఉపయోగించి ఆపడానికి.
కానీ ముఖ్యంగా సమర్థవంతమైన కాదు.
చిన్న లో, శ్రేణుల వీలు లేదు మీరు డైనమిక్ పరిమాణాన్ని.
>> కాబట్టి ఒక వైపు మీరు పొందండి ఇది అద్భుతమైన ఉంది రాండమ్ యాక్సెస్.
ఇది అనుమతిస్తుంది ఎందుకంటే మాకు పనులను విభజించి జయించటానికి వంటి,
మేము అన్ని ఇది యొక్క బైనరీ శోధన, ఇక్కడ తెరపై గురించి మాట్లాడారు.
కానీ మీరు ఒక మూలలో లోకి మీరే వర్ణము.
వెంటనే మీకు హిట్ మీ శ్రేణి యొక్క ముగింపు,
మీరు చాలా చేయాల్సిందల్లా ఖరీదైన ఆపరేషన్
లేదా కోడ్ యొక్క మొత్తం బంచ్ రాయడానికి ఇప్పుడు ఆ సమస్య పరిష్కరించేందుకు.
>> కాబట్టి బదులుగా మేము కలిగి ఏమి ఏదో ఒక జాబితా అని,
లేదా ఒక నిర్దిష్ట జాబితా లింక్?
ఏం బదులుగా యొక్క కలిగి దీర్ఘ చతురస్రాలు, వెనుకకు వెనుకకు వెనుకకు
మేము ఒక చిన్న వదిలి అని దీర్ఘ చతురస్రాలు ఉన్నాయి వాటి మధ్య లో విగ్లే గది బిట్?
అయినప్పటికీ నేను ఈ డ్రా చేసిన చిత్రం లేదా ఈ చిత్రాన్ని స్వీకరించారు
పాఠాలు ఒకటి నుండి ఇక్కడ తిరిగి ఉండాలి వాస్తవానికి, చాలా క్రమముగా వెనుకకు
ఆ దీర్ఘ చతురస్రాలు ఒకటి అప్ ఇక్కడ మెమరీ కావచ్చు.
వాటిలో ఒకటి ఇక్కడ up కావచ్చు.
వాటిలో ఒకటి, ఇక్కడ కావచ్చు ఇక్కడ, మొదలైనవి పైగా.
>> కానీ మేము, చిత్రీకరించాడు ఏమి ఉంటే ఈ సందర్భంలో, బాణాలు
ఏదో ఈ లింకున్న కలిసి దీర్ఘ చతురస్రాలు?
నిజానికి, మేము ఒక సాంకేతిక చూసిన ఒక బాణం అవతారం.
మనం ఇటీవల ఉపయోగించిన రోజుల హుడ్ కింద,
ఒక బాణం ప్రతినిధి?
ఒక పాయింటర్ ఉంది, కుడి?
>> సో వాట్ ఉంటే, బదులుగా కేవలం సంఖ్యలు నిల్వ,
వంటి 9, 17, 22, 26, 34, మేము ఏమి నిల్వ ఉంటే
మాత్రమే కానీ ఒక సంఖ్య ఒక పాయింటర్ ప్రతి ఇటువంటి సంఖ్య పక్కన?
కాబట్టి ఆ చాలా మీరు ఒక థ్రెడ్ వంటి ఫాబ్రిక్ యొక్క మొత్తం బంచ్ ద్వారా సూది,
ఏదో వేయడం విషయాలు కలిసి, అదేవిధంగా చెయ్యవచ్చు
గమనికలు వంటి మేము ఇక్కడ బాణాలు ద్వారా అవతరించారు,
రకమైన నేత ఈ వ్యక్తిగత దీర్ఘచతురస్రాల్లో
సమర్థవంతంగా ఒక పాయింటర్ ఉపయోగించి ప్రతి సంఖ్య పక్కన ఆ
, కొన్ని తదుపరి సంఖ్య పాయింట్లు ప్రతిగా, కొన్ని తరువాత సంఖ్య చూపాడు?
కాబట్టి ఇతర మాటలలో, ఏమి మేము నిజంగా కోరుకుంటే
ఈ వంటి ఏదో అమలు?
వెల్ దురదృష్టవశాత్తు, ఈ దీర్ఘ చతురస్రాలు, 9 తో కనీసం ఒక, 17, 22 వద్ద,
మొదలగునవి, ఈ ఇకపై ఒకే సంఖ్యలు తో nice చతురస్రాలు.
క్రింద, దీర్ఘచతురస్ర 9 క్రింద, ఉదాహరణకు,
ఏ సూచిస్తుంది తప్పక ఒక పాయింటర్, 32 బిట్స్.
ఇప్పుడు, నేను ఇంకా ఏ డేటా రకం అవగాహన లేదు సి లో మీరు మాత్రమే ఒక పూర్ణాంకానికి ఇస్తుంది
కానీ ఒక పాయింటర్ పూర్తిగా.
>> మేము కావాలా సో పరిష్కారం ఏమిటి ఈ మా సొంత సమాధానం కనుగొనడమే?
అవును?
>> ప్రేక్షకులు: [వినబడని]
>> డేవిడ్ J. మలన్: ఆ ఏమిటి?
>> ప్రేక్షకులు: న్యూ నిర్మాణం.
>> డేవిడ్ J. మలన్: అవును, ఎందుకు మేము ఒక కొత్త నిర్మాణం సృష్టించడానికి లేదు,
లేదా సి, ఒక struct లో?
మేము ఉంటే క్లుప్తంగా, ముందు structs చూసిన మేము ఒక విద్యార్థి నిర్మాణం విచారించింది పేరు
ఈ వంటి ఒక పేరు మరియు ఒక ఇల్లు ఎవరు.
Pset లో 3 బ్రేక్అవుట్ మీరు మొత్తం ఉపయోగిస్తారు structs-- GRect మరియు GOvals యొక్క బంచ్
స్టాన్ఫోర్డ్ సృష్టించిన కలిసి క్లస్టర్ సమాచారం.
కాబట్టి మనం ఈ అదే ఆలోచన తీసుకుంటే కీవర్డ్లు "typedef" మరియు "struct,"
ఆపై కొన్ని విద్యార్ధి-నిర్దిష్ట స్టఫ్ మరియు క్రింది ఈ రూపొందించబడి:
typedef struct node-- మరియు కణుపు కేవలం చాలా సాధారణ కంప్యూటర్ సైన్స్
ఒక డేటా నిర్మాణం ఏదో పదం డేటా నిర్మాణం లో ఒక కంటైనర్.
నేను దావా ఒక నోడ్ కలిగి అన్నారు పూర్తిగా సూటిగా ఒక పూర్ణాంకానికి n,
ఆపై మరింత cryptically కొద్దిగా, ఈ రెండవ పంక్తి, struct నోడ్ * తదుపరి.
కానీ, తక్కువ సాంకేతిక పరంగా, ఆ రెండవ లైన్ ఏమిటి
గిరజాల జంట కలుపులు లోపల కోడ్?
అవును?
>> ప్రేక్షకులు: [వినబడని]
డేవిడ్ J. మలన్: ఒక మరొక నోడ్ పాయింటర్.
కాబట్టి ఆమోదం కొద్దిగా గుప్తమైన సింటాక్స్.
కానీ మీరు వాచ్యంగా అది చదివితే, తదుపరి ఒక వేరియబుల్ యొక్క పేరు.
దాని డేటా రకం ఏమిటి?
ఇది ఈ సమయం కొద్దిగా వాచాల వార్తలు కానీ అది * రకం struct నోడ్ యొక్క ఉంటుంది.
మేము ఏదో స్టార్ చూసిన ఏదైనా సమయం, ఆ ఆ డేటా రకం ఒక పాయింటర్ అర్థం.
కాబట్టి స్పష్టంగా తదుపరి ఒక ఉంది ఒక struct నోడ్ పాయింటర్.
>> ఇప్పుడు, ఒక struct నోడ్ ఏమిటి?
సరే, మీరు ఆ చూడండి గమనించవచ్చు కుడి వైపు పైభాగంలో వద్ద అదే పదాలు.
నిజానికి, మీరు కూడా పదం చూడండి డౌన్ ఇక్కడ, దిగువన ఎడమవైపు "నోడ్".
మరియు ఈ నిజంగా కేవలం ఒక సౌలభ్యం ఉంది.
మా విద్యార్థి నిర్వచనం లో గమనించవచ్చు ఒక్కసారి మాత్రమే పదం "విద్యార్థి" లేదు.
మరియు ఒక విద్యార్థి ఎందుకంటే వార్తలు వస్తువు స్వయం నిర్దేశకం కాదు.
ఒక విద్యార్థి యొక్క లోపల ఏమీ లేదు మరో విద్యార్థి సూచించడానికి అవసరం,
persay.
ఆ విధమైన ఉంటుంది వాస్తవ ప్రపంచంలో అదృష్టము.
>> కానీ ఒక ఒక నోడ్ తో లింక్ జాబితా, మేము ఒక నోడ్ అనుకుంటున్నారు
ఇదే వస్తువు నిర్దేశకం ఉండాలి.
కాబట్టి ఇక్కడ మార్పు కాదు గమనించవచ్చు కేవలం ఏమి కర్లీ జంట కలుపులు లోపల ఉంది.
కానీ మేము "నోడ్" పదం జోడించడానికి ఎగువన అలాగే
దిగువ దాన్ని జోడించడం బదులుగా "విద్యార్థి."
ఈ మాత్రమే ఒక సాంకేతిక వివరాలు కాబట్టి, మళ్ళీ, మీ డేటా నిర్మాణం
, స్వయం నిర్దేశకం ఒక తద్వారా నోడ్ మరొక అటువంటి నోడ్ సూచించడానికి చేయవచ్చు.
>> కాబట్టి ఈ చివరకు ఏమి ఉంది మాకు అర్థం అన్నారు?
వెల్, ఒక, ఈ విషయాన్ని లోపల మా నోడ్ యొక్క కంటెంట్లు ఉంది.
ఇక్కడ ఈ విషయం, పైన కుడి వైపు, కేవలం ఉంది
మళ్ళీ, మనం సూచించవచ్చు.
ఆపై అన్నింటి స్టఫ్ నోడ్ ఒక కొత్త పదం అయినప్పటికీ,
బహుశా, అది ఇప్పటికీ ఉంది విద్యార్థి మరియు ఏమి వలె
SPL హుడ్ కింద ఉంది.
>> కాబట్టి మేము ఇప్పుడు మొదలు కోరుకుంటే ఈ లింక్ జాబితా అమలు,
ఎలా మేము అనువదించు ఈ వంటి ఏదో కోడ్ని?
సరే, కేవలం ఒక చూద్దాం ఒక ప్రోగ్రామ్ యొక్క ఉదాహరణ
నిజానికి ఒక లింక్ జాబితా ఉపయోగిస్తుంది.
నేటి పంపిణీ కోడ్ మధ్య జాబితా జీరో అనే ప్రోగ్రామ్.
నేను ఈ అమలు చేస్తే మరియు నేను ఒక సూపర్ రూపొందించినవారు సరళమైన GUI, గ్రాఫికల్ వినియోగదారి యింటర్ఫేస్
కానీ అది నిజంగా కేవలం printf యొక్క.
మరియు ఇప్పుడు నేను కొన్ని మెను ఇచ్చాను options-- తొలగించు చొప్పించు, శోధన,
మరియు సంచరిస్తారు.
నిష్క్రమించాడు.
ఈ ఒక కేవలం సాధారణ కార్యకలాపాలు ఉంటాయి ఒక లింక్ జాబితా తెలిసిన డేటా నిర్మాణం.
>> ఇప్పుడు, అన్నారు తొలగించు జాబితా నుండి ఒక సంఖ్యను తొలగించారు.
చొప్పించు జోడించడానికి జరగబోతోంది జాబితాకు ఒక సంఖ్య.
శోధన చూడండి అన్నారు జాబితాలో సంఖ్య కోసం.
మరియు సంచరిస్తారు కేవలం ఒక ఫాన్సీ మార్గం చెప్పడం, జాబితా నడవడానికి,
దాన్ని ప్రింట్ కానీ అంతే.
ఏ విధంగా అది మారదు.
>> కాబట్టి యొక్క ఈ ప్రయత్నించండి తెలియజేయండి.
యొక్క ముందుకు వెళ్లి 2 టైప్ లెట్.
ఆపై నేను వెళుతున్న సంఖ్య ఇన్సర్ట్, 9 అంటున్నారు.
ఎంటర్.
ఇప్పుడు నా కార్యక్రమం కేవలం ఉంది చెప్పటానికి ప్రోగ్రామ్, జాబితా ఇప్పుడు 9 ఉంటుంది.
ఇప్పుడు, నేను ముందుకు వెళ్లి ఉంటే మళ్ళీ చొప్పించు లేదు, వీలు
నాకు ముందుకు వెళ్లి దూరంగా మరియు 17 లో టైప్ చేయండి.
ఇప్పుడు నా జాబితాలో అప్పుడు 17 9.
నేను మళ్ళీ ఇన్సర్ట్ చేస్తే, యొక్క ఒక దాటవేసి తెలియజేయండి.
బదులుగా 22, చిత్రాన్ని ప్రకారం మేము చేసిన ఇక్కడ చూడటం జరిగింది, నాకు ముందుకు వెళ్ళు తెలియజేయండి
మరియు తదుపరి 26 ఇన్సర్ట్.
కాబట్టి నేను 26 టైప్ వెళుతున్న.
నేను ఆశించే వంటి జాబితా ఉంది.
కానీ ఇప్పుడు, కేవలం ఈ కోడ్ ఉంటే చూడటానికి మృదువుగా అన్నారు, ఇప్పుడు నాకు తెలియజేయండి
రకం 22, అందులో కనీసం విషయపరంగా, మేము అయితే
ఈ నిజానికి ఇది, క్రమబద్ధీకరించబడింది కీపింగ్ ప్రస్తుతం మరో గోల్ ఉన్నట్లు జరగబోతోంది,
17 మరియు 26 మధ్య వెళ్ళాలి.
కాబట్టి నేను ఎంటర్ కొట్టాడు.
నిజానికి, ఆ పనిచేస్తుంది.
కాబట్టి ఇప్పుడు నాకు ఇన్సర్ట్ వీలు గత, చిత్రాన్ని 34 శాతం.
>> అన్ని కుడి.
కాబట్టి ఇప్పుడు నాకు ఆ నియమములు తెలియజేయండి తొలగించు మరియు ప్రయాణించి శోధన చేయండి,
నిజానికి, పని.
నేను వెతకండి అమలు లేకపోతే నిజానికి, లెట్స్ ఎంటర్, సంఖ్య 22 కోసం శోధించండి.
ఇది 22 దొరకలేదు.
కాబట్టి ఆ యొక్క ఈ ఉంది కార్యక్రమం జాబితా జీరో చేస్తుంది.
>> కానీ నిజానికి ఏమి జరుగుతుందో ఆ ఈ అమలుచేసే?
సరే, మొదటి నేను కలిగి, మరియు నిజానికి ఉండవచ్చు నేను ఒక ఫైల్ list0.h అని, ఉన్నాయి.
మరియు ఈ ఉంది ఎక్కడో లైన్, typedef, struct నోడ్,
అప్పుడు నేను, నా వంకర జంట కలుపులు n చేశారు Int, మరియు అప్పుడు నిర్వచనం ఏమిటి struct--?
Struct నోడ్ తదుపరి.
కాబట్టి మేము స్టార్ అవసరం.
ఇప్పుడు సాంకేతికంగా మేము పొందడానికి ఇక్కడ అది గీయడం అలవాటు.
మీరు పాఠ్యపుస్తకాలు చూడవచ్చు మరియు ఆన్లైన్ సూచనలు ఉన్నాయి చేస్తున్నాయి.
ఇది క్రియాశీలంగా సమానమైన వార్తలు.
నిజానికి, ఈ ఒక చిన్న మరింత సంక్లిష్టమైనది.
కానీ నేను ఏమి తో స్థిరమైన ఉంటాం మేము చివరిసారి చేశాడు మరియు దీన్ని.
మరియు తర్వాత చివరగా, నేను దీన్ని వెళుతున్న.
>> ఒక శీర్షికా ఫైలును కాబట్టి ఎక్కడో list0.h లో
నేడు ఈ struct నిర్వచనం, మరియు ఉండవచ్చు కొన్ని ఇతర అంశాలు ఉన్నాయి.
ఇంతలో list0c లో ఉంది కొన్ని విషయాలు మాత్రం.
కానీ మేము చేయబోతున్నామని కేవలం ప్రారంభం మరియు ఈ పూర్తి కాదు.
List0.h నేను అనుకుంటున్నాను ఒక ఫైల్ నా ఫైల్ సి చేర్చడానికి.
ఆపై కొన్ని పాయింట్ వద్ద నేను ఉన్నాను ప్రధాన, Int కలిగి రద్దు కానుంది.
ఆపై నేను వెళుతున్న చేయవలసిన పనుల కొన్ని ఇక్కడ ఉన్నాయి.
నేను కూడా కలిగి వెళుతున్న నమూనా, శూన్యమైన, శోధన, Int వంటి,
N, జీవితంలో దీని ప్రయోజనం ఒక మూలకం కోసం శోధించడానికి.
ఆపై డౌన్ ఇక్కడ నేను దావా నేటి కోడ్, శూన్యమైన, శోధన, Int, N,
ఏ సెమికోలన్ కానీ ఓపెన్ వంకర జంట కలుపులు.
ఇప్పుడు నేను ఏదో శోధించడానికి మీరు ఈ జాబితాలో ఒక మూలకం కోసం.
కానీ మేము తగినంత లేదు ఇంకా తెరపై సమాచారం.
నేను నిజానికి కలిగి జాబితా కూడా ప్రాతినిధ్యం.
కాబట్టి ఒక మార్గం మేము అమలు కాలేదు ఒక కార్యక్రమంలో ఒక లింక్ జాబితా
నేను రకమైన చేయాలని ఉంది వంటి ఇక్కడ జాబితా నెలకొల్పాయి ప్రకటిస్తాయి.
సరళత కోసం, నేను తయారు వెళుతున్న ఈ కూడా సాధారణ మేము అయితే, ప్రపంచ
ఈ చాలా చేయకూడదు.
కానీ ఈ ఉదాహరణ సులభతరం చేస్తుంది.
కాబట్టి నేను ప్రకటించాలని కావలసిన ఇక్కడ ఒక లింక్ జాబితా.
ఇప్పుడు, నేను ఎలా చేస్తారు ఉండవచ్చు?
>> ఇక్కడ ఒక లింక్ జాబితా బొమ్మను.
మరియు నేను నిజంగా లేదు ఎలా క్షణం తెలిసిన
నేను సూచిస్తున్న గురించి వెళ్ళడానికి వెళుతున్న కేవలం ఒక చాలా విషయాలు
మెమరీలో వేరియబుల్.
కానీ ఒక క్షణం తిరిగి అనుకుంటున్నాను.
మేము చేశాము అన్ని ఈ సమయం తీగలను, అప్పుడు మేము
శ్రేణితో నిరూపించబడినది అక్షరాలు, అప్పుడు మేము
కేవలం ఒక పాయింటర్ ఉంటుంది వెల్లడి మొదటి పాత్ర
అక్షరాలు యొక్క వ్యూహం ఆ శూన్య ముగించబడుతుంది లో.
ఆ తర్కం, మరియు ఈ తో మీ ఆలోచనలు నాట్లు చిత్రాన్ని రకం,
మేము నిజంగా ఏమి వ్రాసి మా కోడ్ అనుబంధ జాబితా ప్రాతినిధ్యం?
ఎంత ఈ సమాచారం మేము అవసరం సి కోడ్ పట్టుకోవటానికి, మీరు చెబుతా?
అవును?
>> ప్రేక్షకులు: మేము ఒక నోడ్ ఒక పాయింటర్ అవసరం.
డేవిడ్ J. మలన్: ఒక కణుపు ఒక పాయింటర్.
ముఖ్యంగా, ఇది నోడ్ మీ చేస్తాను ప్రవృత్తులు ఒక పాయింటర్ ఉంచడానికి?
>> ప్రేక్షకులు: మొదటి నోడ్.
>> డేవిడ్ J. మలన్: అవును, బహుశా కేవలం మొదటి.
మరియు, మొదటి గమనించవచ్చు నోడ్ విభిన్న ఆకారం ఉంది.
ఇది struct యొక్క సగం మాత్రమే పరిమాణం, ఎందుకంటే అది నిజానికి కేవలం ఒక పాయింటర్ ఉంది.
కాబట్టి మీరు నిజంగా చేయవచ్చు ఏమి డిక్లేర్ ఉంది ఒక లింక్ జాబితా * రకం నోడ్ యొక్క ఉండాలి.
మరియు లెట్స్ కేవలం మొదటి కాల్ తెలియజేయండి మరియు శూన్యం ప్రారంభించడం.
కాబట్టి శూన్య మళ్ళీ వస్తోంది ఇక్కడ రంగంమీదికి.
మాత్రమే శూన్య ప్రత్యేక వంటి ఉపయోగిస్తారు GetString వంటి వాటికి తిరిగి విలువ
మరియు malloc శూన్య సున్నా ఉంది పాయింటర్ ఒక పాయింటర్ లేకపోవడం,
మీరు రెడీ ఉంటే.
ఇది కేవలం ఏమీ ఇంకా ఇక్కడ అర్థం.
ఇప్పుడు మొదటి, నేను చేసిన కాలేదు ఈ ఏదైనా అని.
నేను "జాబితా" అని ఉండవచ్చు లేదా ఇతర విషయాలు ఏ సంఖ్య.
కానీ నేను "మొదటి" అది కాల్ చేస్తున్నాను ఈ చిత్రాన్ని తో లైన్లు.
కాబట్టి కేవలం ఒక స్ట్రింగ్ వలె ప్రాతినిధ్యం చేయవచ్చు దాని మొదటి బైట్ యొక్క చిరునామా,
కాబట్టి ఒక లింక్ జాబితా.
మరియు మేము ఇతర డేటా చూస్తారు నిర్మాణాలు ప్రాతినిధ్యం వహించే
కేవలం ఒక పాయింటర్ తో, ఒక 32-bit బాణం, గురిపెట్టి
నిర్మాణం లో మొట్టమొదటి నోడ్ వద్ద.
>> కానీ ఇప్పుడు యొక్క ఒక సమస్య ముందుగా తెలియజేయండి.
నేను మాత్రమే గుర్తు చేస్తున్నాను ఉంటే నా ప్రోగ్రామ్ చిరునామా లో
మొదటి నోడ్ యొక్క మొదటి ఈ డేటాను నిర్మాణం దీర్ఘ చతురస్రంలో,
మంచి కలిగి గురించి సందర్భంలో ఏమి నా జాబితా మిగిలిన అమలు?
వెళుతున్న ఒక కీ వివరాలు ఏమిటి ఈ వాస్తవానికి పనిచేస్తుంది నిర్ధారించడానికి?
మరియు ద్వారా నేను "వాస్తవానికి పనిచేస్తుంది" చాలా ఒక స్ట్రింగ్ వంటి, మధ్యమం,
మాకు మొదటి పాత్ర నుండి వెళ్దాం రెండవ Davin యొక్క పేరు లో,
మూడవ, కు నాలుగో, చాలా చివర
మేము చివరిలో ఉన్నప్పుడు మేము తెలుసు ఎలా ఈ కనిపించే ఒక లింక్ జాబితా?
అది ఎప్పుడు శూన్య వార్తలు.
మరియు నేను ఈ విధమైన ప్రాతినిధ్యం చేసిన ఒక ఎలక్ట్రికల్ ఇంజనీర్ వాటిని వంటి,
చిన్న గ్రౌండింగ్ తో చిహ్నమైన రకాల.
కానీ కేవలం ఈ సందర్భంలో శూన్య అర్థం.
మీరు ఏ సంఖ్య డ్రా చేయవచ్చు మార్గాలు, కానీ ఈ రచయిత
ఇక్కడ ఈ గుర్తు ఉపయోగించండి జరిగింది.
>> మేము వాడు చేస్తున్నారు ఉన్నంతకాలం కలిసి ఈ నోడ్స్ అన్ని,
మాత్రమే ఇక్కడ గుర్తుపెట్టుకొని మొదటి ఒకటి, చాలా కాలం ఉంది
మేము ఒక ప్రత్యేక చిహ్నం చాలు వంటి జాబితాలో చాలా చివరి నోడ్,
ఆ ఎందుకంటే మరియు మేము శూన్య ఉపయోగించడానికి చేస్తాము మాకు అందుబాటులో మనం కలిగి,
ఈ జాబితాలో పూర్తయింది.
మరియు నేను మాత్రమే మీరు ఒక పాయింటర్ ఇవ్వాలని మొదటి మూలకం, మీరు, ప్రోగ్రామర్,
ఖచ్చితంగా అది మిగిలిన యాక్సెస్ చేయవచ్చు.
కానీ మీ మనస్సులలో చెయ్యనివ్వండి కొద్దిగా తిరుగు
వారు ఇప్పటికే తెలియకపోతే చాలా ఏది wandered--
నడుస్తున్న సమయంలో చేస్తాడు ఈ జాబితాలో ఏదైనా లభిస్తుందన్న?
ఇది డామన్, n యొక్క పెద్ద O, ఇది న్యాయంగా, చెడు లేదు.
కానీ సరళంగా ఉంటుంది.
మేము ఏమి ఫీచర్ అప్ ఇచ్చారు మరింత తరలించడం ద్వారా శ్రేణుల
డైనమిక్ ఈ చిత్రాన్ని వైపు కలిసి ఉలెన్ లేదా నోడ్స్ లింక్?
మేము రాండమ్ యాక్సెస్ ఇచ్చాను.
వ్యూహం ఎందుకంటే nice గణితశాస్త్ర ప్రతిదీ
తిరిగి తిరిగి తిరిగి తిరిగి ఉంది.
కూడా ఈ చిత్రాన్ని అయితే అందంగా కూడా కనిపిస్తుంది, మరియు కూడా
ఈ నోడ్స్ కనిపిస్తోంది అయితే చక్కగా రియాలిటీ లో, వేరుగా ఉంచారు
వారు ఎక్కడైనా ఉంటుంది.
Ox1, Ox50, Ox123, Ox99, ఈ నోడ్స్ ఎక్కడైనా ఉంటుంది.
Malloc మెమరీ కేటాయించే లేదు ఎందుకంటే కుప్ప నుండి, కానీ ఎక్కడైనా కుప్ప లో.
మీరు తప్పనిసరిగా అది తెలియదు తిరిగి మాత్రం తిరిగి వెనుకకు.
అండ్ రియాలిటీ యొక్క లో చాలా ఈ చిత్రాన్ని చాలా ఈ అందంగా మాత్రం కాదు.
>> కాబట్టి అది ఒక బిట్ తీసుకోవాలని జరగబోతోంది ఈ ఫంక్షన్ అమలు పని.
కాబట్టి యొక్క ఇప్పుడు శోధన అమలు అనుమతిస్తాయి.
మరియు మేము ఒక రకమైన చూస్తారు ఇలా తెలివైన మార్గం.
నేను ఒక శోధన ఫంక్షన్ am చేస్తే మరియు నేను ఒక వేరియబుల్, పూర్ణసంఖ్య n ఇచ్చిన చేస్తున్నాను
కోసం చూడండి, నేను తెలుసుకోవాలి లోపల చూడటం కోసం కొత్త వాక్యనిర్మాణం
ఆ నిర్మాణం యొక్క , N కనుగొనేందుకు చూపారు.
కాబట్టి దీన్ని చూద్దాం.
>> కాబట్టి మొదటి నేను వెళ్ళడానికి వెళుతున్న ముందుకు మరియు ఒక నోడ్ * ప్రకటిస్తాయి.
మరియు నేను కాల్ వెళుతున్న కేవలం కన్వెన్షన్ ద్వారా పాయింటర్.
మరియు నేను మొదటి దాన్ని ప్రారంభించడం వెళుతున్న.
మరియు ఇప్పుడు నేను దీన్ని చేయవచ్చు వివిధ రకాలుగా లో.
కానీ నేను ఒక సాధారణ పద్ధతిని వెళుతున్న.
పాయింటర్ సమానంగా కాదు శూన్య మరియు ఆ చెల్లుబాటు వాక్యనిర్మాణం వార్తలు.
మరియు ఇది కేవలం కాబట్టి ఈ క్రింది వాటిని అర్థం కాలం మీరు ఏమీ వద్ద గురిపెట్టి కాదు చేసేటపుడు.
నేను ఏమి అనుకుంటున్నారు?
>> పాయింటర్ డాట్ లేదా ఉంటే, నాకు తిరిగి రావాలి ఆ, సమానం ఏమి సమానం?
ఏం విలువ నేను కోసం చూస్తున్న చేస్తున్నాను?
లో జారీ చేశారు వాస్తవ న్.
ఇక్కడ మరొక లక్షణం సి మరియు అనేక భాషలు.
కూడా నిర్మాణం అంటారు నోడ్ అయితే ఒక విలువ n పూర్తిగా చట్టబద్ధమైన ఉంది
కూడా ఒక స్థానిక వాదన లేదా వేరియబుల్ n అనే.
కూడా మేము, తో ఎందుకంటే మానవ కళ్ళు, తేడాను
ఈ n బహుశా అని ఈ n భిన్నంగా.
వాక్యనిర్మాణం భిన్నంగా ఉంటుంది ఎందుకంటే.
మీరు ఒక డాట్ మరియు ఒక పాయింటర్ పొందారు, ఈ ఒక అయితే అలాంటి విషయం ఉంది.
కాబట్టి ఈ సరే.
అదే విషయాలు వాటిని కాల్ సరే.
>> నేను మీరు ఈ కనుగొనేందుకు లేకపోతే, నేను రెడీ ఏదో చేయాలని అన్నారు
వంటి మేము n దొరకలేదు ప్రకటించారు.
మరియు మేము ఒక ఆ చెప్పను మీరే లేదా pseudocode కోడ్.
ఎల్స్, మరియు ఇక్కడ ఆసక్తికరమైన భాగంగా ఏమి
నేను ప్రస్తుత నోడ్ ఉంటే చెయ్యాలనుకుంటున్నారు నేను పట్టించుకోనట్లు ఆ n కలిగి లేదు?
ఎలా నేను ఈ క్రింది సాధించడం లేదు?
ఉంటే నా వేలు క్షణం PTR ఉంది, మరియు అది వార్తలు
సంసార వద్ద గురిపెట్టి మొదటి వద్ద సూచించబడిన
నేను నా వేలు తరలించడానికి లేదు ఎలా కోడ్ తదుపరి నోడ్?
Well, మేము ఉన్నాము బ్రెడ్క్రంబ్ను ఏమిటి ఈ సందర్భంలో అనుసరించండి చూడాలని?
ప్రేక్షకులు: [వినబడని].
డేవిడ్ J. మలన్: అవును, కాబట్టి తదుపరి.
నేను తిరిగి వెళ్ళడానికి చేస్తే నా ఇక్కడ కోడ్, నిజానికి, నేను రెడీ
పాయింటర్ ముందుకు వెళ్లి చెప్పే వెళుతున్న ఇది ఇది కేవలం ఒక తాత్కాలిక వేరియబుల్ ఉంది
ఒక అసాధారణ పేరు, PTR, కానీ ఇది కేవలం temp-- వంటిది
నేను పాయింటర్ సెట్ వెళుతున్న సంసార పాయింటర్ is-- సమానంగా
మళ్ళీ, ఈ ఒక అవతరిస్తుంది తదుపరి ఒక క్షణం డాట్ కోసం చిన్న బగ్గీ.
ఇతర మాటలలో, నేను పడుతుంది వెళుతున్న నా ఈ నోడ్ వద్ద గురిపెట్టి చేసే వేలు
ఇక్కడ మరియు నేను మీకు తెలుసా, చెప్పడానికి వెళుతున్నాను ఏమి, తదుపరి రంగంలో పరిశీలించి
మరియు మీ వేలు తరలించడానికి అది వద్ద గురిపెట్టి.
మరియు ఈ అన్నారు మళ్ళీ, మళ్ళీ పునరావృతం.
కానీ నా వేలు చేస్తుంది అన్ని వద్ద ఏదైనా చేయడం నిలిపివేసింది?
వెంటనే ఏమి కోడ్ కిక్స్ లైన్ లో?
ప్రేక్షకులు: [వినబడని]
డేవిడ్ J. మలన్: ఉంటే పాయింట్ అయితే పాయింటర్ శూన్యం సమానం కాదు.
కొన్ని పాయింట్ నా వేలు వద్ద శూన్య వద్ద గురిపెట్టి కావడం
మరియు నేను గుర్తించడం వెళుతున్న ఈ జాబితా ముగింపు ఉంది.
ఇప్పుడు, ఈ చిన్న ఉంది సరళత కోసం తెల్లని అబద్ధం.
ఇది అవుతుంది ఆ అయినప్పటికీ మేము కేవలం ఈ డాట్ సంజ్ఞామానం నేర్చుకున్నాడు
నిర్మాణాలకు, పాయింటర్ ఒక struct కాదు.
PTR ఏమిటి?
జస్ట్ మరింత nitpicky ఉండాలి.
ఇది ఒక నోడ్ ఒక పాయింటర్ ఉంది.
ఇది ఒక నోడ్ కూడా కాదు.
నేను ఇక్కడ సంఖ్య స్టార్ కలిగి ఉంటే, పాయింటర్ absolutely-- అది ఒక నోడ్.
ఈ వారం ఒక వంటి ఉంది ఒక వేరియబుల్ యొక్క ప్రకటన
మాట "నోడ్" కొత్త అయినప్పటికీ.
>> కానీ మేము ఒక పరిచయం వెంటనే నటుడు, ఇప్పుడు ఒక నోడ్ ఒక పాయింటర్ ఉంది.
మరియు దురదృష్టవశాత్తు మీరు ఉపయోగించలేరు ఒక పాయింటర్ కోసం డాట్ సంజ్ఞామానం.
మీరు బాణం ఉపయోగించాలి సంజ్ఞామానం ఇది కంటే,
మొదటిసారి ఏ భాగం వాక్యనిర్మాణం అవలీలగా కనిపిస్తోంది.
ఈ అక్షరాలా ఒక బాణం కనిపిస్తుంది.
కాబట్టి ఒక మంచి విషయం.
మరియు ఇక్కడ డౌన్ అక్షరాలా ఒక బాణం కనిపిస్తుంది.
కాబట్టి నేను ఆ నేను లేదు la-- వార్తలు అనుకుంటున్నాను నేను ఇక్కడ ఓవర్ పాల్పడే థింక్ అయామ్ నేను
గత క్రొత్త భాగాన్ని అని వాక్యనిర్మాణం మేము చూడండి చూడాలని.
మరియు కృతజ్ఞతగా, అది నిజానికి వార్తలు కొంచెం చూడగానే.
>> ఇప్పుడు, మీరు యొక్క ఆ కోసం, ఎవరు పాత మార్గం ప్రాధాన్యం ఇవ్వవచ్చు,
మీరు ఇప్పటికీ డాట్ సంజ్ఞామానం ఉపయోగించవచ్చు.
కానీ సోమవారం యొక్క ప్రకారం సంభాషణ, మేము మొదటి
ఆ వెళ్లి, అక్కడ వెళ్ళి అవసరం చిరునామా, మరియు అప్పుడు మైదానం యాక్సెస్.
కాబట్టి ఈ కూడా సరైనది.
మరియు స్పష్టముగా, ఈ ఒక మరింత పాండిత్య ప్రకర్ష కొద్దిగా.
మీరు వాచ్యంగా చెబుతున్నారో, dereference పాయింటర్ మరియు అక్కడ వెళ్ళండి.
అప్పుడు .n పట్టుకోడానికి, ఫీల్డ్ n అనే.
కానీ స్పష్టముగా, ఎవరూ కోరుకుంటున్నారు టైప్ లేదా ఈ చదవడానికి.
కాబట్టి ప్రపంచ కనుగొన్నారు బాణం సంజ్ఞామానం ఇది
ఒకేలా, సమానం ఇది కేవలం వాక్యనిర్మాణ చక్కెర ఉంటుంది.
ఈ యొక్క కాబట్టి ఒక ఫాన్సీ మార్గం మంచి కనిపిస్తుంది, లేదా సరళంగా కనిపిస్తోంది.
>> కాబట్టి ఇప్పుడు నేను ఒక విషయం ఇతర వెళుతున్న.
నేను ఒకసారి "బ్రేక్" అని వెళుతున్న అది నేను దాని కోసం చూస్తున్న ఉంచడానికి లేదు దొరకలేదు.
కానీ ఈ సారాంశం ఒక శోధన ఫంక్షన్.
కానీ అది, చాలా సులభం ముగింపు కోడ్ నడవడానికి లేదు.
ఈ నిజానికి అధికారిక అమలు నేటి పంపిణీ కోడ్ శోధన.
నేను చొప్పించు కాదు చెప్పటానికి ధైర్యం నడవడానికి ముఖ్యంగా సరదాగా
దృశ్యపరంగా, లేదా ఉంది, కూడా, తొలగించుకోవచ్చు రోజు చివరిలో అయితే
వారు బొత్తిగా డౌన్ కాచు సాధారణ సూక్ష్మపరిశోధనలను.
>> కాబట్టి దీన్ని చూద్దాం.
మీరు ఇక్కడ నన్ను హాస్యం చేస్తాము ఉంటే, నేను చేసిన ఒత్తిడి బంతుల్లో ఒక సమూహం తీసుకుని.
నేను సంఖ్యల సమూహాన్ని తీసుకువచ్చింది.
మరియు మేము కేవలం కొన్ని వాలంటీర్లు పొందలేరు 9, 17, 20, 22, 29, మరియు 34 ప్రాతినిథ్యం?
కాబట్టి ముఖ్యంగా ప్రతి ఒక్కరూ ఎవరు ఇక్కడ నేటి.
అంటే, ఒకటి, రెండు, మూడు నాలుగు, ఐదు, ఆరు మంది.
నేను ఏ చూడండి go-- అడిగారు చేసిన తిరిగి లో ఒక వారి చేతులు లేవనెత్తుతుంది.
సరే, ఒకటి, రెండు, మూడు, నాలుగు, five-- నాకు ఆరు balance-- లోడ్ వీలు.
సరే, మీరు ఆరు అప్ న వస్తాయి.
మేము ఇతర వ్యక్తులు చేయాలి.
మేము అదనపు ఒత్తిడి బంతుల్లో తీసుకువచ్చింది.
మరియు మీరు చేస్తే, కోసం కేవలం ఒక క్షణం, లైన్
నిన్ను నీవు అప్ కేవలం ఇక్కడ ఈ చిత్రంలో ఇష్టపడుతున్నారు.
>> అన్ని కుడి.
మీ పేరు ఏమిటి, యొక్క చూసేలా?
>> ప్రేక్షకులు: ఆండ్రూ.
>> డేవిడ్ J. మలన్: ఆండ్రూ, మీరు సంఖ్య 9.
మీరు ఎవరిని నీస్.
ఇక్కడ మీరు వెళ్ళండి.
ప్రేక్షకులు: జెన్.
డేవిడ్ J. మలన్: జెన్.
డేవిడ్.
సంఖ్య 17.
అవును?
>> ప్రేక్షకులు: నేను జూలియా ఉన్నాను.
>> డేవిడ్ J. మలన్: జూలియా, డేవిడ్.
సంఖ్య 20.
ప్రేక్షకులు: క్రిస్టియన్.
డేవిడ్ J. మలన్: క్రిస్టియన్, డేవిడ్.
సంఖ్య 22.
మరియు?
>> ప్రేక్షకులు: జెపి.
డేవిడ్ J. మలన్: జెపి.
సంఖ్య 29.
కాబట్టి అయ్యో ముందుకు వెళ్ళి in-- పొందండి.
అయ్యో.
స్టాండ్బై.
20.
ఎవరైనా ఒక మార్కర్ ఉంటాయా?
ప్రేక్షకులు: నేను ఒక Sharpie పొందారు.
డేవిడ్ J. మలన్: మీరు ఒక Sharpie వచ్చింది?
సరే.
మరియు ఎవరైనా కాగితం ముక్క కలిగి లేదు?
ఉపన్యాసం సేవ్.
న కమ్.
ప్రేక్షకులు: మేము పొందారు.
డేవిడ్ J. మలన్: మేము అది వచ్చింది?
అన్ని కుడి, ధన్యవాదాలు.
ఇక్కడ మేము వెళ్ళండి.
ఈ మీరు నుండి వాజ్?
మీరు రోజు సేవ్.
కాబట్టి 29.
అన్ని కుడి.
నేను 29 తప్పుగా, కానీ సరి.
ముందుకు వెళ్ళండి.
అన్ని కుడి, నేను మీరు ఇస్తాము మీ పెన్ తిరిగి సేపట్లో.
కాబట్టి మేము ఇక్కడ ఈ చేసారో చేశారు.
యొక్క ఇతర ఒకటి తెలియజేయండి.
గాబే, మీరు ప్లే చేయాలనుకుంటున్నారు ఇక్కడ మొదటి మూలకం?
మేము అభిప్రాయపడుతున్నారు మీరు అవసరం ఈ జరిమానా చేసారో వద్ద.
కాబట్టి 9, 17, 20, 22, విధమైన 29, ఆపై 34.
మేము ఎవరైనా తగ్గిపోయింది?
నేను ఒక 34 ఉన్నాయి.
ఎక్కడ కోరుకునే did-- సరే, 34 ఉండాలి?
సరే, 34, అప్ న వస్తాయి.
అన్ని కుడి, ఈ ఉంటుంది క్లైమాక్స్ బాగా విలువ.
మీ పేరు ఏమిటి?
>> ప్రేక్షకులు: పీటర్.
>> డేవిడ్ J. మలన్: పీటర్, అప్ న వస్తాయి.
All right, కాబట్టి ఇక్కడ ఒక నోడ్స్ యొక్క మొత్తం బంచ్.
మీరు అబ్బాయిలు ప్రతి సూచిస్తుంది ఈ దీర్ఘ చతురస్రాలు ఒకటి.
మరియు గాబే, కొద్దిగా బేసి మనిషి బయటకు మొదటి సూచిస్తుంది.
సో తన పాయింటర్ కొద్దిగా చిన్నది అందరి కంటే తెరపై.
మరియు ఈ సందర్భంలో, మీ ప్రతి వదిలి చేతులు, డౌన్ పాయింట్ గాని అన్నారు
తద్వారా కాబట్టి, శూన్య ప్రాతినిధ్యం కేవలం ఒక పాయింటర్ లేకపోవడం,
లేదా అది సూచించే జరగబోతోంది మీరు పక్కన ఒక కణుపు వద్ద.
>> కాబట్టి ప్రస్తుతం మీరు అలంకరించు ఉంటే చిత్రాన్ని వంటి నిన్ను నీవు
ఇక్కడ, ముందుకు వెళ్ళి పాయింట్ గాబే, ప్రతి ఇతర వద్ద
ముఖ్యంగా సూచిస్తున్న సంఖ్య 9 జాబితా సూచించడానికి.
సరే, మరియు సంఖ్య 34, మీ ఎడమ చేతి కేవలం నేల వద్ద గురిపెట్టి చేయాలి.
>> సరే, ఈ లింక్ జాబితా.
కాబట్టి ఈ ప్రశ్నకు కూడా పరిస్థితి ఉంది.
నిజానికి, ఈ ప్రతినిధి సమస్యలు తరగతి
మీరు కోడ్ పరిష్కరించడానికి ప్రయత్నించండి ఉండవచ్చు.
మీరు చివరకు ఇన్సర్ట్ అనుకుంటే జాబితా ఒక కొత్త మూలకం.
ఈ సందర్భంలో, మేము చేయబోతున్నామని సంఖ్య 55 ఇన్సర్ట్ ప్రయత్నించండి.
కానీ ఉన్నట్లు జరగబోతోంది వివిధ కేసులు పరిగణలోకి.
నిజానికి, ఈ ఒక అవతరిస్తుంది పెద్ద చిత్రాన్ని ఇక్కడ అవేలు యొక్క, ఉంది
వివిధ సందర్భాల్లో ఏమి ఉన్నాయి.
పరిస్థితులు ఉంటే లేదా వివిధ ఏమిటి మీ కార్యక్రమాన్ని కలిగి ఉండవచ్చు అని శాఖలు?
>> వెల్, సంఖ్య మీరు ప్రయత్నిస్తున్న మేము 55 అని ఇప్పుడు తెలుసు ఇది చొప్పించు,
కానీ మీరు తెలియదు ఉంటే ముందుగా, నేను విశ్వసించుటకు సిద్ధంగానుండు
కనీసం మూడు పడతాడు సాధ్యపడే పరిస్థితుల్లో.
ఎక్కడ ఒక కొత్త మూలకం కావచ్చు?
ప్రేక్షకులు: మరియు ముగింపు లేదా మధ్య.
డేవిడ్ J. మలన్: ముగింపులో, లో మధ్యతరగతి, లేదా ప్రారంభంలో.
కాబట్టి నేను కనీసం అక్కడ క్లైమ్ మూడు సమస్యలు మేము పరిష్కరించడానికి అవసరం.
బహుశా ఏమి ఎంచుకోండి లెట్ నిస్సందేహంగా సరళమైన
ఒకటి, ఇక్కడ కొత్త మూలకం ప్రారంభంలో చెందినది.
కాబట్టి నేను చాలా కోడ్ కలిగి వెళుతున్న వంటి నేను రాసింది, అన్వేషణ.
నేను, PTR కలిగి వెళుతున్న ఇది నేను, నా వేలితో ఇక్కడ ప్రాతినిధ్యం చేస్తాము
యధావిధిగా.
>> మరియు ఏ విలువ గుర్తు మేము PTR ప్రారంభించడం లేదు?
కాబట్టి మేము ప్రారంభంలో శూన్యం ఇది initialized.
కానీ అప్పుడు మేము ఒకసారి ఏం చేసావ్ మా శోధన ఫంక్షన్ లోపల ఉన్నారు?
మేము మొదటి సమానంగా సెట్ ఈ చేయడం కాదు ఇది.
నేను మొదటి సమానంగా PTR సెట్ చేస్తే, ఏం నా చేతి నిజంగా వద్ద గురిపెట్టి ఉండాలి?
కుడి.
గాబే మరియు నేను వెళ్ళడం చేస్తే ఇక్కడ సమాన విలువలు,
మేము సంఖ్య 9 వద్ద రెండు పాయింట్ అవసరం.
>> కాబట్టి ఈ మా కథ ప్రారంభంలో ఉంది.
ఇప్పుడు ఈ, కేవలం సూటిగా ఉంటుంది అయినప్పటికీ వాక్యనిర్మాణం కొత్త ఉంది.
సందర్భానుసారంగా ఈ కేవలం సరళ శోధన.
9 సమానంగా 55?
లేదా, యొక్క 9 కంటే తక్కువ చెప్పటానికి వీలు.
నేను దీనికై ఎందుకంటే 55 ఉంచాలి అవ్ట్ దొరుకుతుందని.
9 కంటే ఎక్కువ, తక్కువ 17 కంటే తక్కువగా, తక్కువ 20 కంటే తక్కువ 22 కంటే తక్కువ కంటే 29,
కంటే తక్కువ 34, సంఖ్య.
కాబట్టి ఇప్పుడు మేము, కేసు ఉన్నారు కనీసం మూడు ఒకటి.
>> నేను ఇక్కడ పైగా 55 ఇన్సర్ట్ అనుకుంటే, ఏమి కోడ్ అవసరం రేఖలు అమలు పెట్టడానికి?
ఎలా ఈ చిత్రాన్ని చేస్తుంది మానవులు మార్చాలి?
నేను నా ఎడమ చేతి ఏమి చెయ్యాలి?
ఈ తొలుత శూన్య ఉండాలి నేను జాబితా చివర ఉన్నాను ఎందుకంటే.
ఏ జరిగే ఉండాలి ఇక్కడ పీటర్ తో, అది?
అతను స్పష్టంగా నాకు సూచించడానికి జరగబోతోంది.
కాబట్టి నేను కనీసం రెండు పంక్తులు ఉంది దావా నేటి నుంచి నమూనా కోడ్ లో కోడ్
ఈ అమలు జరగబోతోంది తోక వద్ద 55 జోడించే దృష్టాంతంలో.
నేను ఎవరైనా హాప్ కలిగి కాలేదు అప్ మరియు కేవలం 55 సూచిస్తాయి?
అన్ని కుడి, మీరు కొత్త 55 ఉన్నాయి.
>> కాబట్టి ఇప్పుడు ఏమి తదుపరి ఉంటే దృష్టాంతంలో, వెంట వస్తుంది
మరియు మేము ఇన్సర్ట్ అనుకుంటే ప్రారంభంలో లేదా ఈ జాబితా యొక్క తల?
మరియు మీ పేరు, సంఖ్య 55 ఏమిటి?
>> ప్రేక్షకులు: జాక్.
>> డేవిడ్ J. మలన్: జాక్?
సరే, మీరు ఎవరిని బాగుంది.
పైకి స్వాగతం.
కాబట్టి ఇప్పుడు మేము చేయబోతున్నామని సే, సంఖ్య 5 ఇన్సర్ట్.
ఇక్కడ రెండవ సందర్భంలో వార్తలు మూడు మేము ముందు ముందుకు వచ్చారు.
కాబట్టి 5 ప్రారంభంలో చెందినది ఉంటే, యొక్క మేము కనుగొనేందుకు ఎలా చూద్దాం.
నేను నా PTR ప్రారంభించడం మళ్ళీ సంఖ్య 9 కి పాయింటర్.
నేను 5 కంటే తక్కువ 9, OH, గ్రహించారు.
కాబట్టి మాకు ఈ చిత్రాన్ని పరిష్కరించడానికి.
ఎవరి చేతులు, గాబే యొక్క లేదా డేవిడ్స్ or-- సంఖ్య 9 యొక్క పేరు ఏమిటి?
>> ప్రేక్షకులు: జెన్.
>> డేవిడ్ J. మలన్: జెన్ యొక్క hands-- మా చేతులు ఇది మార్చాలి?
OK, కాబట్టి గాబే ఇప్పుడు ఏమి చూపాడు?
నావంక.
నేను కొత్త నోడ్ am.
నేను తరలించడానికి కేవలం రకం చేస్తాము ఇక్కడ దృశ్యపరంగా అది చూడటానికి.
మరియు మరోవైపు ఏమి నేను అభిప్రాయపడుతున్నారు లేదు?
ఇప్పటికీ నేను ఎక్కడ సూచించే నేను.
సో అంతే.
కోడ్ దిద్దుబాట్లు సో కేవలం నిజంగా ఒక లైన్ ఈ ప్రత్యేక సమస్య, అది అనిపించవచ్చు.
All right, కాబట్టి ఆ బావుంటుంది.
మరియు ఎవరైనా 5 కోసం ఒక ప్లేస్హోల్డర్ ఉంటుంది?
అప్ న వస్తాయి.
మేము మీరు తదుపరి సమయం పొందుతారు.
>> All right, కాబట్టి ఇప్పుడు మరియు జనాంతికంగా, పేర్లు వంటి
నేను కుడి స్పష్టమైన ప్రస్తావన చేయడానికి కాదు ఇప్పుడు pred పాయింటర్, ముందున్న పాయింటర్
మరియు కొత్త పాయింటర్, ఆ కేవలం పేర్లు
గమనికలు నమూనా కోడ్ లో లేదా రకమైన చుట్టూ గురిపెట్టి అని నా చేతులు.
మీ పేరు ఏమిటి?
>> ప్రేక్షకులు: క్రిస్టీన్.
>> డేవిడ్ J. మలన్: క్రిస్టీన్.
పైకి స్వాగతం.
All right, కాబట్టి యొక్క ఇప్పుడు పరిశీలిద్దాం కొద్దిగా మరింత అసహ్యమైన దృష్టాంతంలో,
నేను ఇన్సర్ట్ అనుకుంటే అనగా ఈ లోకి 26 వంటి ఏదో.
20?
ఏం?
ఈ మేము ఈ పెన్ మంచి విషయం are--.
అన్ని కుడి, 20.
ఎవరైనా మరొక పావు పొందలేరు ఉంటే కాగితాన్ని అన్ని కుడి సందర్భంలో, సిద్ధంగా.
ఓహ్, ఆసక్తికరమైన.
Well ఈ ఒక ఉదాహరణ ఒక ఉపన్యాసం బగ్.
OK కాబట్టి మీ పేరు తిరిగి ఏమిటి?
ప్రేక్షకులు: జులియా.
డేవిడ్ J. మలన్: జూలియా, మీరు పాప్ చేయవచ్చు అవుట్ మరియు నటిస్తారు మీరు ఎప్పుడూ ఉన్నాయి?
సరే, ఈ ఎప్పుడూ జరగలేదు.
ధన్యవాదాలు.
కాబట్టి మేము ఇన్సర్ట్ అనుకుందాం ఈ లింక్ జాబితా జులియా.
ఆమె సంఖ్య 20.
అంతే కాకుండా ఆమె వద్ద చెందిన అన్నారు
begin-- ఇంకా ఏదైనా వద్ద సూచించడానికి లేదు.
సో మీ చేతి రకమైన ఉంటుంది డౌన్ శూన్య లేదా కొన్ని చెత్త విలువ.
యొక్క శీఘ్ర కథ చెప్పనివ్వండి.
నేను సంఖ్య 5 ఈ సమయంలో పై చేస్తున్నాను.
అప్పుడు నేను 9 తనిఖీ.
అప్పుడు నేను 17 తనిఖీ.
అప్పుడు నేను 22 తనిఖీ.
నేను, ooh, జూలియా తెలుసుకోవటం 22 ముందు వెళ్ళి అవసరం.
సో వాట్ జరిగే అవసరం?
ఎవరి చేతులు మార్చాలి?
జూలియా యొక్క, గని, లేదా మీ పేరు తిరిగి ఏమిటి?
>> ప్రేక్షకులు: క్రిస్టియన్.
>> డేవిడ్ J. మలన్: క్రిస్టియన్ లేదా?
>> ప్రేక్షకులు: అండీ.
>> డేవిడ్ J. మలన్: అండీ.
క్రిస్టియన్ లేదా ఆండీ?
ఆండీ దశలో అవసరం?
జూలియా.
అన్ని కుడి.
కాబట్టి ఆండీ, మీరు జూలియా దశలో అనుకుంటున్నారు?
కానీ ఒక నిమిషం ఆగండి.
ఇప్పటివరకు కథలో, నేను ఒక విధమైన ఉన్నాను
భావం లో ఛార్జ్, ఆ పాయింటర్ విషయం
జాబితా ద్వారా కదిలే.
మేము ఆండీ పేరు ఉండవచ్చు, కానీ ఆండీ అని ఏ వేరియబుల్ ఉంది.
మేము కలిగి మాత్రమే ఇతర చరరాశి మొదటి, గాబే ద్వారా ప్రాతినిధ్యం ఎవరు.
>> కాబట్టి ఈ ఎందుకు ఆ విధంగా నిజంగా ఉంది ఇప్పటివరకు మేము ఈ అవసరం చెయ్యలేదు.
కానీ ఇప్పుడు తెరపై ఉంది pred పాయింటర్ మళ్ళీ పేర్కొన్నారు.
నాలో మరింత స్పష్టమైన లెట్.
ఈ పాయింటర్ ఉంటే, నేను మంచి కలిగి కొంచెం తెలివైన పొందండి
నా మళ్ళా గురించి.
మీరు నా ఇక్కడ ద్వారా వెళ్లి పట్టించుకోవడం లేదు ఉంటే మళ్ళీ ఇక్కడ చూపటం, ఇక్కడ సూచించబడిన.
కానీ నాకు ఒక pred పాయింటర్ కలిగి తెలపండి ముందున్న పాయింటర్, ఆ
రకం వద్ద గురిపెట్టి మూలకం నేను వద్ద ఉంది.
కాబట్టి నేను ఇక్కడ వెళ్ళేటప్పుడు, ఇప్పుడు నా ఎడమ చేతి నవీకరణలను.
నేను ఇక్కడ నా ఎడమ చేతి నవీకరణలను వెళ్ళండి చేసినప్పుడు.
ఇప్పుడు నేను ఒక పాయింటర్ మాత్రమే కలిగి జూలియా తర్వాత వెళ్తాడు ఆ మూలకం,
నేను ఇప్పటికీ ఒక పాయింటర్ కలిగి ఆండీ ముందు మూలకం.
కాబట్టి మీరు తప్పనిసరిగా, యాక్సెస్ బ్రెడ్, మీరు రెడీ ఉంటే,
అవసరమైన గమనికలు అన్ని.
>> నేను వద్ద గురిపెట్టి చేస్తున్నాను చేస్తే అండీ నేను కూడా చూపారు నేను
దీని చేతులు క్రిస్టియన్ వద్ద ఇప్పుడు చోట్ల చూపారు చేయాలి?
ఆండీ కాబట్టి ఇప్పుడు జూలియా వద్ద సూచిస్తుంది.
జూలియా ఇప్పుడు క్రిస్టియన్ వద్ద సూచిస్తుంది.
ఆమె కాపీ ఎందుకంటే నా కుడి చేతి యొక్క పాయింటర్.
మరియు ఆ సమర్థవంతంగా మీరు ఉంచుతుంది ఇక్కడ తిరిగి ఈ స్థలం లోకి.
కాబట్టి చిన్న లో, కూడా ఈ అయితే యొక్క ఎప్పటికీ రకమైన మాకు తీసుకుంటోంది
నిజానికి నవీకరించడానికి లింక్ జాబితా, తెలుసుకోవటం
కార్యకలాపాలను ఆ చాలా సులువుగా ఉంటాయి.
ఇది రెండు ఒకటి మూడు వార్తలు చివరికి లైన్స్ ఆఫ్ కోడ్.
కానీ ఆ చుట్టూ చుట్టి బహుశా లైన్స్ ఆఫ్ కోడ్
తర్కం యొక్క ఒక బిట్ ఆ సమర్థవంతంగా ఉంది ప్రశ్న, మేము ఇక్కడ ఉన్నాయి అడుగుతుంది?
మేము ప్రారంభంలో ఉంటాయి, మధ్యస్థాయి, లేదా ముగింపు?
>> ఇప్పుడు, ఖచ్చితంగా కొన్ని ఇతర ఉన్నాయి మేము అమలు కార్యకలాపాలు.
మరియు ఇక్కడ ఈ చిత్రాలు కేవలం వర్ణిస్తాయి మనం కేవలం మనుషులు చేసిన.
ఏం తొలగింపు గురించి?
నేను కోరుకుంటే, ఉదాహరణకు, సంఖ్య తొలగించండి 34 లేదా 55,
నేను, కోడ్ యొక్క అదే రకమైన కలిగి ఉండవచ్చు కానీ నేను ఒకటి లేదా రెండు దశలు అవసరం వెళుతున్న.
కొత్త ఏది ఎందుకంటే?
నేను చివరిలో ఒకరి తీసివేస్తే, సంఖ్య 55 ఆపై 34,
ఏమి కూడా నేను అలా వంటి మార్చడానికి ఉంది?
నేను evict-- లేదు కలిగి మీ పేరు తిరిగి ఏమిటి?
>> ప్రేక్షకులు: జాక్.
>> డేవిడ్ J. మలన్: జాక్.
నేను, evict-- ఉచిత జాక్ మాత్రమే కలిగి కాబట్టి అక్షరాలా కనీసం ఉచిత జాక్ కాల్, లేదా
అక్కడ పాయింటర్ చాలా, కానీ ఇప్పుడు ఏమి పీటర్ తో మార్చడానికి అవసరం?
అతని చేతి మంచి డౌన్ పై ప్రారంభించండి.
వెంటనే నేను ఉచిత కాల్ ఎందుకంటే జాక్, పీటర్ యొక్క అప్పటికీ జాక్ వద్ద గురిపెట్టి ఉంటే
మరియు నేను కాబట్టి నదీ ప్రవాహానికి అడ్డంగా ప్రయాణం ఉంచడానికి జాబితా మరియు యాక్సెస్ ఈ పాయింటర్,
ఆ సమయంలో మా పాత స్నేహితుడు సెగ్మెంటేషన్ వార్తలు నిజానికి లో కిక్ ఉండవచ్చు తప్పు.
మేము ఇచ్చాను ఎందుకంటే జాక్ మెమరీ తిరిగి.
>> మీరు అక్కడ ఉండగలరు వికారంగా కేవలం ఒక క్షణం.
మేము కేవలం ఒక జంట కలిగి ఎందుకంటే చివరి కార్యకలాపాలు పరిగణలోకి.
జాబితా యొక్క తల తొలగించడం, beginning-- మరియు ఈ ఒక యొక్క లేదా
కొద్దిగా బాధించే.
మేము తెలుసు ఎందుకంటే గాబే రకమైన ప్రత్యేక ఈ కార్యక్రమంలో ఉంది.
ఎందుకంటే నిజానికి, అతను తన సొంత పాయింటర్ ఉంది.
అతను కేవలం దిశగానే జరిగింది కాదు ఇక్కడ దాదాపు అందరి ఉంది.
>> కాబట్టి జాబితా యొక్క తల ఉన్నప్పుడు దీని చేతులు ఇప్పుడు మార్చాలి తొలగించబడింది?
మీ పేరు తిరిగి ఏమిటి?
>> ప్రేక్షకులు: క్రిస్టీన్.
>> డేవిడ్ J. మలన్: నేను భయంకర ఉన్నాను పేర్లు, స్పష్టంగా.
కాబట్టి క్రిస్టీన్ మరియు గాబే, దీని చేతులు మార్చాలి
మేము క్రిస్టీన్ తొలగించడానికి ప్రయత్నించండి, చిత్రం నుండి సంఖ్య 5,?
OK, కాబట్టి యొక్క గాబే తెలియజేసేలా.
గాబే సూచించడానికి జరగబోతోంది, బహుశా, సంఖ్య 9 వద్ద.
కానీ ఏం చేయాలి?
ప్రేక్షకులు: క్రిస్టీన్ తప్పక [వినబడని] శూన్య ఉండండి.
డేవిడ్ J. మలన్: సరే, మేము బహుశా తప్పక make-- నేను ఎక్కడో "శూన్య" విన్నారు.
ప్రేక్షకులు: శూన్యం మరియు ఆమె ఉచితం.
డేవిడ్ J. మలన్: ఏమి శూన్య?
ప్రేక్షకులు: శూన్యం మరియు ఆమె ఉచితం.
డేవిడ్ J. మలన్: శూన్యం మరియు ఆమె ఉచితం.
కాబట్టి ఈ చాలా సులభం.
మరియు మీరు ఇప్పుడు విధమైన ఉన్నాము ఆ పరిపూర్ణ వార్తలు యొక్క చెందిన లేదు నిలబడి.
మీరు చేసిన ఎందుకంటే జాబితా నుండి వేరుచేసి.
మీరు సమర్థవంతంగా ఉన్నాను జాబితా నుండి అనాథ.
కాబట్టి మేము ఇప్పుడు బాగా ఉచిత కాల్ చేసింది క్రిస్టీన్ మెమరీ తిరిగి ఇవ్వాలని.
లేకపోతే ప్రతి సారి మనం జాబితా నుండి ఒక నోడ్ తొలగించండి
మేము జాబితా తయారు ఉండవచ్చు చిన్న, కానీ నిజానికి తగ్గటం లేదు
మెమరీలో పరిమాణం.
కాబట్టి మనం జోడించడం ఉంచేందుకు ఉంటే జోడించడం, జాబితా విషయాలను జోడించడం,
నా కంప్యూటర్ నెమ్మదిగా ఉండవచ్చు మరియు నెమ్మదిగా మరియు నెమ్మదిగా,
నేను బయటకు నడుస్తున్న నేను ఎందుకంటే మెమరీ నేను నిజానికి కాదు రెడీ కూడా
క్రిస్టీన్ యొక్క బైట్లు ఉపయోగించి మెమరీ ఇకపై.
>> కాబట్టి చివరికి ఇతర ఉన్నాయి కోర్సులో తొలగింపు సందర్భాలు
మధ్యతరగతి, తొలగింపు ముగింపు వద్ద, మేము చూసింది.
కానీ మరింత ఆసక్తికరమైన సవాలు ఇప్పుడు ఉంది
అన్నారు ఖచ్చితంగా పరిగణలోకి ఉండాలి నడుస్తున్న సమయం ఉంది ఏమి.
కాబట్టి మాత్రమే మీరు ఉంచుకోవచ్చు మీ కాగితం ముక్కలు, గాబే, ఉంటే,
మీరు ఇవ్వడం పట్టించుకోవడం లేదు ప్రతి ఒక్కరూ ఒత్తిడి బంతి.
మా అనుబంధ జాబితా చాలా ధన్యవాదాలు ఇక్కడ స్వచ్ఛందంగా, మీరు అనుకొనుట ఉంటే.
>> [చప్పట్లు]
>> డేవిడ్ J. మలన్: అన్ని కుడి.
విశ్లేషణాత్మక సో ఒక జంట అప్పుడు ప్రశ్నలు, నేను అనుకొనుట ఉంటే.
మేము ముందు ఈ సంజ్ఞామానం చూసిన, పెద్ద O మరియు ఒమేగా ఎగువ హద్దులు
మరియు తక్కువ హద్దులు కొన్ని అల్గోరిథం అమలు సమయం.
కాబట్టి యొక్క కేవలం పరిశీలిద్దాం ప్రశ్నలు ఒక జంట.
>> ఒకటి, మరియు మేము అది చెప్పింది ముందు నడుస్తున్న ఏమిటి
ఒక శోధన సమయం పెద్ద O పరంగా జాబితా?
నడుస్తున్న ఒక ఉన్నత బౌండ్ వార్తలు ఒక లింక్ జాబితా శోధించడం సమయం
ఇక్కడ మా వాలంటీర్లు అమలు వంటి?
ఇది n యొక్క పెద్ద O, సరళ.
చెత్త సందర్భంలో, ఎందుకంటే మూలకం, 55 వంటి,
మేము ఎక్కడ ఉంటుంది కోసం ఉండవచ్చు చూస్తున్న ఉండవచ్చు జాక్, చివరిలో అన్ని మార్గం.
మరియు దురదృష్టవశాత్తు, వ్యూహం కాకుండా ఈ సమయంలో మేము ఫాన్సీ పొందలేము.
మా మానవులు అన్ని ఉన్నప్పటికీ చిన్న అంశాలు, 5 నుండి క్రమబద్ధీకరించబడింది,
పెద్ద మూలకం అన్ని మార్గం అప్, 55, సాధారణంగా ఒక మంచి విషయం.
కానీ ఆ ఊహ ఏమి ఇకపై మాకు ఏమి అనుమతించే?
ప్రేక్షకులు: [వినబడని]
డేవిడ్ J. మలన్: మళ్ళీ సే?
ప్రేక్షకులు: రాండమ్ యాక్సెస్.
డేవిడ్ J. మలన్: రాండమ్ యాక్సెస్.
ఆ మలుపు అని మనం దీని అర్థం ఇక, బలహీన సున్నాలు, ఊహ ఉపయోగించడానికి
బైనరీ ఉపయోగించి మరియు obviousness అన్వేషణ మరియు విభజించి జయించటానికి.
ఎందుకంటే అయినప్పటికీ మనం మానవులు స్పష్టంగా కాలేదు
ఆండీ లేదా క్రైస్తవ ఉన్నాయి చూడండి సుమారు జాబితా మధ్యలో,
మేము మాత్రమే ఆ తెలుసు జాబితా స్కిమ్మింగ్ ద్వారా కంప్యూటర్
చాలా మొదలు నుండి.
కాబట్టి మేము ఆ రాండమ్ యాక్సెస్ ఇచ్చాను.
>> N యొక్క పెద్ద O ఇప్పుడు ఎగువ ఉంది మా శోధన సమయం బౌండ్.
ఏం మా శోధన ఒమేగా గురించి?
తక్కువ బౌండ్ శోధించడం ఏముంది ఈ జాబితాలో కొన్ని సంఖ్య కోసం?
ప్రేక్షకులు: [వినబడని]
డేవిడ్ J. మలన్: మళ్ళీ సే?
ప్రేక్షకులు: వన్.
డేవిడ్ J. మలన్: ఒక.
కాబట్టి స్థిరంగా సమయం.
ఉత్తమ సందర్భంలో, క్రిస్టిన్ ఉంది నిజానికి జాబితా ప్రారంభంలో.
మరియు మేము చూస్తున్న సంఖ్య 5, కాబట్టి మేము ఆమె దొరకలేదు.
అలా ఏ పెద్ద ఒప్పందం.
కానీ ఆమె వద్ద తీరవలసినదే ఈ సందర్భంలో, జాబితా ప్రారంభం.
అలాంటిదే గురించి ఏమి తొలగించు?
మీరు ఒక మూలకం తొలగించండి ఏమి అనుకుంటే?
ఏం ఉన్నత బౌండ్ మరియు తక్కువ బౌండ్ వార్తలు ఒక లింక్ నుండి ఏదో తొలగించడం న
జాబితా?
ప్రేక్షకులు: [వినబడని]
డేవిడ్ J. మలన్: మళ్ళీ సే?
ప్రేక్షకులు: ఎన్.
డేవిడ్ J. మలన్: n ఉంది బౌండ్ నిజానికి ఎగువ.
చెత్త సందర్భంలో మేము ప్రయత్నించండి ఎందుకంటే మేము కేవలం చేశాడు, జాక్ తొలగించేందుకు.
అతను చివరిలో అన్ని మార్గం.
ఎప్పటికీ మాకు పడుతుంది, లేదా n దశలను అతనికి కనుగొనేందుకు.
కాబట్టి ఒక ఉన్నత బౌండ్ ఉంది.
నిర్ధారించుకోండి, సరళ.
మరియు ఉత్తమ కేసు నడుస్తున్న సమయంలో, లేదా ఉత్తమ సందర్భంలో తక్కువ హద్దులు
స్థిరమైన సమయం ఉంటుంది.
బహుశా మేము తొలగించడానికి ప్రయత్నించండి ఎందుకంటే క్రిస్టీన్, మరియు మేము కేవలం అదృష్ట పొందుటకు
ఆమె ప్రారంభంలో ఉంది.
ఇప్పుడు ఒక నిమిషం ఆగండి.
గాబే, ప్రారంభంలో కూడా ఉంది మరియు మేము కూడా గాబే అప్డేట్ వచ్చింది.
కాబట్టి ఆ ఒక్క అడుగు కాదు.
కనుక ఇది నిజానికి స్థిరంగా ఉంది సమయం, ఉత్తమ సందర్భంలో,
చిన్న మూలకం తొలగించడానికి ఎలా?
ఇది రెండు ఉంటుంది అయినప్పటికీ ఇది, ఉంది కోడ్ మూడు, లేదా 100 లైన్లు,
అది అదే నెంబర్ ఉంటే కాదు కొన్ని లూప్ లో లైన్లు,
మరియు పరిమాణం యొక్క స్వతంత్ర జాబితాలో ఖచ్చితంగా.
మూలకం వద్ద తొలగిస్తోంది జాబితా ప్రారంభం
మేము పంచుకునే సరే గాబే, ఇప్పటికీ స్థిరంగా సమయం.
>> కాబట్టి ఈ ఒక వంటి తెలుస్తోంది వెనుకకు భారీ అడుగు.
మరియు సమయం ఏ వృధా , ఒకవేళ వారం ఒక మరియు వారం
సున్నా మేము మాత్రమే కలిగి pseudocode సంకేతం కానీ వాస్తవ కోడ్
లాగ్ అని ఏదో అమలు బేస్ N, లేదా లాగ్ కాకుండా, n యొక్క, బేస్ 2,
దాని అమలు సమయం పరంగా.
కాబట్టి హెక్ మేము ప్రారంభించడానికి ఎందుకు కావాలో ఒక లింక్ జాబితా లాగ ఉపయోగించి?
అవును.
>> ప్రేక్షకులు: సో మీరు జోడించవచ్చు శ్రేణి మూలకాల.
డేవిడ్ J. మలన్: సో మీరు చెయ్యగలరు శ్రేణి మూలకాల జోడించండి.
మరియు ఈ చాలా నేపథ్య ఉంది.
మరియు మేము చూడండి చేస్తాము ఈ, రాజీ, చాలా
వంటి మేము చూసిన విలీనంతో విధమైన తో రాజీ.
మేము నిజంగా వేగవంతం కాలేదు కాకుండా, వెతకవచ్చు లేదా సార్టింగ్,
మేము ఒక బిట్ మరింత స్థలం ఖర్చు ఉంటే ఒక మెమరీ అదనపు భాగం కలిగి
లేదా విలీనంతో విధమైన వ్యూహం.
కానీ మేము మరింత ఖర్చు స్పేస్, కానీ మేము సమయం ఆదా.
ఈ సందర్భంలో, మేము ఉన్నాము సమయం అప్ ఇవ్వడం కానీ మేము ఉన్నాము
వశ్యత పొంది, చైతన్యానికి మీరు రెడీ ఉంటే,
ఇది నిస్సందేహంగా ఒక సానుకూల లక్షణం.
>> మేము కూడా స్థలం ఖర్చు చేస్తున్నారు.
ఏ కోణంలో ఒక ముడిపడి ఉంది ఖరీదైన జాబితా
వ్యూహం కంటే జాగా పరంగా?
ఇక్కడ అదనపు ఖాళీ నుండి వస్తోంది?
అవును?
>> ప్రేక్షకులు: [వినబడని] పాయింటర్.
>> డేవిడ్ J. మలన్: అవును, మేము కూడా పాయింటర్ కలిగి.
కాబట్టి ఈ minorly బాధించే ఉంది ఆ ఇకపై am
నేను కేవలం ఒక పూర్ణాంకానికి నిల్వ ఒక పూర్ణాంకానికి సూచించడానికి.
నేను ఒక Int మరియు నిల్వ చేస్తున్నాను కూడా 32 బిట్స్ ఇది పాయింటర్.
నేను అక్షరాలా రెట్టింపు చేస్తున్నాను స్థలం మొత్తం పాల్గొన్నారు.
కాబట్టి ఒక రాజీ, వార్తలు కాని ఆ, Int విషయంలో వార్తలు.
, మీరు Int నిల్వ లేదు అనుకుందాం కానీ ఈ దీర్ఘ చతురస్రాలు ప్రతి అనుకుందాం
లేదా ఈ మానవుల ప్రతి ప్రాతినిధ్యం జరిగినది ఒక పదం, ఒక ఆంగ్ల పదం
ఐదు అక్షరాలు, 10 కావచ్చు అక్షరాలు, బహుశా మరింత.
అప్పుడు కేవలం 32 మరింత బిట్స్ జోడించడం ఒక పెద్ద ఒప్పందం తక్కువ కావచ్చు.
>> ఏం విద్యార్థులు ప్రతి ఉంటే ప్రదర్శన లో
ఉన్నాయి అక్షరాలా విద్యార్థి structs ఆ బహుశా పేర్లు మరియు గృహాలు మరియు కలిగి
ఫోన్ నంబర్లు మరియు ట్విట్టర్ నిర్వహిస్తుంది మరియు ఇష్టపడుతున్నారు.
కాబట్టి అన్ని రంగాలలో మేము ప్రారంభించారు ఇతర రోజు గురించి మాట్లాడటం,
ఒక పెద్ద ఒప్పందం చాలా తక్కువ మా నోడ్స్ మరింత ఆసక్తికరమైన పొందండి
మరియు పెద్ద, EH, ఒక అదనపు ఖర్చు పాయింటర్ వాటిని కలిసి లింక్.
కానీ నిజానికి, ఇది ఒక రాజీ ఉంది.
నిజానికి, కోడ్ మరింత క్లిష్టమైన, మీరు చేస్తాము
ద్వారా స్కిమ్మింగ్ ద్వారా చూడండి నిర్దిష్ట ఉదాహరణ.
కానీ ఏమి ఉన్నట్లయితే ఇక్కడ కొన్ని పవిత్ర గ్రెయిల్.
మేము ఒక అడుగు పడుతుంది లేకపోతే ఏమిటి వెనుకకు కానీ ఒక భారీ అడుగు ముందుకు
మరియు ఒక డేటా అమలు నిర్మాణం ద్వారా మేము
జాక్ లేదా వంటి అంశాలు వెదుక్కోవచ్చు క్రిస్టీన్ లేదా ఏ ఇతర అంశాలు
నిజమైన స్థిరంగా సమయంలో ఈ శ్రేణి లో?
శోధన స్థిరాంకం.
తొలగించు స్థిరాంకం.
చొప్పించు స్థిరాంకం.
ఈ కార్యకలాపాలను అన్ని స్థిరాంకం.
మా పవిత్ర గ్రెయిల్ ఉంటుంది.
మరియు ఆ పేరు మేము తదుపరి సమయంలో తీయటానికి ఉంటుంది.
అప్పుడు మీరు చూడండి.