[Powered by Google Translate] [వీక్ 6] [డేవిడ్ J. మలన్] [హార్వర్డ్ విశ్వవిద్యాలయం] [ఈ CS50 ఉంది.] [CS50.TV] , ఈ CS50, మరియు ఈ వారం 6 ప్రారంభంలో ఉంది కాబట్టి కొత్త పనిముట్లను జతగా, ఇప్పుడు మీరు లాభం పొందడానికి అందుబాటులో ఉన్నాయి ఇది మొదటి CS50 శైలి అంటారు. మీరు నా టీచింగ్ సభ్యుల ఏదైనా, వంటి అయితే ఆడ్స్ ఉంటాయి మీరు బహుశా వీరి శైలి ఈ వంటి కొంత కనిపిస్తోంది ఒక కార్యక్రమం చూసిన. , బహుశా మీరు అర్థరాత్రి కొన్ని మూలల్లో కటింగ్ ప్రారంభించాలి లేదా తర్వాత మీరు వ్యవహరించే చేస్తాము మరియు తర్వాత ఒక TF లేదా CA కార్యాలయం గంటల సమయంలో వస్తాడు. మాకు చదవడానికి అప్పుడు కష్టం. Well, ఈ కోడు వాక్యనిర్మాణపరంగా సరియైనది, మరియు అది కంపైల్ కనిపిస్తుంది, మరియు నిజానికి రన్ చేస్తుంది. కానీ ఖచ్చితంగా శైలి కోసం ఒక 5 కాదు. కానీ ఇప్పుడు, మేము ఈ డైరెక్టరీలో వెళ్ళి ఉంటే ఇక్కడ మరియు నేను కలిగి conditions2.c ప్రకటన మరియు నేను, Enter, ఈ ఫైల్ conditions2.c ఈ కొత్త ఆదేశం, style50, అమలు అది అందమైన ఉంది నాకు సమాచారం చేసే గమనిస్తారు. Gedit, ఫైలు డిస్కులో మార్చబడింది గమనించాడు నేను రీలోడ్ క్లిక్ చేస్తే మరియు, మీ అన్ని సమస్యలు ఇప్పుడు స్వయంచాలకంగా ఉంటాయి. [చప్పట్లు] అంటే ఈ వారాంతంలో చేసిన విషయాలు ఒకటి. కొన్ని కోడ్ ఉన్నాయి ఎందుకంటే అది అసంపూర్ణ అని రియలైజ్ అది ఖచ్చితంగా stylize చేయగలరు, కాదని కాని ఈ ఇప్పుడు మీరు పొందగలరు ఉపకరణం మాత్రమే మరింత errantly ఉంచుతారు వంకర జంట కలుపులు యొక్క అప్ చక్కనైన కొన్ని మరియు ఇష్టపడితే. కానీ మరింత ఖచ్చితంగా ఇప్పుడు CS50 చెక్ ఉంది. CS50 చెక్, మీరు ఒకే సరి పరీక్షలు చేయవచ్చు టీచింగ్ సభ్యులు చేయగల మీ స్వంత కోడ్ న. ఈ పరికరంలోని ఇప్పుడు వచ్చే ఒక కమాండ్ లైన్ సదుపాయం వెంటనే మీకు ప్రకారం ఒక update50 చేస్తాను pset 4 లక్షణాలు, మరియు మీరు ఈ తప్పనిసరిగా దాన్ని ఉపయోగించండి. మీరు కమాండ్ check50 అమలు. అప్పుడు మీకు ఒక కమాండ్ లైన్ వాదన లో పాస్, లేదా సాధారణంగా ఒక స్విచ్ లేదా పతాకం అని పిలుస్తారు. సాధారణంగా, హైపన్ కలిగి వస్తువులు స్విచ్ అంటారు ఒక కమాండ్ లైన్ కార్యక్రమం, తద్వారా-c నిర్దేశిస్తుంది మీరు అమలు చేయడానికి కావలసిన తనిఖీ చేస్తుంది. మీరు అమలు చేయడానికి కావలసిన పరీక్షలు, ప్రత్యేకంగా ఈ స్ట్రింగ్ ద్వారా గుర్తించబడతాయి 2012/pset4/resize. ఇతర మాటలలో, కేవలం ఏకపక్ష కానీ ప్రత్యేక స్ట్రింగ్ యొక్క మేము ప్రత్యేకంగా pset 4 యొక్క సరి పరీక్షలు గుర్తించడానికి ఉపయోగించే. మరియు మీరు అప్లోడ్ చేయాలనుకున్న ఫైళ్ళను స్పేస్ వేరు జాబితాని పేర్కొనడానికి విశ్లేషణ కోసం CS50 పొందవచ్చు. ఉదాహరణకు, నేను ఇక్కడ నా పరిష్కారం వెళ్ళాలని ఉంటే resize.c- నాకు పెద్ద టెర్మినల్ విండో అప్ తెరిచి తెలియజేయండి మరియు నేను ముందుకు వెళ్లి లెట్స్ అమలు check50-c 2012/pset4/resize సే, మరియు నేను, ముందుకు వెళ్ళి, ఫైళ్ళ పేర్లు పేర్కొనండి resize.c, మరియు అప్పుడు కంప్రెస్, Enter నొక్కండి అది అప్లోడ్లు, అది వెతుకుతుంది, మరియు నేను పరీక్షలను మొత్తం బంచ్ విఫలమైంది. ఎడమ ఎగువన Red లో ఒక resize.c మరియు bmp ఉనికిలో చెప్పారు. ఆ పరీక్ష. అంటే అడిగారు ప్రశ్న. సమాధానం తప్పు, ఎందుకంటే అది సంతోషంగా ఉంది. ఈ కింది వైట్ టెక్స్ట్ ఉందని bmp.h అంచనా అన్నారు, మరియు ఆ కేవలం నా తప్పు. , నేను అప్లోడ్ మర్చిపోయాను, నేను రెండు ఫైళ్లను అప్ లోడ్ చెయ్యడానికి resize.c మరియు bmp.h. వారు అమలు చెయ్యలేదు ఎందుకంటే కానీ ఇప్పుడు ఇతర పరీక్షలు అన్ని పసుపు గమనించి, అతను చంపడు లేదా హ్యాపీ విచారంగా ఎందుకంటే అందువలన స్మైలీ ముఖం, నిలువు కానీ మేము ఆ ఇతర తనిఖీలు అమలు ముందుగా Red లో ఆ సమస్యను మార్పులు ఉంటాయి. దీన్ని పరిష్కరించడానికి నాకు లెట్. కూడా bmp.h తో, నాకు దూరంగా మరియు ఈ తిరిగి ఈ సమయంలో లెట్ అన్ని బాగా పోతే ఆదేశ, ఇప్పుడు నమోదు చేసి, మీ యొక్క కలిగి ఫలితంగా తనిఖీ తరువాత తిరిగి వెళుతున్న శ్వాస- నేను ఇప్పటివరకు pset 4 న నిజంగా బాగా చేస్తున్నాను అంటే అన్ని ఆకుపచ్చ,. మీరు ఇక్కడ చూడండి మరియు వివరణాత్మక టెక్స్ట్ నుండి ప్రతిపాదించే చేయవచ్చు అది మేము పరీక్షిస్తారు సరిగ్గా అదే. మేము మొదటి ఫైళ్లు ఉన్నాయి పరీక్షించారు? మేము అప్పుడు resize.c కంపైల్ చేస్తుంది పరీక్షించారు? అప్పుడు మేము n, పునఃపరిమాణం అంశం, 1 ఉన్నప్పుడు అది ఒక 1x1-పిక్సెల్ BMP పరిమాణాన్ని లేదు పరీక్షించారు. మీరు n అంటే ఏమిటో తెలియదు ఉంటే ఇప్పుడు, మీరు ఒకసారి మీరు, pset 4 ప్రవేశిస్తాడు కనిపిస్తుంది కానీ ఆ కేవలం మీరు పునఃపరిమాణం లేదు నిర్ధారించుకోండి ఒక పవిత్రత తనిఖీ ఉంది పునఃపరిమాణం ఫాక్టర్ 1 ఉంటే అన్ని వద్ద ఒక చిత్రం. దీనికి విరుద్ధంగా, ఇది సరిగ్గా 2x2 ఒక 1x1 పిక్సెల్ BMP ఒక 1x1 పిక్సెల్ resizes ఉంటే n 2 ఉన్నప్పుడు, అప్పుడు అదేవిధంగా, గని అనుగుణంగా ఉంది. చిన్న లో, ఈ ఒక, అర్థం, దాటే వేళ్లు పడుతుంది మీకు ముందు సమీకరణం నుండి మీ pset submit. మీరు మీ TF వెంటనే తెలుస్తుంది సరిగ్గా ఏమి ఉంటుంది మీరు ఈ సమస్య సెట్లు కొన్ని సమర్పించడం గురించి అనుకుంటే, మరియు బోధనకు ప్రేరణ ఉంచాలి నిజంగా ఉంది మీరు ఒక ఊహాకల్పిత తెలుసు కనుక మీరు ముందు అవకాశం మీ కోడ్ దోషాలు మరియు పాస్ కాదు పరీక్షలు, అక్కడ ఆ సమస్యలను పరిష్కరించటానికి ముందు అప్ మరింత సమర్థవంతమైన సమయంలో ఉంచవచ్చు పాయింట్లను కోల్పోతారు కంటే, మీ TF నుండి ఫీడ్ బ్యాక్ పొందడానికి మరియు నేను ఆ కనుగొన్నారు వుండాలి వంటి ", Ahh", వెళ్ళండి. ఇప్పుడు కనీసం మీరు ఆ కనుగొనడానికి సహాయం ఒక సాధనం ఉంది. ఇది బగ్ ఉన్న అభిప్రాయపడుతున్నారు మాత్రం కాదు, కాని అది ఇత్సెల్ఫ్ ఇది చిహ్నంగా ఏమిటి. ఇప్పుడు పరీక్షలు తప్పనిసరిగా సమగ్రంగా ఉన్నాయి తెలుసుకుంటారు. మీరు ఆకుపచ్చ స్మైలీ ముఖాల పూర్తి స్క్రీన్ పొందండి వలన మీ కోడ్ ఖచ్చితమైన అని అర్ధం కాదు, కానీ అర్ధం లేదు అది నిర్దేశ సూచించిన కొన్ని పరీక్షలు దాటింది ఆ. కొన్నిసార్లు మేము తనిఖీలు విడుదల కాదు. ఉదాహరణకు, హూడన్ఇట్, pset 4 అంశాలు ఒకటి, మేము మీరు నిరాశ రకం ఇవ్వాలని ఉంటే అది ఏమిటో, మరియు బహిర్గతం రకాలుగా ఉంది వంటి సమాధానం వ్యక్తి ఎరుపు శబ్దం ఎవరు. స్పెక్ ఎల్లప్పుడూ pset 5 ముందుకు కోసం భవిష్యత్తులో తెలుపుతుంది మీరు కోసం ఉనికిలో వెతుకుతుంది ఏ. మీరు క్రింద ఈ వైట్ URL లేదు మీరు గమనించవచ్చు. ఇప్పుడు, ఈ కేవలం విశ్లేషణ అవుట్పుట్ ఉంది. మీరు ఆ URL సందర్శించండి, మీరు వెర్రి, గుప్తమైన సందేశాల మొత్తం బంచ్ పొందుతారు మీరు ద్వారా రూపానికి స్వాగతం, కానీ అది సిబ్బంది ఎక్కువగా ఉండే కాబట్టి మేము నిర్ధారించడానికి మరియు check50 స్వయంగా దోషాలు డీబగ్ చేసే. అవి లేకుండా, మేము యొక్క వదిలి పేరు కొనసాగండి తెలియజేయండి. కొన్ని వారాల మంజూరు కోసం మేము పట్టింది CS50 లైబ్రరీ, కానీ అప్పుడు గత వారం, మేము ఇది పొరల యొక్క ఒక తిరిగి పొట్టు ప్రారంభించారు. మేము బదులుగా ఏమి అనుకూలంగా స్ట్రింగ్ పక్కన పెట్టటం ప్రారంభించాడు? [స్టూడెంట్స్] చార్. ఈ సమయంలో ఒక చార్ * ఉంది చార్ *,, కానీ ఇప్పుడు మేము ఇది ఒక వాస్తవ డేటా రకం స్ట్రింగ్ అని నటిస్తాడు లేదు. అయితే,, చార్ * కొరకు అన్నిరకాల పర్యాయపదంగా ఉన్నారు మరియు ఒక స్ట్రింగ్, అక్షరాలు ఒక వరుస క్రమం కాబట్టి ఎందుకు చార్ * s వంటి తీగలను ప్రాతినిధ్యం సమంజసం లేదు? ఒక చార్ * స్ట్రింగ్ యొక్క ఈ భావన యొక్క సందర్భం లో ఏం ప్రాతినిధ్యం లేదు? అవును. >> [స్టూడెంట్] మొదటి పాత్ర. గుడ్, మొదటి అక్షరం, కానీ చాలా మొదటి పాత్ర. ఇది-[స్టూడెంట్స్] చిరునామా ఉంది. గుడ్, మొదటి అక్షరం యొక్క చిరునామా. ఒక కంప్యూటర్ యొక్క మెమరీ లో ఒక స్ట్రింగ్ ప్రాతినిధ్యం అందరికీ కేవలం దాని మొట్టమొదటి బైట్ యొక్క ఏకైక చిరునామా. మీరు కూడా ఇది ఎంత తెలుసు లేదు ఎలా మీరు డైనమిక్ ఆ గుర్తించడానికి ఎందుకంటే? [స్టూడెంట్] స్ట్రింగ్ పొడవు. మీరు స్ట్రింగ్ పొడవు, అద్భుతమైన, కాని ఎలా స్ట్రింగ్ పొడవు పని చేస్తుంది కాల్ చేయవచ్చు? ఇది ఏమి చేస్తుంది? అవును. [స్టూడెంట్] మీరు శూన్య పాత్ర వచ్చేవరకు కొనసాగించడాన్ని. అవును, సరిగ్గా, అది కేవలం అయితే లూప్, లూప్ ఒక తో iterates * నుండి చివరి వరకు ఏ, మరియు ముగింపు ప్రాతినిధ్యం ఉంది \ 0 ద్వారా, అని పిలవబడే nul పాత్ర nul, ఒక పాయింటర్ ఉంది శూన్య, పోలి ఉంటాయి కాదు ఈ రోజు మళ్ళీ సంభాషణ లో వస్తారు. , మేము తిరిగి GetInt ఒక పొర ఒలిచిన, మరియు అప్పుడు మేము GetString వద్ద చూడటం జరిగింది మరియు, ఆ విధులు రెండు, లేదా నిజంగా రీకాల్ GetString, ఒక నిర్దిష్ట చర్యను ఉపయోగించటం ఉంది వాస్తవానికి అన్వయించడం, వినియోగదారు యొక్క ఇన్పుట్ లేదా చదవండి విశ్లేషించడానికి అని. ఆ కొత్త ఫంక్షన్ ఏమిటి? Scanf లేదా sscanf. ఇది నిజానికి కొన్ని విభిన్న రుచులు వస్తుంది. Scanf ఉన్నాయి, sscanf ఉంది, fscanf ఉంది. ఇప్పుడు కోసం, అయినప్పటికీ, యొక్క అతి సులువుగా చిత్రించారు దృష్టి తెలియజేయండి మరియు నాకు ముందుకు వెళ్లి పరికరంలోని ప్రారంభం తెలియజేయండి ఈ వంటి ఫైలు, scanf1.c. ఇది ఒక సూపర్ సాధారణ ప్రోగ్రామ్ కానీ మేము ఎన్నడూ లేని ఏదో చేస్తుంది CS50 లైబ్రరీ సహాయం లేకుండా. ఈ వినియోగదారు నుండి ఒక పూర్ణాంకానికి పొందుతాడు. అది ఎలా పనిచేస్తుంది? Well, మార్గం కూడా 16 లో, మేము ఒక పూర్ణాంకానికి అని x డిక్లేర్ అని గుర్తించలేకపోతే, మరియు కథ ఈ సమయంలో, x యొక్క విలువ ఏమిటి? [వినబడని విద్యార్థి ప్రతిస్పందన] [డేవిడ్ M.] కుడి, తెలిసిన, కొన్ని చెత్త విలువ సమర్థవంతంగా, కాబట్టి 17 లో, మేము వినియోగదారు చెప్పండి దయచేసి, నాకు అనేక ఇస్తుంది మరియు ఇది ఆసక్తికరమైన గెట్స్ పేరు స్టెప్ 18 ఉంది. Scanf అది కోట్స్ లో ఈ ఫార్మాట్ సంకేతాలు ఉపయోగించే లో printf నుండి ఒక ఆలోచన ఋణం తెలుస్తోంది. % D కోర్సు యొక్క దశాంశ సంఖ్య. కానీ నేను & x బదులుగా కేవలం x అక్కడ వున్నాను? మాజీ సరైనది. అవును. [వినబడని విద్యార్థి ప్రతిస్పందన] సరిగ్గా, ఈ కార్యక్రమం యొక్క లక్ష్యం, ఫంక్షన్ GetInt కూడా వంటి, యూజర్ నుండి ఒక పూర్ణాంకానికి పొందడానికి నేను విధులు పాస్ కాదు అన్ని విషయాల్లోనూ నేను కావాలి, కాని నేను సూచన వాటిని పాస్ లేకపోతే లేదా పాయింటర్ చిరునామా ద్వారా లేదా, నేటి ప్రయోజనాల కోసం అన్ని పర్యాయపదంగా, ఆ ఫంక్షన్ ఆ వేరియబుల్ విషయాలు మార్చుకునే సామర్థ్యం కలిగి ఉంది. ఇది స్వాప్ బగ్గీ సంస్కరణ వలె కాపీని లో చేరుతుందని మేము ఇప్పుడు కొన్ని సార్లు మాట్లాడుకున్నారు చేసిన. కానీ బదులుగా, చేయడం & x ద్వారా, నేను అక్షరాలా ఏ అక్కడ నేను? [స్టూడెంట్] చిరునామా. X యొక్క చిరునామా >>. ఇది scanf అని ఫంక్షన్కు ఒక పటం గీయడం మరియు ఇక్కడ చెప్పడం వంటిది ఈ కంప్యూటర్ లో మెమరీ భాగం ఆదేశాలను ఉంటాయి మీరు కొన్ని పూర్ణాంక నిల్వ వెళ్ళే ఆ క్రమంలో sscanf కోసం ఇప్పుడు ఆ విధంగా చేయడానికి ఏ ఆపరేటర్లు, వాక్యనిర్మాణం యొక్క ఏ భాగాన్ని దానిని ఉపయోగించడానికి అన్నారు ఎవరో ఈ ఫంక్షన్ రాశారు ఎందుకంటే మేము దీనిని చూడలేరు అయినప్పటికీ? ఇతర మాటలలో - ఆ ఏది? [స్టూడెంట్] X చదవండి. అక్కడ కొన్ని పఠనం మాత్రం, కానీ ఇక్కడ x సంబంధించి ఉంటుంది. Scanf x యొక్క చిరునామా జారీ ఉంది ఉంటే, పదము, ఏ ఆపరేటర్లు ఎక్కడో ఇమిడిపోగలదని లోపల scanf యొక్క అమలు తద్వారా scanf నిజానికి ఆ చిరునామా ఒక సంఖ్య 2 వ్రాయగలరు? అవును, కాబట్టి *. * తప్పనిసరిగా అక్కడ వెళ్ళి అంటే మా dereference ఆపరేటర్లు, అని గుర్తు. కేసు ఇక్కడ ఉంది మీరు,, ఒక చిరునామా అప్పగించారు చేసిన scanf మేము నిజానికి దాని మూల చుట్టూ చూస్తూ బహుశా-ఉంటే కోడ్ * x లేదా వాస్తవానికి ఆ చిరునామాకు వెళ్ళి అక్కడ కొన్ని విలువ ఉంచాలి సమానమైన చేస్తోంది. ఇప్పుడు scanf కీబోర్డ్ నుండి ఇన్పుట్ గెట్స్ ఎలా, మేము ఈ రోజు మా చేతులు బయటకు దుర్చాల్సిన చేస్తాము. జస్ట్ ఆపరేటింగ్ సిస్టమ్ మాట్లాడటానికి sscanf అనుమతిస్తుంది భావిస్తాయి యూజర్ యొక్క కీబోర్డ్, కానీ ఇప్పుడు లైన్ 19 ఈ సమయంలో, మేము కేవలం x ముద్రించాలా, అది కేస్ ఉంది ఆ scanf x ఒక Int విధించింది. ఖచ్చితంగా scanf ఎలా పని చేస్తుందో, మరియు గత వారం రీకాల్ ఆ ఎలా GetString మరియు GetInt మరియు కార్యకలాపాల యొక్క ఇతర కుటుంబం చివరికి, sscanf వంటి కొంచెం తేడాలో ఉన్నప్పటికీ, పనిచేస్తుంది ఇది బదులుగా కీబోర్డ్ యొక్క స్ట్రింగ్ స్కాన్ అర్థం. కానీ యొక్క ఈ చిన్న భేదము పరిశీలించి అనుమతిస్తుంది. Scanf2 లో, నిజానికి అప్ చిత్తు చేశాడు. ఏం తప్పు-మరియు నేను వివరిస్తూ చాలా-వ్యాఖ్యను దాచిపెట్టు చేస్తాము వెర్షన్ 2, ఈ కార్యక్రమం సమస్య ఏమిటి? ఈ సమయంలో వీలైనంత సాంకేతిక ఉండండి. ఇది చాలా బాగుంది. ఇది చక్కగా ఇండెంట్, కాని చేసిన సరే, ఎలా యొక్క చిన్న ప్రశ్నలు దాన్ని ఎండు ద్రాక్ష తెలియజేయండి? లైన్ 16. ఖచ్చితమైన కాని సాంకేతిక ఆంగ్ల చేయడం లైన్ 16 ఏమిటి? కొద్దిగా ఇబ్బందికరమైన తెలుసుకోవచ్చు. అవును, మైఖేల్. [స్టూడెంట్] ఇది ఒక స్ట్రింగ్ యొక్క మొదటి అక్షరం సూచించే యొక్క. సరే, దగ్గరగా. నాకు ఒక చిన్న bit సర్దుబాటు లెట్. ఒక స్ట్రింగ్ యొక్క మొదటి అక్షరం సూచించే, మీరు ఒక వేరియబుల్ అని బఫర్ ప్రకటించారు ఉంటాయి ఆ, ఒక తీగ యొక్క మొదటి చిరునామాకు ఆకర్షిస్తాయి లేదా, మరింత ప్రత్యేకంగా ఒక చార్ కు ఆకర్షిస్తాయి. ఏ అప్పగించిన ఆపరేటర్లు లేదు ఎందుకంటే ఇది వాస్తవానికి ఎక్కడైనా పై కాదు నోటీసు. ఏ సమాన సైన్ ఉంది, మేము చేస్తున్నా అన్ని వేరియబుల్ అని బఫర్ పెడుతోంది ఉంటుంది. అది ఒక పాయింటర్ ఎందుకంటే, 32 బిట్స్ నిర్మాణము మరియు బఫర్ యొక్క కంటెంట్లను బహుశా చివరకు ఒక చార్ యొక్క చిరునామాను కలిగి ఉంటుంది, కానీ ఇప్పుడు కోసం, బఫర్ ఏమి ఉంది? కొన్ని బోగస్, తెలిసిన, కొన్ని చెత్త విలువ, మేము స్పష్టంగా ఇది initialized లేదు కాబట్టి, మేము ఏదైనా పరిగణించలేము. సరే, ఇప్పుడు లైన్ 17-ఏది కారణం లైన్ 17 చేస్తుంది? బహుశా ఈ వేడెక్కాల్సిన కనిపిస్తుంది. ఇది కుడి, ఒక స్ట్రింగ్ ముద్రిస్తుంది? ఇది స్ట్రింగ్ దయచేసి ముద్రిస్తుంది. లైన్ 18 మేము ఈ ఒక వైవిధ్యం కనిపించింది ఇప్పుడు సుపరిచితమే రకం కానీ భిన్న కోడ్, కాబట్టి లైన్ 18 లో, మేము ఇక్కడ scanf చెప్పుకుంటున్నారు మెమరీ భాగం యొక్క చిరునామా. నేను, మీరు% s సూచించినట్లు, ఒక స్ట్రింగ్ లో రింగ్ మీరు కానీ సమస్య మేము ఇక్కడ కొన్ని విషయాలను చేయలేదు అని. సమస్యలు ఒకటి ఏమిటి? [స్టూడెంట్] ఇది dereference ఒక నల్ పాయింటర్ ప్రయత్నిస్తున్నాడు. గుడ్, శూన్య లేదా తెలియలేదు పాయింటర్లు. మీరు scanf ఒక చిరునామా ఇవ్వడానికి, కానీ మీరు ఒక క్షణం క్రితం చెప్పారు మేము నిజంగా, ఏదైనా దానిని కేటాయించలేరు ఎందుకంటే ఆ చిరునామా కొన్ని చెత్త విలువ ఆ మరియు మీరు, scanf సమర్థవంతంగా ఇక్కడ ఒక స్ట్రింగ్ ఉంచారు వెళ్ళి చెప్పుకుంటున్నారు ఇక్కడ ఇంకా కానీ మేము, మాకు తెలియదు కాబట్టి మేము నిజంగా బఫర్ కోసం మెమరీ కేటాయించింది లేదు. అంతేకాకుండా, మీరు కూడా scanf చెప్పట్లేదు కూడా ఏవి? ఈ మెమరీ భాగం, ఇది, ఒక చెత్త విలువ కాదు ఒకవేళ కానీ మీరు ఇంకా scanf ముఖ్యమైన దానిని చెప్పటానికి లేదు. [స్టూడెంట్] సహజంగా ఎక్కడ, ఆంపర్సండ్ చిహ్నం. ఎమ్పారసన్డ్, కాబట్టి ఈ విషయంలో, సరైందే. బఫర్ ఇప్పటికే పాయింటర్ గా ప్రకటించింది ఎందుకంటే సింటెక్స్ * వస్తువు, మేము ఆంపర్సండ్ చిహ్నం ఉపయోగించడానికి అవసరం లేదు ఎందుకంటే అది ఇప్పటికే ఒక చిరునామా, కానీ నేను ఇక్కడ అది విన్న నేను భావిస్తున్నాను. [స్టూడెంట్] ఇది ఎలా పెద్దది? గుడ్, మేము, ఈ బఫర్ ఎంత పెద్ద scanf చెప్పటం లేదు ఇది బఫర్ ఒక పాయింటర్ కూడా ఉంటే అర్థం మేము, scanf చెప్పడం ఇక్కడ ఒక స్ట్రింగ్ ఉంచారు చేస్తున్నారు కానీ ఇక్కడ 2 బైట్లు ఉంటుంది, ఇది 10 బైట్లు ఉంటుంది, ఇది ఒక మెగాబైట్ ఉంటుంది. Scanf తెలియదు, మరియు ఈ మెమరీ భాగం ఎందుకంటే బహుశా, ఇది ఇంకా ఒక స్ట్రింగ్ కాదు. మీరు అక్షరాలు మరియు మెమరీ ఆ భాగం ఒక \ 0 వ్రాయడానికి మాత్రమే అది స్ట్రింగ్ ఉంది. ఇప్పుడు అది కేవలం మెమరీ కొన్ని భాగం ఉంది. Scanf ఆ చిరునామాకు టు స్టాప్ రైటింగ్ సమయంలో తెలియదు. మీరు నేను యాదృచ్ఛికంగా కీబోర్డుపై టైప్ పేరు గతంలో కొన్ని ఉదాహరణలు గుర్తు ఉంటే ఓవర్ఫ్లో ఒక బఫర్ ప్రయత్నిస్తున్న, మరియు మేము ఖచ్చితంగా గురించి శుక్రవారం మాట్లాడారు. శత్రువులు ఏదో మీ కార్యక్రమంపై ఒక పెద్ద పదం పంపిస్తారు ఉంటే లేదా వాక్యం లేదా పదబంధం మీరు ఆక్రమిత చేయవచ్చు ఆశించారు చెడు పరిణామాలకు ఇది మెమరీ భాగం, మొత్తం కార్యక్రమం కూడా చేపట్టడం ఇష్టపడుతున్నారు. మేము ఏదో ఈ పరిష్కరించడానికి అవసరం. నాకు దూరంగా మరియు ఈ ప్రోగ్రామ్ యొక్క వర్షన్ 3 వెళ్ళి తెలపండి. ఒక చిన్న bit మంచి పని. ఈ సంస్కరణలో, తేడా గమనించవచ్చు. లైన్ 16, నేను మళ్లీ ఒక వేరియబుల్ అని బఫర్ ప్రకటించారు చేస్తున్నాను కానీ ఇప్పుడు ఏమిటి? ఇది 16 అక్షరాలు యొక్క వ్యూహం ఉంది. నేను ఇప్పుడు scanf తెలియజేయవచ్చు దీనర్థం ఎందుకంటే ఈ మంచి ఉంది ఇక్కడ మెమరీ యొక్క ఒక వాస్తవ భాగం ఉంది. మీరు దాదాపు, ఇప్పుడు గమనికలు గా శ్రేణుల యొక్క ఆలోచించవచ్చు వారు వాస్తవానికి సమానం కాదు ఉన్నప్పటికీ. వారు వివిధ సందర్భాల్లో భిన్నంగా ప్రవర్తించేందుకు చేస్తాము. కానీ అది ఖచ్చితంగా బఫర్ సూచిస్తూ ఆ కేస్ 16 వరుస అక్షరాలు ఆ ఏమి వ్యూహం ఎందుకంటే మరియు ఇప్పుడు కొన్ని వారాలు ఉంది. ఇక్కడ, నేను ఇక్కడ scanf చెప్పడం am మెమరీ భాగం ఉంది. ఈ సమయంలో, ఇది నిజానికి మెమరీ భాగం యొక్క కానీ ఎందుకు ఈ కార్యక్రమం ఇప్పటికీ ప్రమాదకర ఉంది? ఇప్పటికీ తప్పు ఏమిటి? నా 16 బైట్లు కానీ-ఇవ్వాలని చెప్పారు చేసిన [స్టూడెంట్] ఇతరులు కంటే ఎక్కువ 16 లో టైప్ చేస్తే? సరిగ్గా, ఏ 17 అక్షరాలు లేదా 1700 అక్షరాలు వినియోగదారు రకాల ఉంటే? నిజానికి, ఇప్పుడు మేము ఈ తప్పు మీద యాత్ర పోతే యొక్క చూసేలా. ఇది మంచి కాని ఖచ్చితమైన కాదు. నాకు ముందుకు వెళ్లి ఈ కార్యక్రమం తయారు చేసుకుని scanf3 తయారు అమలు అయ్యేలా అనుమతించండి. హలో, మరియు మేము ఓకే అనిపిస్తుంది: స్ట్రింగ్, నాకు scanf3 అమలు చేయండి లెట్. నాకు హలో అక్కడ, కొద్దిగా పొడవుగా ప్రయత్నించండి లెట్. సరే, నమోదు, నేడు మీరు ఎలా ఉన్నారు అక్కడ హలో యొక్క మనం. ఇక్కడ లక్కీ రకం పొందడం, లెట్స్ ఎలా ఉన్నావు అక్కడ హలో చెప్పండి. అది డామన్. సరే, మేము లక్కీ వచ్చింది. మేము దీన్ని పరిష్కరించడానికి కాదు లేదో యొక్క చూసేలా. కాదు, అది నన్ను కాపీ వీలు మాత్రం కాదు. యొక్క మళ్ళీ ప్రయత్నించండి లెట్. All right, నిలిపాడు. మేము నాకు ఇప్పటికీ ఈ చేసేటప్పుడు దృష్టి నటిస్తారు ఎలా దీర్ఘ చూస్తారు. అది డామన్. వాస్తవానికి, బదులుగా సరైనది. అక్కడ మేము వెళ్ళి. పాయింట్ చేసింది. ఈ, అది కూడా ఉన్నప్పటికీ, ఇబ్బందులు కూడా గొప్ప గందరగోళం మూలాలు ఒకటి వారు తమను తాము వ్యక్తం ఎందుకంటే దోషాలు కలిగి కార్యక్రమాలు రాసేటప్పుడు ఒక్కసారి మాత్రమే కొన్నిసార్లు కొద్దిసేపట్లో. రియాలిటీ, మీ కోడ్ పూర్తిగా విభజించబడింది ఉంటే ఉంది అది మాత్రమే పూర్తిగా కొద్దిసేపట్లో ఒకసారి విచ్ఛిన్నం చేయవచ్చు కొన్నిసార్లు, ముఖ్యంగా ఏమి జరుగుతుందనే ఆపరేటింగ్ సిస్టమ్ కేటాయించుకునే ఎందుకంటే మీరు కంటే కొద్దిగా ఎక్కువ మెమొరీ వాస్తవానికి, కారణము ఏదైనప్పటికీ అవసరం అందువలన ఎవరూ, కుడి 16 అక్షరాలు మీ భాగం తర్వాత మెమరీ ఉపయోగిస్తుంది మీరు 17, 18, 19, ఏ, ఇటువంటి పెద్ద ఒప్పందంలో కాదు వెళ్ళండి చేస్తున్నాను. ఇప్పుడు, కంప్యూటర్, అది ఆ సమయంలో క్రాష్ లేదు కూడా, చివరకు ఏదో కోసం బైట్ సంఖ్య 17 లేదా 18 లేదా 19 ఉపయోగించుకునే, ఇది వద్ద అధికంగా పొడవుగా అయితే మీరు అక్కడ ఉంచిన మీ డేటా పాయింట్ కొన్ని ఇతర చర్య ద్వారా సమర్థవంతంగా భర్తీ పొందడానికి అన్నారు. ఇది తప్పనిసరిగా చెక్కుచెదరకుండా ఉన్నాయి మాత్రం కాదు కానీ అది తప్పనిసరిగా ఒక seg లోపం కారణం కాదు. కానీ ఈ సందర్భంలో, చివరికి నేను తగినంత అక్షరాలు అందించిన నేను తప్పనిసరిగా మెమరీ నా విభాగంలో అధిగమించింది మరియు మోసం చేయు ఆ ఆపరేటింగ్ సిస్టమ్ "క్షమించాలి, ఏ మంచి, సెగ్మెంటేషన్ తప్పు.", అన్నాడు మరియు నా ఇక్కడ ఉంది ఉంటే ఇప్పుడు చూద్దాం డైరెక్టరీ- నేను ఇక్కడ కోర్ ఈ ఫైలు మేము గుర్తించాము. మళ్ళీ ఒక కోర్ డంప్ అని గమనించండి. ఇది తప్పనిసరిగా మీ ప్రోగ్రామ్ యొక్క మెమరీ కంటెంట్ కలిగి ఫైల్ అది క్రాష్ దశలో వద్ద, మరియు కేవలం ఇక్కడ ఒక చిన్న ఉదాహరణ ప్రయత్నించండి నన్ను ఇక్కడ వీడలేదు మరియు, కోర్ అనే మూడవ వాదన పేర్కొనండి అప్పుడు scanf3 న GDB అమలు మరియు మరియు ఇక్కడ గమనించవచ్చు నేను కోడ్ జాబితా ఉంటే, మేము, ఈ కార్యక్రమం ద్వారా వాకింగ్ ప్రారంభించడానికి GDB సాధారణంగా వంటి చేయగలరు మరియు నేను వంటి హిట్ గా అడుగు ఆదేశంతో వెంటనే అమలు చేయవచ్చు మరియు GDB- నేను ఒక పెద్ద స్ట్రింగ్ లో టైప్ తర్వాత సమర్థవంతంగా బగ్గీ లైన్ హిట్, వెంటనే నిజానికి ఇక్కడ అది గుర్తించడానికి చేయగలరు. మరిన్ని ఈ, అయితే, కోర్ డంపుల పరంగా విభాగంలో మరియు మీరు నిజంగానే కోర్ డంప్ లోపలి చుట్టూ దూర్చు తద్వారా ఇష్టం మరియు ప్రోగ్రామ్ మీరు విఫలమైంది ఏ పంక్తిలో చూడండి. గమనికలు మరియు చిరునామాలను అప్పటి ఏదైనా ప్రశ్నలు? నేటి ఎందుకంటే, మేము ఈ విషయాలు ఉన్నాయి అని మంజూరు కోసం ఆరంభిస్తాయి చూడాలని మరియు మేము వారు ఖచ్చితంగా తెలుసు. అవును. [స్టూడెంట్] ఎలా మీరు పక్కన ఒక ఆంపర్సండ్ చిహ్నం ఉంచాలి లేదు వచ్చి పార్ట్ ప్రశ్న గుడ్. నేను గతంలో వలె పాత్ర శ్రేణి తరువాత ఒక ఆంపర్సండ్ చిహ్నం ఉంచాలి లేదు వచ్చి మా ఉదాహరణ ఎక్కువగా? చిన్న సమాధానం శ్రేణుల కొద్దిగా ప్రత్యేక ఉంటాయి. మీరు దాదాపు, వాస్తవానికి ఒక చిరునామా గా బఫర్ ఆలోచించవచ్చు మరియు ఇది కేవలం కాబట్టి సందర్భంలో చేసేట్టు చదరపు బ్రాకెట్ సంజ్ఞామానం మేము బ్రాకెట్ 0, బ్రాకెట్ 1, వెళ్ళాలని విధంగా సౌలభ్యం ఉంది * నోటేషన్ ను ఉపయోగిస్తాయి చేయకుండా బ్రాకెట్ 2. ఒక వైట్ అబద్ధం ఒక బిట్ ఎందుకంటే శ్రేణుల మరియు గమనికలు నిజానికి, కొద్దిగా భిన్నంగా ఉంటాయి, అయితే వారు ఎల్లప్పుడూ పరస్పరం ఉపయోగించవచ్చు. చెప్పాలంటే, ఒక ఫంక్షన్ మెమరీ భాగం ఒక పాయింటర్ ఆశిస్తున్న సమయంలో, మీరు గాని, అది malloc ద్వారా తిరిగి ఒక చిరునామా తరలిస్తారు మరియు మేము దీర్ఘ ముందు malloc చూస్తారు, లేదా మీరు వ్యూహం యొక్క పేరు పాస్ చేయవచ్చు. వారు ఉన్నారు కాబట్టి మీరు శ్రేణితో ఆంపర్సండ్ చిహ్నం ఏమి లేదు ముఖ్యంగా చిరునామాలను ఇష్టం. ఒక మినహాయింపు పేర్కొంది. చదరపు బ్రాకెట్లలో వాటిని ప్రత్యేక చేయండి. మీరు బఫర్ పక్కన ఒక ఆంపర్సండ్ చిహ్నం ఉంచారు కాలేదు? ఈ సందర్భంలో. ఈ మూలలో కేసులో, ఎందుకంటే, మళ్లీ పనిచేయవు పేరు శ్రేణుల చాలా వాస్తవానికి చిరునామాలు కావు. కానీ మేము బహుశా ఇతర ఉదాహరణలు తో చాలా కాలం క్రితమే వచ్చి చేస్తాము. యొక్క ఇక్కడ ఒక సమస్యను పరిష్కరించడానికి ప్రయత్నించండి లెట్. మేము వ్యూహం తెలిసిన కొంత సమయం ఉపయోగించిన చేసిన ఒక డేటా ఆకృతి. పాయింట్ కేస్, మేము కేవలం కలిగి ఏమి. కానీ శ్రేణుల కొన్ని చేయబడనపుడు మరియు దుష్ప్రభావాలు ఉంటాయి. వ్యూహాలను nice ఎందుకు ఉన్నాయి? మీరు నుంచి ఒక్క విషయము మీరు శ్రేణుల శ్రేణుల గురించి ఇష్టం మేరకు ఏమిటి? ఏ వాటి గురించి అనుకూలమైన ఏమిటి? బలవంతపు ఏమిటి? ఎందుకు మేము మొదటి స్థానంలో వాటిని పరిచయం చేశారు? అవును. [స్టూడెంట్] వారు డేటా చాలా నిల్వ చేయవచ్చు, మరియు మీరు ఒక పూర్తి విషయం ఉపయోగించడానికి లేదు. మీరు ఒక విభాగాన్ని ఉపయోగించవచ్చు. గుడ్, మీరు దత్తాంశ నిల్వ చేయవచ్చు వ్యూహం తో, మరియు, మీరు తప్పనిసరిగా అది అన్ని ఉపయోగించడానికి లేదు, కాబట్టి మీరు overallocate చేయవచ్చు ఎలా అంచనా ఏదో అనేక మీరు ముందుగానే తెలియకపోతే అనుకూలమైన అయి ఉండవచ్చు. GetString ఒక ఖచ్చితమైన ఉదాహరణ. మాకు రాసిన GetString, ఆశించడం ఎన్ని అక్షరాలు తెలియదు కాబట్టి మేము ఆనుకొని మెమరీ భాగాలుగా కేటాయించాలని ఉండటం మంచిది. వ్యూహాలను కూడా ఇప్పుడు మాకు ఒక జంట వారాల క్రితం చూసిన ఒక సమస్యను పరిష్కరించడానికి మీ కోడ్ చాలా పేలవంగా రూపొందించిన దానిని బదిలీ మొదలవుతుంది పేరు. నేను డేవిడ్ అనే విద్యార్థి నిర్మాణం సృష్టించిన రీకాల్ మరియు ఆ, అయితే, వాస్తవానికి ఒక ప్రత్యామ్నాయ ఉంది ఒక వేరియబుల్ అని పేరు మరియు, నేను అనుకుంటున్నాను, హౌస్ అని మరొక వేరియబుల్ కలిగి, మరియు ఆ కథలో నేను ఏదో పరిచయం కావాలి కనుక ID అనే మరొక వేరియబుల్ కార్యక్రమంలో రాబ్ వలె చాలా అప్పుడు నేను, ఒక నిమిషం వేచి నిర్ణయించుకుంది నేను ఈ చరరాశులు పేరు అవసరం. లెట్ యొక్క గని NAME1, ID1, house1 కాల్. లెట్ యొక్క రాబ్ యొక్క NAME2, house2, ID2 కాల్. కానీ ఏమి టామీ గురించి ఒక నిమిషం వేచి ఉండండి,? అప్పుడు మేము మూడు కంటే ఎక్కువ విషయాలు ఉన్నారు. మేము ఎవరో, వేరియబుల్స్ యొక్క నాలుగు సెట్లలో పరిచయం. వరల్డ్, చాలా త్వరగా దారుణంగా పొందడానికి ప్రారంభించారు కాబట్టి మేము structs పరిచయం, మరియు ఒక struct గురించి నిర్బంధిత? ఒక సి struct మీరు ఏమి వీలు లేదు? ఇది నేడు నిజంగా ఇబ్బందికరమైన ఉంది. ఏం? >> [వినబడని విద్యార్థి ప్రతిస్పందన] అవును, ప్రత్యేకంగా, typedef మీరు, ఒక కొత్త రకం డేటా సృష్టించడానికి అనుమతిస్తుంది మరియు struct, struct కీవర్డ్, మీరు మాత్రం అనుమతిస్తుంది కలిసి డేటా సంభావితంగా సంబంధించిన ముక్కలు మరియు తరువాత వాటిని ఒక విద్యార్థి వలె ఏదో కాల్. ఇప్పుడు మేము నమూనా ఎందుకంటే మంచి ఉంది ఒక వేరియబుల్ ఒక విద్యార్థి యొక్క యొక్క మరింత విధమైన సంభావితంగా స్థిరమైన భావన కాకుండా ఏకపక్ష మొదలైనవి స్ట్రింగ్ ఒకటి, ఒక ID కోసం ఒక కలిగి, మరియు. వారు మా కోడ్ శుభ్రం ప్రారంభం అనుమతిస్తాయి వ్యూహాలను nice ఉంటాయి. కాని ఒక శ్రేణిని ఇప్పుడు వ్యతిరేక స్థితి ఉంది? మీరు ఏమి చేయలేరు? అవును. [స్టూడెంట్] మీరు ఎంత పెద్ద తెలుసుకోవలసి ఉంటుంది. మీరు ఎంత పెద్ద తెలుసుకోవలసి ఉంటుంది, ఇది ఒక నొప్పి రకం కాబట్టి. మీరు ఆ ముందు ప్రోగ్రామింగ్ అనుభవం మీకు భాషలు చాలా లో, జావా వంటి, మీరు మెమరీ భాగం, ప్రత్యేకించి ఒక వరుస అడగవచ్చు ఎంత పెద్ద మీరు మాట్లాడటానికి పొడవు, ఆస్తి, కలిగి ఉంటుంది, మరియు ఇది నిజంగా అనుకూలమైన ఉంది. సి, మీరు కూడా ఒక సాధారణ శ్రేణి న strlen కాల్ చెయ్యలేరు పదం కాబట్టి strlen ఎందుకంటే, మాత్రమే తీగలను కోసం మరియు మీరు ఎందుకంటే ఈ మానవ కన్వెన్షన్ యొక్క స్ట్రింగ్ యొక్క పొడవు గుర్తించడానికి చేయవచ్చు ఒక \ 0, కానీ వ్యూహం కలిగి, ఎక్కువ సామాన్యముగా, కేవలం మెమరీ భాగం ఉంది. అది ints యొక్క వ్యూహం అయితే, కొన్ని ప్రత్యేక పాత్ర ఉన్నట్లు మాత్రం కాదు చివరిలో మీరు కోసం వేచి ఉంది. మీరు వ్యూహం యొక్క పొడవు గుర్తుంచుకోండి. వ్యూహం మరో ఇబ్బంది కూడా GetString లో తల పెంచిన. వ్యూహం యొక్క మరొక స్థితి ఏమిటి? సర్, మీరు మరియు నాకు ఈ రోజు. [వినబడని విద్యార్థి ప్రతిస్పందన] >> ఇది ఏమిటి? ఇది స్టాక్ న ప్రకటించబడిన. సరే, స్టాక్ న ప్రకటించింది. ఎందుకు మీరు ఆ ఇష్టం లేదు? [స్టూడెంట్] దానిని తిరిగి వాడతారు అవుతుంది కాబట్టి. ఇది తిరిగి ఉంటుంది. సరే, మీరు మెమరీని కేటాయించాల్సిన వ్యూహం ఉపయోగిస్తే, ఇది స్టాక్ న ఎందుకంటే మీరు, ఉదాహరణకు, ఇది తిరిగి కాదు. సరే, ఒక ప్రతికూలత ఉంది. ఎలా వ్యూహం ఇతర గురించి? మీరు కేటాయించే ఒకసారి, మీరు మరింత ఖాళీ కావాలంటే రకమైన చిత్తు చేశాడు ఉన్నారు ఆ శ్రేణి కంటే. అప్పుడు మేము, మాకు డైనమిక్ మెమరీ కేటాయించే సామర్థ్యం ఇచ్చింది రీకాల్ malloc, పరిచయం. కానీ మేము పూర్తిగా వేరే ప్రపంచం ఏ ప్రయత్నించారు ఉంటే? మేము ఆ సమస్యలను పరిష్కరించేందుకు జంట కోరుకుంది ఏం కాబట్టి మేము బదులుగా-నా కలం ఇక్కడ నిద్రలో పడిపోయింది మనం బదులుగా ముఖ్యంగా ఈ వంటి గడువు ముగిసిన ప్రపంచ సృష్టించడానికి కోరుకుంటే? ఈ వ్యూహం, మరియు, వాస్తవానికి, ఈ రకమైన, ఒకసారి మేము శ్రేణి ముగింపు హిట్ క్షీణిస్తూ వస్తుంది ఇప్పుడు ఇక మరొక పూర్ణాంకం లేదా మరొక పాత్ర కోసం ఖాళీ. మేము విధమైన preemptively బాగా చెప్పుకోవాలంటే, ఎందుకు మేము విశ్రాంతి విషయమేమిటంటే మెమరీ ఈ రాళ్లను, వెనుకకు తిరిగి దగ్గరగా ఈ అవసరం మరియు నేను ఒక పూర్ణాంకానికి లేదా చార్ అవసరం వచ్చినప్పుడు లేదు, వాటిని ఒక కోసం ఖాళీ ఇవ్వాలని? నేను మరొక అవసరం వచ్చినప్పుడు, నాకు మరొక స్థలం ఇవ్వండి మరియు నేను మరొక అవసరం వచ్చినప్పుడు నాకు మరొక స్థలం ఇవ్వండి. ఇది ప్రయోజనాన్ని ఇప్పుడు ఆ ఉంటే ఇతరుల ఉంది ఇక్కడ పైగా మెమరీ, ఏ పెద్ద ఒప్పందం పడుతుంది. నేను ఇక్కడ మరియు ఈ ఒక మెమరీ ఈ అదనపు భాగం తీసుకొని వెళ్తాము. ఇప్పుడు, ఇక్కడ మాత్రమే క్యాచ్ నేను ఉన్నట్లు ఈ దాదాపు భావించే ఉంది వివిధ వేరియబుల్స్ యొక్క మొత్తం బంచ్. ఈ సమర్థవంతంగా ఐదు వేర్వేరు వేరియబుల్స్ అనుకుని. కానీ మేము తీగలను నుండి ఒక ఆలోచన ఏమి దొంగతనం ఉంటే నేను ఈ చేస్తే వస్తే మేము ఏదో సంభావితంగా కలిసి ఈ విషయాలు లింక్, మరియు? ఈ నా అతి తక్కువగా డ్రా బాణం ఉంది. కానీ అనుకుందాం ఆ మెమరీ ఈ రాళ్లను ప్రతి ఇతర చూపారు, మరియు ఈ వ్యక్తి, తన కుడి ఎటువంటి తోబుట్టువులు ఉంది, అటువంటి బాణం లేదు. ఈ అనుబంధ జాబితా అని ఏమి నిజానికి ఉంది. ఇది మాకు మెమరీ భాగం కేటాయించే అనుమతించే ఒక కొత్త డేటా నిర్మాణం అప్పుడు మరొక, అప్పుడు మరొక, అప్పుడు మరొక, ఏ సమయంలో మేము మీరు ఒక ప్రోగ్రామ్ సమయంలో, మరియు మేము వారు అన్ని ఏదో సంబంధిత ఉన్నట్లు గుర్తు సాహిత్యపరంగా కూర్పికం కలిసి వారిని, మరియు మేము చిత్రాల ఇక్కడ బాణం ఆ చేశాడు. కానీ కోడ్, ఏమిటి, మీరు ఏదో కనెక్ట్ చేసే ద్వారా విధానం ఉంటుంది దాదాపు స్క్రాచ్ వంటి మరొక భాగం ఒక భాగం? మేము, ఒక పాయింటర్ కుడి ఉపయోగించవచ్చు? ఎందుకంటే పైన ఎడమ స్క్వేర్ నుండి జరగబోతోంది ఆ నిజంగా బాణం, ఈ ఒక ఇక్కడ ఈ గై, ఈ చతురస్రం యొక్క లోపల కలిగి కాలేదు కేవలం కొన్ని ints, కొన్ని చార్ లేదు, కానీ నిజానికి కేటాయించింది ఏమి తద్వారా ఇప్పుడు కొద్దిగా అదనపు ఖాళీ, ఈ నాకు ఖర్చు అన్నారు అయినప్పటికీ మెమరీ నా భాగాలుగా ప్రతి, ఇప్పుడు కొంచెం దీర్ఘచతురస్రాకార కనిపిస్తోంది పేరు మెమరీ భాగాలుగా ఒకటి అనేక ఉపయోగిస్తారు, సంఖ్య 1 వంటి, మరియు ఈ వ్యక్తి, సంఖ్య 2 నిల్వ ఉంటే మెమరీ ఈ ఇతర భాగం, ఒక బాణం కోసం ఉపయోగిస్తారు లేదా మరింత concretely, ఒక పాయింటర్. మరియు, నేను ఈ వ్యక్తివి దశలో ఉపయోగిస్తున్నారు నేను ఇక్కడ పైగా సంఖ్య 3 నిల్వ అనుకుందాం మరియు ఇప్పుడు ఈ గై, యొక్క నేను మాత్రమే మెమరీ మూడు భాగాలుగా కావలసిన అనుకుందాం తెలియజేయండి. నేను శూన్య సూచిస్తుంది ఆ ద్వారా లైన్ గీయడం చేస్తాము. అదనపు పాత్ర ఉంది. నిజానికి, ఈ మేము అమలు గురించి వెళ్ళండి ఎలా ఉంది అనుబంధ జాబితా అని ఏదో. అనుబంధ జాబితా ఒక కొత్త డేటా నిర్మాణం, మరియు అది వైపు ఒక పునాది రాయి సమస్యలను పరిష్కరించటానికి ప్రారంభం ఎక్కువ ఫ్యాన్సియెర్స్ డేటా నిర్మాణాలు Facebook-రకం సమస్యలు లైన్లు మరియు Google-రకం సమస్యలు పాటు మీరు భారీ డేటా సమితుల కలిగి, మరియు అది కట్స్ ఇకపై పేరు పక్కపక్కన ఏదైనా నిల్వ మరియు సరళ శోధన లాగ ఉపయోగించడానికి బైనరీ శోధన వంటి లేదా ఏదో. మీరు కూడా మంచి నడుస్తున్న కాలంలో మీరు. నిజానికి, పవిత్ర గ్రైల్స్ ఒకటి మేము తరువాత ఈ వారం లేదా తర్వాత గురించి మాట్లాడదాము దీని అమలు సమయం స్థిరాంకం ఒక అల్గోరిథం. ఇతర మాటలలో, ఇది ఎల్లప్పుడూ సమయం యొక్క అదే మొత్తం ఉన్నా పడుతుంది ఇన్పుట్, మరియు ఆ నిజానికి ఖచ్చితంగా ఉంటుంది ఎంత పెద్ద మరింత ఎక్కువగా సంవర్గమాన ఏదో కంటే. ఇక్కడ ఈ తెరపై ఏమిటి? దీర్ఘ చతురస్రాలు ప్రతి నేను చేతితో ఆకర్షించింది ఏమి ఖచ్చితంగా ఉంది. కానీ ఎడమ అన్ని మార్గం విషయం ప్రత్యేక చరరాశి. ఎందుకంటే ఒక gotcha ఇది ఒక పాయింటర్ చేస్తాడు ఒక లింక్ జాబితాను, ఈ విషయాలు అంటారు వంటి, మీరు లింక్ జాబితా యొక్క ఒక చివరి వేల్లాడుతారు చేసేది ఉంటుంది. ఒక స్ట్రింగ్ వలె, మీరు మొదటి చార్ యొక్క చిరునామా తెలుసుకోవలసి ఉంటుంది. అనుసంధాన జాబితాలు అదే ఒప్పందం. మీరు మెమరీ మొదటి భాగం యొక్క చిరునామా తెలుసుకోవలసి ఉంటుంది అక్కడ నుండి ఎందుకంటే, మీరు ప్రతి ఇతర ఒక చేరతాయి. ఇబ్బంది. మేము ఒక డైనమిక్ కలిగి ఈ సర్వతోముఖ ఏ ధర చెల్లిస్తున్న తగుమాత్రమైన డేటా నిర్మాణాన్ని మేము మరింత మెమరీ అవసరం ఉంటే, జరిమానా, కేవలం ఒక భాగం మరింత కేటాయించాలి మరియు ఒక పాయింటర్ నుండి డ్రా జాబితా యొక్క కొత్త తోక పాత? అవును. [స్టూడెంట్] ఇది సుమారు రెండు రెట్లు ఎక్కువ స్థలం పడుతుంది. ఇది ఖచ్చితంగా వ్యతిరేక స్థితి, అందుచే, రెట్టింపు స్థలం పడుతుంది, మరియు మేము ఈ చూసిన టైమ్ అండ్ స్పేస్ మరియు వశ్యత మధ్య ముందు బేరీజుగా ఇప్పుడు ద్వారా, మేము ఈ సంఖ్యలు ప్రతి 32 బిట్స్ అవసరం పేరు. మమ్మల్ని పాయింటర్ కోసం 64, సంఖ్య 32 మరియు 32 అవసరం. కానీ హే, నేను RAM యొక్క 2 గిగాబైట్ల ఉన్నాయి. ఇక్కడ మరియు ఇక్కడ మరొక 32 బిట్స్ కలుపుతోంది ఒప్పందం యొక్క పెద్ద కనిపించడం లేదు. కానీ పెద్ద డేటా సమితుల కొరకు, అది ఖచ్చితంగా సాహిత్యపరంగా కంటే రెట్టింపు వరకు జతచేస్తుంది. ప్రస్తుతం మరొక స్థితి, లేదా మేము, ఏ ఫీచర్ ఇవ్వవలసిందిగా లేదు మేము ఒక లింక్ జాబితా మరియు అర్రే కాదు తో విషయాల జాబితాలు ప్రాతినిధ్యం? ఉంటే [స్టూడెంట్] మీరు వెనక్కి అది దాటటానికి కాదు. మీరు వెనక్కి అది దాటటానికి కాదు, మీరు వాకింగ్ మీకు రకమైన చిత్తు చేశాడు ఉన్నారు కాబట్టి ఎడమ నుండి కుడికి లూప్ లేదా కొంత లూప్ ఒక ఉపయోగించి మరియు తర్వాత మీరు "ఓహ్, నేను జాబితా యొక్క ప్రారంభానికి తిరిగి వెళ్లాలనుకుంటే.", తెలుసుకుంటారు బాణాలు సూచిస్తున్నాయి మీరు ఈ గమనికలు మాత్రమే ఎడమ నుండి కుడి వెళ్ళండి కాదు ఎందుకంటే. ఇప్పుడు, మీరు మరొక వేరియబుల్ తో జాబితా ప్రారంభం గుర్తు కానీ గుర్తుంచుకోండి ఒక సంక్లిష్టత ఉంటుంది. ఒక అమరిక, మీరు ఎంతవరకు ఉన్నా, మీరు ఎల్లప్పుడూ మైనస్ మైనస్, మైనస్ చేయండి, మైనస్ చేయవచ్చు మరియు మీరు వచ్చింది whence నుండి తిరిగి వెళ్ళండి. మరొక స్థితి ఇక్కడ ఏముంది? అవును. [వినబడని విద్యార్థి ప్రశ్న] మీరు, కాబట్టి మీరు నిజానికి, నటన ఎన్నటికీ లింక్ జాబితా అనే డేటా నిర్మాణం ప్రతిపాదించిన చేసిన కాలేదు నిజానికి, మీరు ఈ దీర్ఘ చతురస్రాలు ప్రతి మరొక పాయింటర్ కలుపుతాయి ఇతర దిశలో వెళతాడు, పైకి ఇది యొక్క మీరు, ముందుకు వెనుకకు ప్రయాణించి ఇప్పుడు ఉంది మనం వంటి ఇది యొక్క కిందవైపు ఇప్పుడు మీరు మెమరీని మూడు రెట్లు ఉపయోగించే ఉంది మరియు మీరు కుడి అది పొందడానికి రాయడానికి కలిగి కోడ్ పరంగా సంక్లిష్టతను జోడించడం. తిరగ చాలా ముఖ్యం అయితే ఈ అన్ని బహుశా చాలా సమంజసమైన tradeoffs ఉంటాయి. అవును. [స్టూడెంట్] మీరు ఒక 2D అనుబంధ జాబితా ఉండకూడదు. గుడ్, మీరు నిజంగా 2D లింక్ జాబితా ఉండకూడదు. మీరు ఉంటారు. ఇది వ్యూహం దాదాపు సులభం కాదు. వ్యూహం వలె, మీరు ఓపెన్ బ్రాకెట్, క్లోజ్డ్ బ్రాకెట్, ఓపెన్ బ్రాకెట్, బ్రాకెట్ మూసివేయబడింది, చేయండి మరియు మీరు కొన్ని 2-కోణ నిర్మాణం పొందండి. మీరు ఒక 2 డైమెన్షనల్ లింక్ జాబితా అమలు కాలేదు మీరు add-వంటి మీరు ఈ విషయాలు ప్రతి మూడవ పాయింటర్-ప్రతిపాదిత, లేకపోతే మీరు మరొక జాబితా గురించి అనుకుంటే మీరు వద్ద 3D శైలి వస్తున్న స్క్రీన్ నుండి మాకు అన్ని, ఇది కేవలం కొన్ని రకాల మరొక గొలుసు ఉంది. మేము దీనిని, కానీ ఓపెన్ బ్రాకెట్, చదరపు బ్రాకెట్ టైప్ వంటి సాధారణ కాదు. అవును. [వినబడని విద్యార్థి ప్రశ్న] గుడ్, ఈ నిజమైన kicker ఉంది. మేము బైనరీ శోధన, OH వంటి మీద pined చేసిన ఈ అల్గోరిథంలను, మీరు బోర్డు మీద సంఖ్యల వ్యూహం శోధించవచ్చు లేదా ఒక ఫోన్ బుక్ చాలా త్వరగా మీరు ఉపయోగిస్తే విభజించి జయించటానికి మరియు ఒక బైనరీ శోధన అల్గోరిథం, కానీ బైనరీ శోధన రెండు అంచనాలు అవసరం. డేటా క్రమబద్ధీకరించబడతాయి అని ఒకటి,. ఇప్పుడు మేము బహుశా, ఈ విభజించిన ఉంచుకోవచ్చు కాబట్టి బహుశా ఒక ఆందోళన కాదు, అయితే బైనరీ శోధన కూడా చేపట్టారు మీరు, సంఖ్యలు జాబితాలో రాండమ్ యాక్సెస్ కలిగి మరియు ఒక శ్రేణి, మీరు రాండమ్ యాక్సెస్ అనుమతిస్తుంది, మరియు రాండమ్ యాక్సెస్ ద్వారా నేను మీరు వ్యూహం ఇచ్చిన లేకుంటే, మీరు ఎంత సమయం పడుతుంది అర్థం బ్రాకెట్ 0 చెయ్యడానికి? ఒక ఆపరేషన్, మీరు [0] ఉపయోగించడానికి మరియు మీరు అక్కడే ఉన్నారు. నగర 10 ను ఎలా పొందాలో అనేక దశలు అది పడుతుంది? ఒక దశ, మీరు మరియు మీరు అక్కడ ఉన్నారు [10] కు వెళ్ళండి. దీనికి విరుద్ధంగా, ఎలా మీరు ఒక లింక్ జాబితాలో 10 వ ఇంటీజర్ కు వస్తుందా? మీరు మాత్రమే గుర్తు ఎందుకంటే మీరు ప్రారంభంలో ప్రారంభించడానికి కలిగి ఒక స్ట్రింగ్ వంటి అనుబంధ జాబితా ప్రారంభం జ్ఞాపకం ఉంది మొదటి చార్ యొక్క చిరునామా ద్వారా, మరియు ఆ 10 Int కనుగొనేందుకు లేదా ఒక స్ట్రింగ్ లో 10 వ పాత్ర మీరు మొత్తం భీకర విషయం అన్వేషణ ఉంటుంది. మళ్లీ, మేము మా సమస్యలను పరిష్కరించడానికి అన్ని లేదు. మేము కొత్త వాటిని పరిచయం చేస్తున్నాము, కాని అది నిజంగా మీరు రూపకల్పన ప్రయత్నిస్తున్న దానిపై ఆధారపడి ఉంటుంది. ఈ అమలు పరంగా, ఆ విద్యార్థి నిర్మాణం నుండి ఒక ఆలోచన రుణాలు తీసుకునే. వాక్యనిర్మాణం ఇప్పుడు తప్ప, దాదాపు సమానంగా ఉంటుంది, ఆలోచన కొంచెం ఆబ్స్ట్రాక్ట్ కంటే హౌస్ మరియు పేరు మరియు ID. కానీ మనం సి ఒక డేటా నిర్మాణం కలిగి ప్రతిపాదించారు నోడ్ అని, స్లయిడ్ న చివరి పదం సూచిస్తుంది వంటి ఒక నోడ్ యొక్క లోపల, మరియు ఒక నోడ్ కేవలం కంప్యూటర్ సైన్స్ లో ఒక కంటైనర్ ఉంది. ఇది సాధారణంగా ఒక సర్కిల్ లేదా మేము చేసిన ఒక చతురస్రాకార లేదా దీర్ఘ చతురస్రం వలె డ్రా మాత్రమే. మరియు ఈ డేటాను నిర్మాణం, మేము ఒక Int, n కలిగి కాబట్టి నేను నిల్వ మీరు సంఖ్య ఉంది. కానీ ఈ రెండో లైన్, struct నోడ్ * తర్వాత ఏమిటి? ఎందుకు, ఇది సరైన, లేదా పాత్ర ఈ విషయం ఆట ఏమి అది మొదటి చూపులో కొంచెం గుప్తమైన యొక్క అయినప్పటికీ? అవును. [వినబడని విద్యార్థి ప్రతిస్పందన] సరిగ్గా, కాబట్టి ఇది కొన్ని రకాల ఒక పాయింటర్ కుళ్ళిపోయిన యొక్క * విధమైన అని. ఈ పాయింటర్ యొక్క పేరు, ఏకపక్ష తదుపరి కానీ మేము అది మేము మీరు ఏదైనా అని ఉండవచ్చు, కానీ ఈ పాయింటర్ పాయింట్ ఏమి చేస్తుంది? [స్టూడెంట్] మరొక నోడ్. >> ఖచ్చితంగా ఇది మరో నోడ్ సూచిస్తుంది. ఇప్పుడు, ఈ C. ఒక ఆసక్తి యొక్క విధమైన ఉంది , సి ఎడమ, క్రింద ఒక కంపైలర్ టాప్ ద్వారా వినిపించే రీకాల్ ఇది మేము విద్యార్థి తో చేసిన నుండి కొద్దిగా భిన్నంగా ఉంటుంది అర్థం. మేము ఒక విద్యార్థి నిర్వచించిన, మేము నిజంగా అక్కడ ఒక పదం పెట్టలేదు. ఇది కేవలం typedef చెప్పారు. అప్పుడు మేము Int id, స్ట్రింగ్ పేరు, స్ట్రింగ్ హౌస్ కలిగి ఆపై struct దిగువన విద్యార్థి. ఈ ప్రకటన కొద్దిగా భిన్నంగా ఉంటుంది, ఎందుకంటే మళ్ళీ, C కంపైలర్ కొద్దిగా మూగ ఉంది. ఇది మాత్రమే, పైనుంచి చదవడానికి జరగబోతోంది అది ఇక్కడ 2nd లైన్ చేరుకునే అయితే తదుపరి డిక్లేర్డ్ మరియు అది చూసే కౌంటీ, OH, ఇక్కడ తదుపరి అనే వేరియబుల్. ఇది ఒక struct నోడ్ ఒక పాయింటర్ ఉంది. కంపైలర్ ఒక struct కణుపు అనేదానికి ఉండబోతుంది? నేను, ముందు ఈ విషయం గురించి తెలియకపోవచ్చు చేసిన పదం నోడ్ లేకపోతే కనిపించదు కాబట్టి దిగువ వరకు, ఈ పునరుక్తి ఉంది. మీరు తరువాత చిన్నదిగా, ఇది ఇక్కడ struct నోడ్ చెప్పే డౌన్ ఇక్కడ typedef కృతజ్ఞతలు, కానీ ఈ ఎందుకంటే మేము లోపల నిర్మాణం యొక్క నిర్మాణం కూడా సూచిస్తూ ఉంటాయి. ఆ అక్కడ ఒక gotcha ఉంది. కొన్ని ఆసక్తికరమైన సమస్యలు తలెత్తే వెళ్తున్నారు. మేము సంఖ్యల జాబితా పొందారు. మేము దీనిని ఎలా ఇన్సర్ట్ చెయ్యాలి? మేము ఎలా సెర్చ్ చెయ్యాలి? మేము దాని నుండి ఎలా తొలగించాలి? ముఖ్యంగా ఇప్పుడు మేము ఈ గమనికలు అన్ని నిర్వహించడానికి కలిగి. మీరు గమనికలు మనస్సు-వంచి యొక్క విధమైన ఆలోచన మీరు ఉన్నప్పుడు వాటిని ఒకటి దానికి ఒక పూర్ణాంకానికి చదవడానికి ప్రయత్నించడంలో. ఇప్పుడు మేము పూర్తి జాబితా యొక్క విలువ సర్దుబాటు చేయాలి. ఎందుకు మేము ఇక్కడ మా 5 నిమిషాల విరామం లేదు, మరియు అప్పుడు మేము తీసుకుని చేస్తాము దశ లో కొన్ని వారిని ఖచ్చితంగా ఆ విధంగా చేయడానికి. సి అది పనిచేయకుండా ఎప్పుడు చాలా సరదాగా ఉంటుంది. ఎవరు అక్షరాలా మొదటి ఉండాలని కోరుకుంటారు? సరే, అప్ న వస్తాయి. మీరు మొదటి ఉంటాయి. ఎవరు 9 ఉండాలని కోరుకుంటారు? సరే, 9. ఎలా 9? 17? ఇక్కడ ఒక చిన్న జట్టు. ఆ ముందు వరుసగా 22 మరియు 26. ఆపై గురించి అక్కడ ఎంత చూపారు అవుతోంది. మీరు 34 ఉన్నాయి. సరే, మీద 34, వస్తాయి. మొదటి అక్కడ ఉంది. సరే, మీరు అబ్బాయిలు అన్ని నాలుగు. మరియు మేము 9 ఎవరు అని పేర్కొన్నారు? మా 9 ఎవరు? ఎవరు నిజంగా 9 చేయాలనుకుంటున్నారు? All right, 9 ఉంటుంది, న వస్తాయి. ఇక్కడ మేము వెళ్ళండి. 34, మేము అక్కడ మీరు పైగా కలుద్దాం. మొదటి భాగం నిన్ను నీవు వలె కనిపించేలా ఉంది. 26, 22, 17, మంచి. మేము ఒక క్షణంలో మీరు malloc చూడాలని ఎందుకంటే మీరు, ప్రక్కగా నిలబడి ఉంటే. మంచి, మంచి. సరే, అద్భుతమైన, కాబట్టి యొక్క ఇక్కడ ప్రశ్నలు రెండు అడగండి తెలపండి. మరియు వాస్తవానికి, మీ పేరు ఏమిటి? >> అనిత. అనిత, సరే, ఇక్కడ కమ్ ఆన్ ఓవర్. అనిత, మాకు విధమైన మొదటి ఒక నిరాడంబర ప్రశ్న పరిష్కరించడంలో సహాయంగా అన్నారు ఇది ఎలా మీరు ఒక విలువను జాబితా ఉంది లేదో కనుగొనేందుకు పోవడమే? ఇప్పుడు, మొదటి, ఇక్కడ లుకాస్ ద్వారా ప్రాతినిధ్యం అని గుర్తించలేకపోతే కొద్దిగా భిన్నంగా ఉంటుంది, అందువలన కాగితం అతని భాగాన్ని ఉద్దేశపూర్వకంగా పక్కకి ఉంది ఇది చాలా వంటి పొడవైన కాదు మరియు అనేక బిట్స్ వంటి పడుతుంది కాబట్టి అయినప్పటికీ సాంకేతికంగా అతను తిప్పడం కాగితం ఒకే పరిమాణాన్ని కలిగి ఉంది. అయితే ఒక పాయింటర్ మాత్రమే 32 బిట్స్ అని ఒక చిన్న విభిన్నమైనది మరియు ఈ కుర్రాళ్ళు అన్ని ఒక పాయింటర్ వీటిలో సగం నిధులు సంఖ్య సగం మంది 64 బిట్స్, ఉన్నాయి. కానీ పాయింటర్ కాబట్టి, వర్ణించబడలేదు మీరు అబ్బాయిలు అనుకొనుట కొంతవరకు వికారంగా ఉంటే మీరు పక్కన వ్యక్తి సమయంలో మీ ఎడమ చేతి ఉపయోగించండి. మరియు మీరు సంఖ్య 34 ఉన్నాము. మీ పేరు ఏమిటి? అరి. అరి, కాబట్టి నిజంగా, మీ కుడి చేతిలో కాగితం కలిగి, మరియు ఎడమ చేతి నేరుగా పని చెయ్యకపోతే. మీరు ఎడమ న శూన్య సూచిస్తాయి. ఇప్పుడు మా మానవ చిత్ర చాలా స్థిరంగా ఉంటుంది. ఈ గమనికలు పని ఎలా నిజానికి ఉంది. మరియు మీ విధంగా నేను కాదు కాబట్టి మీరు కొద్దిగా ఈ విధంగా scrunch లేదో. ఇక్కడ అనిత, నాకు సంఖ్య 22 కనుగొనడానికి కానీ మానవులు కాగితపు ముక్కల అప్ ఉంచుకోకుండా ఒక నిరోధ ఊహించుకోవటం, కానీ ఈ జాబితా, మరియు మీరు మాత్రమే లుకాస్ తో ప్రారంభించడానికి కలిగి అతను అక్షరాలా మొదటి పాయింటర్ ఉంది. మీరే ఒక పాయింటర్, మరియు అందువల్ల మీరు కూడా ఏదో సమయంలో సామర్ధ్యాన్ని కలిగి ఉంటాయి అనుకుందాం. ఎందుకు మీరు లుకాస్ వద్ద సూచించబడిన వేటి వద్ద గురిపెట్టి ప్రారంభం లేదు? గుడ్, మరియు నాకు ఇక్కడ ఈ అవ్ట్ చేయాలని తెలియజేయండి. జస్ట్ చర్చ కొరకు, నాకు ఇక్కడ ఒక ఖాళీ పేజీ పుల్ అప్ తెలియజేయండి. ఎలా మీరు మీ పేరు స్పెల్లింగ్ చెయ్యాలి? >> అనిత. సరే, అనిత. లెట్ యొక్క నోడ్ * అనిత = లుకాస్ చెప్పారు. Well, మేము మీరు లుకాస్ కాల్ లేదు. మీరు మొదటి పిలవాలి. ఎందుకు ఈ ఇక్కడ రియాలిటీ స్థిరంగా నిజానికి? ఒకటి, మొదటి ఇప్పటికే ఉంది. మొదటి ఎక్కడో అప్ ఇక్కడ బహుశా కేటాయించింది చేయబడింది. నోడ్ * మొదటి, మరియు అది ఎలానో జాబితా కేటాయించింది పేర్కొన్నాడు. నేను అదంతా తెలియదు. తరగతి ప్రారంభించారు ముందు జరిగింది. మానవులు ఈ లింక్ జాబితా సృష్టించబడింది. ఇప్పుడు కథ ఈ అన్ని స్పష్టంగా Facebook జరుగుతుందో ఈ సమయంలో తరువాత కథ ఈ సమయంలో, అనిత, మొదటి కు సమానమైనది initialized చేయబడింది ఇది లుకాస్ వద్ద అనిత పాయింట్లు అర్థం కాదు. అయితే, ఆమె అతను వద్ద చూపాడు ఏమి చూపాడు ఎందుకంటే లుకాస్ యొక్క 32 బిట్ల లోపల అదే చిరునామా - 1, 2, 3 - 1, 2, 3 - ఇప్పుడు కూడా లోపల అనిత యొక్క 32 బిట్ల ఉంది. ఇప్పుడు 22 కనుగొనండి. మీరు ఈ చేయడం గురించి పాటు? ఏ ఆ? >> పాయింట్ ఏమిటి. ఏ ఎక్కడుందో, కాబట్టి ముందుకు సాగి మీరు ఇక్కడ సరిగా గా పోషిస్తాను. , మంచి, మరియు ఇప్పుడు మీరు పై చేసిన వద్ద-మీ పేరు 22 ఉన్నది? రామోన్. >> రామోన్, రామోన్ 22 ఎత్తి చూపుతూ ఉంటుంది. మీరు ఇప్పుడు ఒక చెక్ చేశాను. అయితే రామోన్ == 22, మరియు, ఉదాహరణకు, మేము నిజమైన తిరిగి లేదు. నాకు-సమయంలో లెట్ ఈ కుర్రాళ్ళు వికారంగా-కొంతవరకు ఇక్కడ నిలబడి కనుగొనడానికి నాకు bool వంటి త్వరగా ఏదో ఒకటి అనుమతిస్తాయి. నేను (నోడ్ * జాబితా, Int n) ముందుకు వెళ్లి చెప్పే వెళుతున్న. నేను మీరు అబ్బాయిలు సరైన తిరిగి ఉంటాం. నేను కొన్ని కోడ్ వ్రాయడానికి కలిగి ఉంటాయి. ఇప్పుడు నేను ముందుకు వెళ్లి ఈ, నోడ్ * అనిత = జాబితా చేయ బోతున్నాను. నేను ముందుకు వెళ్లి చెప్పే వెళుతున్న సమయంలో (అనిత! = NULL). ఇక్కడ రూపకం కొద్దిగా విస్తరించి పెరిగిపోతుంది, కానీ (అనిత! = NULL), నేను ఏమి అనుకుంటున్నారు అయితే? నేను సూచిస్తూ కొన్ని మార్గం అవసరం అనిత వద్ద సూచించబడిన ఆ పూర్ణాంక. గతంలో మేము ఒక నోడ్ ఇది నిర్మాణాలు ఉన్నప్పుడు, మేము డాట్ సంజ్ఞామానం ఉపయోగిస్తారు, మరియు మేము ఏదో వంటి చెబుతా ఇక్కడ anita.n, కానీ సమస్య అనిత ఒక struct కేవలంగా కాదు. ఆమె అంటే ఏమిటి? మేము ఈ డాట్ ను ఉపయోగించడానికి ఆమె అలా నిజంగా, ఒక పాయింటర్ నొటేషన్- మరియు ఈ ఉద్దేశపూర్వకంగా చిన్న చూడండి అన్నారు గుప్తమైన- మేము ఏ అనిత యొక్క ఎడమ చేతి వెళ్ళండి లాగ లేదు వద్ద సూచించబడిన ఆపై n అనే field పొందండి. అనిత ఒక పాయింటర్, కానీ * అనిత ఏమిటి? మీరు అనిత వద్ద సూచించబడిన వాటికి అనుకుంటే మీరు ఏమి కనుక్కుంటారు? ఒక struct, ఒక కణుపు, మరియు ఒక నోడ్, రీకాల్, n అనే ఫీల్డ్ ఉంది ఇది గుర్తు ఎందుకంటే, ఈ 2 ఖాళీలను, తదుపరి మరియు n, మేము ఇక్కడ ఒక క్షణం క్రితం జరిగింది. వాస్తవానికి, కోడ్ ఈ అనుకరించడం మేము దీన్ని మరియు చెప్పడానికి అని ((* అనిత). n == n), నేను చూస్తున్నాను ఆ n. ఫంక్షన్ నేను శ్రద్ధ సంఖ్య జారీ చేయబడిన ప్రకటన. అప్పుడు నేను నిజమైన తిరిగి లాగ ముందుకు వెళ్లి చేయవచ్చు. ఆ సందర్భంలో లేకుంటే ఎల్స్, నేను ఏమి అనుకుంటున్నారు? నేను అనిత జాబితా ద్వారా వాకింగ్ అలా intuitively చేసిన కోడ్ అనువదించు చెయ్యాలి? నేను అనిత ఎడమ, ఎడమ ఆ దశల ఆ దశ తీసుకొని అనుకరించేందుకు ఇక్కడికి అప్ చెయ్యాలి? [వినబడని విద్యార్థి ప్రతిస్పందన] >> ఆ ఏమిటి? [వినబడని విద్యార్థి ప్రతిస్పందన] , ఒక చెడ్డ ఆలోచన, కానీ గతంలో మేము ఇది చేసిన సమయంలో, మేము మంచి చేసిన అనిత + + ఆ అనిత కు సంఖ్య 1 జోడించండి ఎందుకంటే, ఇది సాధారణంగా, రామోన్ వంటి తదుపరి వ్యక్తి సమయంలో ఉంటుంది లేదా అతని పక్కన వ్యక్తి, లేదా వ్యక్తి డౌన్ లైన్ అతని పక్కన. ఈ విషయం మెమరీ ఎలా ఎందుకంటే కానీ ఇక్కడ చాలా మంచి కాదు? కాదు. మేము ఆ డిజేబుల్. నేను 1 మరియు 2 మరియు 3 ఒకదాని తర్వాత ఒకటి, డ్రా చేసిన అయినప్పటికీ మెమరీలో ఈ కనిపిస్తోంది, మరియు మేము నిజంగా చైతన్య ఇంకా అదే ప్రజలకు పై మీరు,, అబ్బాయిలు ఈ-CAN మీరు కొన్ని యాదృచ్చిక దశల తిరిగి ముందుకు మీరు కొన్ని యాదృచ్చిక దశల పడుతుంది? ఈ మెస్, ఇప్పటికీ ఒక అనుసంధాన జాబితా కానీ ఈ కుర్రాళ్ళు, ఎక్కడైనా మెమరీలో ఉంటుంది కాబట్టి అనిత + + ఎందుకు పని ఉండదని? నగర అనిత వద్ద ఏమిటి + +? ఎవరు తెలుసు. ఇది కేవలం కాబట్టి interposed నిర్మాణము కొన్ని ఇతర విలువ ఏమిటి అవకాశం ద్వారా ఈ నోడ్స్ అన్ని మధ్య ఎందుకంటే మేము వరుసను ఉపయోగించి లేదు. మేము వ్యక్తిగతంగా ఈ నోడ్స్ యొక్క ప్రతి కేటాయించింది. సరే, మీరు అబ్బాయిలు నిన్ను నీవు అప్ తిరిగి శుభ్రం చెయ్యగలిగితే. నాకు బదులుగా అనిత + +, మేము బదులుగా ఏమి అనిత యొక్క ప్రతిపాదించారు లెట్ గెట్స్- అలాగే, మేము అప్పుడు అనిత వద్ద గురిపెట్టి ఏమైనా వెళ్ళండి మరియు దీనిని ఎందుకు. తదుపరి? ఇతర మాటల్లో చెప్పాలంటే, సంఖ్య 22 పట్టుకొని ఎవరు రామోన్,, వెళ్ళండి అనిత అతని ఎడమ చేతి చూపుడు కాపీ ఉన్నప్పటికీ వంటి ఆపై. పక్కనే ఉంది. మేము 22 ఏకీభవించలేదు కానీ ఆమె రామోన్ కంటే మరింత లోతుగా కాదు. కానీ ఆ ఆలోచన ఉంటుంది. ఇప్పుడు, ఈ దేవుని భయంకర మెస్ ఉంది. నిజాయితీగా, ఎవరూ కూడా ఎప్పుడూ, కాబట్టి కృతజ్ఞతగా ఈ వాక్యనిర్మాణం గుర్తుంచుకోండి మరియు కనిపిస్తుంది నిజానికి కొంచెం ఉద్దేశపూర్వక-OH, మీరు నిజంగా నేను వ్రాసిన చూడటానికి లేదు ఉంది. మీరు చేస్తే ఈ మరింత ఖచ్చితంగా ఉంటుంది. Voila! తెర వెనుక, నేను సమస్య ఈ విధంగా పరిష్కార జరిగినది. అనిత, ఎడమ ఆ దశకు వెళ్లడానికి, మొదటి, మేము అనిత వద్ద సూచించబడిన ఆ చిరునామా వెళ్ళండి లేదు మరియు ఆమె మాత్రమే మేము పోలిక కోసమని తనిఖీ ఇది n, కనుగొంటారు కానీ మీరు కూడా తదుపరి కనుగొంటారు - ఈ సందర్భంలో, రామోన్ యొక్క ఎడమ చేతి జాబితా తదుపరి నోడ్ సూచించే. కానీ ఈ, ఇది నేను గతంలో సూచిస్తారు దేవుని-భయంకర మెస్ ఉంది సి మాకు ఈ సులభతరం అనుమతిస్తుంది అవుట్ కానీ మారుతుంది. బదులుగా రచన (* అనిత), మేము బదులుగా కేవలం, అనిత-> n రాయడం మరియు, ఇది ఖచ్చితమైన విషయం, కానీ చాలా సహజమైన ఉంది మరియు అది మేము డ్రాయింగ్ చేసిన ఆ చిత్రం తో చాలా స్థిరంగా ఉంది ఈ సమయంలో బాణాలు ఉపయోగించి. చివరగా, మేము ఈ కార్యక్రమం చివరిలో ఏమి చేయాలి? మిగిలిన కోడ్ ఒకటి గీత ఉంది. ఏ తిరిగి? ఫాల్స్, ఎందుకంటే మేము మొత్తం ద్వారా వస్తే, అయితే లూప్ మరియు అనితా నిజానికి, శూన్య, ఆమె జాబితా ముగింపు వరకు వెళ్ళారు, ఉంది ఆమె పై జరిగిన వద్ద-మీ పేరు యొక్క మళ్లీ? శూన్య ఇది ​​అరి. >> ఆరి యొక్క ఎడమ చేతికి. అనిత ఇప్పుడు శూన్య ఉంది, మరియు నేను మీరు లింబో లో వికారంగా ఇక్కడ నిలబడి చేస్తున్న తెలుసుకుంటారు నేను ఇక్కడ ఒక ప్రకటన మీద ఆఫ్ వెళుతున్న ఎందుకంటే, కానీ మేము కేవలం ఒక నిమిషంలో మళ్ళీ మీరు కలిగి ఉంటుంది. అనిత కథలో ఆ సమయంలో శూన్య ఉంది, అయితే లూప్ ఆగిపోతుంది కాబట్టి మరియు మేము తప్పుడు తిరిగి ఉంటాయి, ఎందుకంటే ఆమె ఆరి యొక్క నల్ పాయింటర్ వరకు వస్తే అప్పుడు ఆమె జాబితాలో కోరింది ఏ సంఖ్య ఉంది. మేము చాలా అప్ ఈ శుభ్రం, కానీ ఈ అప్పుడు ఒక అందమైన మంచి అమలు ఒక ట్రావెర్సల్ పనితీరు, ఒక అనుబంధ జాబితా కోసం ఫంక్షన్ కనుగొనండి. ఇప్పటికీ సరళ శోధన, అయితే + + ఒక పాయింటర్ వలె సాధారణ కాదు లేదా + + ఒక i వేరియబుల్ ఇప్పుడు మేము ఊహించడం కాదు ఎందుకంటే ఈ నోడ్స్ యొక్క ప్రతి మెమరీలో పేరు ఉన్నాయి. మేము, మరింత ప్రత్యేకంగా, సాహిత్యపరంగా breadcrumbs ట్రయిల్ ఆఫ్ అనుసరించాలని లేదా ఒక నోడ్ నుండి మరొక పొందడానికి గమనికలు. ఇప్పుడు మరొక ప్రయత్నించండి తెలియజేయండి. అనిత, మీరు తిరిగి ఇక్కడికి వచ్చి అనుకుంటున్నారు? ఎందుకు మేము ముందుకు వెళ్లి, ప్రేక్షకుల నుండి మరొక వ్యక్తి కేటాయించాలని లేదు? Malloc-మీ పేరు ఏమిటి? >> రెబెక్కా. రెబెక్కా. రెబెక్కా, ప్రేక్షకుల నుండి malloced చేయబడింది మరియు ఆమె ఇప్పుడు సంఖ్య 55 నిల్వ. అనిత ఇన్సర్ట్ చెయ్యడానికి మరియు చేతి వద్ద గోల్ ఇప్పుడు దాని సరైన స్థానంలో ఇక్కడ లింక్ జాబితాలో రెబెక్కా. ఒక క్షణం ఇక్కడ కమ్ ఆన్ ఓవర్. నేను ఈ వంటి ఏదో చేసారు. నేను నోడ్ * చేసారు. మరియు మీ పేరు ఏమిటి మళ్ళీ? రెబెక్కా. >> రెబెక్కా, సరే. రెబెక్కా malloc (sizeof (నోడ్)) వచ్చింది. జస్ట్ వంటి మేము గతంలో విద్యార్థులు మరియు whatnot వంటి వాటిని కేటాయించింది చేశారు మేము నోడ్ యొక్క పరిమాణం అవసరం, కాబట్టి ఇప్పుడు రెబెక్కా ఏమి సూచిస్తుంది? రెబెక్కా 55 అందులో ఒకటి తన లోపలి రెండు ఖాళీలను కలిగి ఉంది. తెలియజేసేలా ఏది రెబెక్కా-> = 55. కానీ రెబెక్కా-> తదుపరి ప్రస్తుతం లాగా ఉండాలి, ఆమె చేతిని తెలిసిన రకం? అలా ఎందుకు మంచి కొలత కోసం లేదు, కొన్ని చెత్త విలువ వద్ద గురిపెట్టి యొక్క ఎడమ చేతి ఇప్పుడు తన పక్కన కాబట్టి మేము కనీసం దీన్ని. ఇప్పుడు అనిత, ఇక్కడ నుంచి తీసుకెళ్లు. మీరు రెబెక్కా కేటాయింపు కలిగి ఉన్నాయి. కొనసాగి, మేము రెబెక్కా ఉంచారు ఎక్కడ చూడండి. మంచి, మంచి. , సరే, మంచి, మరియు ఇప్పుడు మేము మీరు దిశలో ఒక బిట్ అందించాలి కాబట్టి మీరు ఆరి చేరుకున్నారు. , అతని ఎడమ చేతి శూన్య, కానీ రెబెక్కా స్పష్టంగా కుడి చెందిన కాబట్టి మేము ఎలా లింక్ జాబితా మార్చడానికి ఉన్నాయి సరైన స్థలం లో రెబెక్కా ఇన్సర్ట్ చెయ్యడానికి? మీరు వాచ్యంగా అవసరమైన మంది యొక్క ఎడమ చేయి తరలించడానికి చేయగలిగితే, మేము ఆ విధంగా సమస్య పరిష్కరించడానికి ఉంటాం. సరే, మంచి, మరియు అదే సమయంలో, రెబెక్కా ఎడమ చేతి వైపు ఆమె ద్వారా ఇప్పుడు ఉంది. అది చాలా సులభం. లెట్ యొక్క, దాదాపు పూర్తి పెడుతోంది-మేము 20 ప్రయత్నించండి. సరే, అప్ న వస్తాయి. 20 కేటాయింపు, అందుచే నాకు ముందుకు వెళ్లి ఇక్కడ మళ్ళీ అని పిలవబడు మేము కేవలం నోడ్ * సాద్ చేసిన. మేము (sizeof (నోడ్)) malloc ఉన్నాయి. మేము అప్పుడు, మేము 20 కోసం ముందు వలె అదే ఖచ్చితమైన సింటాక్స్ చేయండి మరియు నేను తరువాత = NULL చేస్తాను, మరియు ఇప్పుడు అది అనిత ఇష్టం మీరు ఆ ఖచ్చితమైన పాత్రను అని మీరు లింక్ జాబితా ఇన్సర్ట్ చెయ్యడానికి. అమలు. సరే, మంచి. మీరు చుట్టూ ఎడమ చేతులు కదులుతూ ముందు ఇప్పుడు జాగ్రత్తగా ఆలోచించండి. మీరు ఇప్పటివరకు నేడు అత్యంత ఇబ్బందికరమైన పాత్ర దక్కింది. ఎవరి వైపు మొదటి మారుతూ ఉండాలి? ఓకే, నేను కొన్ని సంఖ్య యొక్క విన్న నేను, వేచి. కొన్ని వారిని మర్యాదగా ఇక్కడ ఒక ఇబ్బందికరమైన పరిస్థితి పరిష్కరించడంలో సహాయంగా అనుకుంటే. ఎవరి ఎడమ చేతి మొదటి బహుశా అప్డేట్ చేయాలి? అవును. [స్టూడెంట్] సాద్ యొక్క. సరే, సాద్ యొక్క, ఎందుకు, అయితే? [వినబడని విద్యార్థి ప్రతిస్పందన] గుడ్, ఎందుకంటే మేము తరలించడానికి-ఏం మీ పేరు ఏమిటి? >> మార్షల్. మార్షల్, మేము శూన్యం మొదటి డౌన్ చేతిలో తరలిస్తే, ఇప్పుడు మేము వాచ్యంగా ఈ జాబితాలో నలుగురు అనాథ ఉన్నాయి అతను రామోన్ మరియు ఎడమ ప్రతి ఒక్కరి వద్ద గురిపెట్టి ఒకే ఒక విషయం ఎందుకంటే కాబట్టి ఆ పాయింటర్ నవీకరించడాన్ని బాగా లేదు. యొక్క ఆ దిద్దుబాటు రద్దుచెయ్యి లెట్. గుడ్, మరియు ఇప్పుడు ముందుకు వెళ్లి రామోన్ వద్ద గురిపెట్టి తగిన ఎడమ చేతి తరలించండి. ఈ చిన్న అనవసరమైన భావిస్తాడు. ఇప్పుడు అక్కడ రామోన్ వద్ద గురిపెట్టి ఇద్దరు వ్యక్తులు, కానీ ఆ మంచిది ఎందుకంటే ఇప్పుడు ఎలా else మేము జాబితా అప్డేట్ చెయ్యాలి? ఏ ఇతర చేతి తరలించడానికి ఉంది? అద్భుతమైన, ఇప్పుడు మేము ఏ మెమరీ కోల్పోయారు? లేదు, సో గుడ్, మేము ఈ సారి బ్రేక్ కాదు లేదో యొక్క చూసేలా. , సంఖ్య 5 చివరిసారిగా Mallocing. తిరిగి అన్ని మార్గం, కం ఆన్ డౌన్. అది చాలా ఉద్వేగాన్ని కలిగిస్తోంది. [చప్పట్లు] మీ పేరు ఏమిటి? >> రాన్. రాన్, సరే, మీరు సంఖ్య 5 వంటి malloced ఉంటాయి. మేము ఈ దాదాపు ఒకేలా ఉండే కోడ్ అమలు చేసిన వేరొక పేరుతో. అద్భుతమైన. ఇప్పుడు, అనిత, అదృష్టం ఇప్పుడు జాబితాలో సంఖ్య 5 ఇన్సర్ట్. గుడ్, మరియు? అద్భుతమైన, కాబట్టి ఇది నిజంగా మూడు మొత్తం కేసుల్లో మూడవ ఉంది. మేము మొదటి రెబెక్కా, చివర ఎవరైనా ఉంది. మేము అప్పుడు మధ్యలో ఎవరైనా ఉంది. ఇప్పుడు మేము కూడా మొదట్లో మరియు ఈ ఉదాహరణలో వారివి మేము ఇప్పుడు మొదటిసారి లుకాస్ అప్డేట్ వచ్చింది జాబితాలో మొదటి మూలకం ఇప్పుడు ఒక కొత్త నోడ్ దశలో ఉంది ఎందుకంటే, ఎవరు, క్రమంగా, నోడ్ సంఖ్య 9 వద్ద సూచించబడిన. ఈ అత్యంత ఇబ్బందికరమైన ప్రదర్శనకు, నేను ఖచ్చితంగా ఉన్నాను, కాబట్టి ఈ కుర్రాళ్ళు చప్పట్లు పెద్ద రౌండ్ మీరు చేస్తే. చక్కగా చేసారు. అంతే. మీరు కొద్దిగా స్మృతి వంటి కాగితం మీ ముక్కలు ఉండేందుకు కారణమవుతుంది. ఇది కోడ్ ఇలా ఆ అవుతుంది కేవలం చుట్టూ చేతులు కదులుతూ చాలా సులభమైనది కాదు మరియు వివిధ విషయాలను వద్ద గమనికలు పై. కానీ ఇలా అమలు సమయం వచ్చినప్పుడు గుర్తించలేరు మీరు నిజంగా దృష్టి ఉంటే అనుబంధ జాబితా లేదా దాని రూపాంతరం ఈ ప్రాథమిక ఫండమెంటల్స్, నేను గుర్తించడానికి కలిగి కాటు పరిమాణం సమస్యలు, ఈ చేతి లేదా ఈ ముల్లు, ఏ లేకపోతే పూర్తి క్లిష్టమైన కార్యక్రమం గుర్తించలేరు నిజానికి, ఈ వంటి చాలా సులభమైన నిర్మాణ ఇటుకలు కు తగ్గించవచ్చు. ఇంకా మరింత అధునాతన దిశలో విషయాలు తీసుకుని చూద్దాం. మేము ఇప్పుడు లింక్ జాబితా భావన ఉంది. తిరిగి సలహా అక్కడ-నటన ఎన్నటికీ లింక్ జాబితాకు మేము కూడా కలిగి-ధన్యవాదాలు, ఇది దాదాపు అదే కనిపిస్తుంది, కానీ ఇప్పుడు మేము struct లోపలి రెండు పాయింటర్లు కలిగి ఒకటి బదులు, మరియు మేము బహుశా ఆ గమనికలు మునుపటి మరియు తదుపరి కాల్ కాలేదు లేదా ఎడమ లేదా కుడి, కాని మేము నిజానికి, వాటిలో రెండు అవసరం. కోడ్ కొంచెం పాల్గొంటాడు. అనిత వేదికపై ఇక్కడ మరింత పని చేయడానికి ఉండేవి. కానీ మేము ఖచ్చితంగా నిర్మాణం ఆ రకమైన అమలు కాలేదు. అమలు సమయం పరంగా, అయితే, ఏ రన్నింగ్ సమయం ఉంటుంది ఇప్పుడు ఒక లింక్ జాబితాలో అనేక n కనుగొనే అనిత కోసం? N యొక్క స్టిల్ పెద్ద O, కాబట్టి ఇది దీర్ఘ శోధన కంటే ఉత్తమం. మేము మళ్లీ అయితే, బైనరీ శోధన చెయ్యలేరు. కేసులో ఎందుకు ఉంది? మీ చుట్టూ జంప్ కాదు. మేము ఖచ్చితంగా దశ అన్ని మానవులు, చూడండి ఉన్నప్పటికీ మరియు అనితా ", ఇక్కడ జాబితా యొక్క మధ్య భాగం" అది eyeballed మరియు మాట్లాడుతూ, కాలేదు ఆమె కంప్యూటర్ ప్రోగ్రామ్ అయితే ఆమె ఆ అర్థం కాదు ఆమె మాత్రమే విషయం అంశంలో ప్రారంభంలో లో తలుపునకు వేయు గడియ ఎందుకంటే మొదటి పాయింటర్ అయిన లుకాస్ ఉంది. ఆమె తప్పనిసరిగా ఆ లింక్లను అనుసరించండి వుంటుంది ఆమె సుమారు మధ్య కనిపించే వరకు ఆమె మార్గం లెక్కింపు, మరియు అది కూడా, ఆమె మధ్య స్థానాన్ని పొందింది అయినప్పుడు నాకు మాత్రం కాదు ఆమె, ఎన్ని గుర్తించడానికి ముగింపు వరకు వెళుతుంది తప్ప మీరు అయితే తప్ప అప్పుడు వెళుతుంది, మరియు ఆ చాలా హార్డ్ ఉంటుంది కొన్ని రకాల నటన ఎన్నటికీ లింక్ జాబితా. నేడు కొన్ని సమస్యలను పరిష్కరించడం, కాని ఇతరులు పరిచయం. వేరే డేటా నిర్మాణం పూర్తిగా గురించి ఏమిటి? ఈ, మాథుర్ హౌస్ ట్రేలు ఒక ఫోటో మరియు ఈ సందర్భంలో, మనం కూడా రకం ఇప్పటికే గురించి ఆలోచిస్తున్నాము ఒక డేటా ఆకృతి. మేము, మెమరీ సందర్భంలో ఒక స్టాక్ గురించి మాట్లాడారు మరియు ఆ విధమైన ఉద్దేశపూర్వకంగా అనే ఎందుకంటే మెమరీ పరంగా ఒక స్టాక్ సమర్థవంతంగా దాని పైభాగంలో లేయర్డ్ మరింత stuff కలిగి డేటా నిర్మాణం. కానీ స్టాక్ గురించి ఆసక్తికరమైన విషయం, వంటి, వాస్తవానికి సందర్భంలో అది డేటా నిర్మాణం యొక్క ఒక ప్రత్యేక తరహా అని ఉంది. ఇది ఒక డేటా నిర్మాణ వస్తే మొదటి మూలకం గత మూలకం ముగిసింది. మీరు, స్టాక్ లో పెట్టడానికి మొదటి ట్రే ఉంటే మీరు, దురదృష్టవశాత్తు స్టాక్ ఆఫ్ తీసుకోవాలి గత ట్రే ఉంటుంది చూడాలని మరియు ఒక మంచి విషయం అవసరం లేదు. దీనికి విరుద్ధంగా, మీరు, ఇతర మార్గం చుట్టూ దాని గురించి ఆలోచించవచ్చు చివరి మొదటి ముగిసింది. ఇప్పుడు, ఏ సందర్భాల్లో ఒక స్టాక్ కలిగి ఉన్న స్ఫురణకు వచ్చారా మీరు లక్షణాన్ని కలిగి ఉన్నాయి పేరు డేటా నిర్మాణం మొదటి అవ్ట్, చివరి యొక్క, నిజానికి ఖచ్చితంగా ఉంది? ఒక మంచి విషయం? ఒక చెడ్డ విషయం? ట్రేలు అన్ని సారూప్యత ఉన్నట్లయితే ఇది ఖచ్చితంగా మంచిది మరియు వారు, అన్ని ప్రత్యేక వివిధ రంగులు లేదా whatnot ఉన్నాయి మరియు మీకు కావలసిన రంగు దిగువన అన్ని మార్గం. అయితే, మీరు గొప్ప ప్రయత్నం లేకుండా ఆ పొందలేము. మీరు ఎగువ నుండి ప్రారంభం మరియు మీ మార్గం డౌన్ పని ఉంటుంది. అదేవిధంగా, మీరు ఈ అభిమాని బాయ్స్ ఒకటి ఏం ఎవరు అప్ ఒక ఐఫోన్ మరియు పంక్తులు పొందడానికి ప్రయత్నిస్తున్న రాత్రి వరకు వేచి ఈ వంటి ప్రదేశంలో? ఇది నీస్ కాదు ఉంటే ఆపిల్ స్టోర్ ఒక స్టాక్ డేటా నిర్మాణం ఉన్నాయి? అవును? కాదు? ఇది చివరి నిమిషంలో చూపించే వ్యక్తులకు మాత్రమే మంచి మరియు తర్వాత క్యూ ఆఫ్ తెమ్పబడిన కలుగుతుంది. నిజానికి, నేను ప్రేరిత వాస్తవానికి క్యూ సే , మేము ఈ రకమైన డేటా నిర్మాణం యొక్క కాల్ ఏ తో వాస్తవానికి స్థిరంగా ఉంటుంది ఆర్డర్ అవసరం పేరు వాస్తవానికి ఒక, మరియు మీరు మొదటి ఒక మొదటి ఒకటి ఉండాలనుకుంటున్నాను మానవ న్యాయము కొరకు మాత్రమే. మేము సాధారణంగా క్యూ డేటా నిర్మాణాన్ని పిలుస్తాను. ఇది లింక్ జాబితాలు పాటు, మేము ఈ అదే ప్రాథమిక ఆలోచనలు ఉపయోగించి ప్రారంభించవచ్చు అవుతుంది మరియు సమస్యలకు పరిష్కారాలను యొక్క కొత్త మరియు వివిధ రకాల సృష్టిని ప్రారంభించేందుకు. ఉదాహరణకు, ఒక స్టాక్ విషయంలో, మేము ఒక స్టాక్ ప్రాతినిధ్యం వహిస్తుంది ఈ వంటి డేటా నిర్మాణం ఉపయోగించి చెప్పిన ప్రతిపాదనలను చేస్తుంది. ఈ సందర్భంలో, నేను ఒక struct డిక్లేర్డ్, నేను ఈ నిర్మాణం లోపల చెప్పారు చేసిన సంఖ్యల వ్యూహం మరియు తరువాత వేరియబుల్ అని పరిమాణం, ఉంది మరియు నేను ఈ విషయం ఒక స్టాక్ కాల్ నేను. ఇప్పుడు, ఈ వాస్తవానికి పని లేదు ఎందుకు? ఒక స్టాక్ విషయంలో, నేను వ్యూహం తెరపై ఈ సమర్థవంతంగా గీయవచ్చు. ఇక్కడ నా స్టాక్ ఉంది. ఆ నా సంఖ్యలు. మరియు మేము, ఈ, ఈ, ఈ ఈ ఈ వారిని డ్రా చేస్తాము. మరియు నేను, ఇక్కడ కొన్ని ఇతర డేటా సభ్యుడు కలిగి పరిమాణం అంటారు, అయితే, ఈ పరిమాణం, మరియు ఈ సంఖ్యలను మరియు సమిష్టిగా, ఇక్కడ మొత్తం ఐప్యాడ్ ఒక స్టాక్ నిర్మాణం సూచిస్తుంది. ఇప్పుడు, డిఫాల్ట్గా, పరిమాణం చాలావరకు 0 to initialized చేయడానికి కలిగియున్నది మరియు ప్రారంభంలో సంఖ్యల శ్రేణి యొక్క లోపల ఏముంది నేను మొదటి వ్యూహం కేటాయించాలని ఉన్నప్పుడు? గార్బేజ్. ఎవరు తెలుసు? మరియు అది నిజానికి పట్టింపు లేదు. ఇది పూర్తిగా యాదృచ్చికంగా, ఈ 1, 2, 3, 4, 5 ఉంటే పట్టింపు లేదు నా నిర్మాణం నిల్వ దురదృష్టం అలా నేను తెలిసిన ఎందుకంటే ఆ స్టాక్ యొక్క పరిమాణం 0, అప్పుడు నేను programmatically తెలుసు, అర్రే లో అంశాల ఏ దృష్టి లేదు. అక్కడ ఏమి పట్టింపు లేదు. 0 ఒక పరిమాణం యొక్క సూత్రప్రాయంగా ఉంటుంది, వాటి దృష్టి లేదు. కానీ నేను ముందుకు వెళ్లి స్టాక్ను ఏదో ఇన్సర్ట్ ఇప్పుడు అనుకుందాం. నేను సంఖ్య 5 ఇన్సర్ట్ చెయ్యడానికి మీరు, నేను ఇక్కడ సంఖ్య 5 ఉంచండి మరియు నేను ఇక్కడ ఏమి డౌన్ ఉంచగలను? ఇప్పుడు నేను నిజానికి, పరిమాణానికి 1 డౌన్ ఉంచుతాడు మరియు ఇప్పుడు స్టాక్ 1 పరిమాణం ఉంటుంది. నేను ముందుకు వెళ్లి సంఖ్య ఇన్సర్ట్ ఉంటే, ఏ లెట్స్ 7 తరువాత, చెబుతారా? ఈ అప్పుడు 2 కు నవీకరించబడింది, ఇక అప్పుడు మేము, 9 చేస్తాను మరియు ఈ 3 కు నవీకరించబడింది తీర్చుకుంటాడు. కానీ ఈ స్టాక్ ఇప్పుడు ఆసక్తికరమైన ఫీచర్ అని నేను పాప్ అనుకుంటే ఇది మూలకం తొలగించు కోరుకుంటున్నాము నేను స్టాక్ ఏదో ఆఫ్, మాట్లాడటానికి? 9 వెళ్ళి మొదటి విషయం ఉంటుంది. నేను స్టాక్ ఆఫ్ ఒక మూలకం పాప్ అనుకుంటే ఎలా చిత్రం, మార్చాలి చాలా మాథుర్ ఒక ట్రే అనుకుంటున్నారా? అవును. 2 >> [స్టూడెంట్] సెట్ పరిమాణం. సరిగ్గా, నేను అన్ని 2 పరిమాణం సెట్, మరియు నేను శ్రేణి తో ఏమి చేస్తారు? నేను ఏమీ లేదు. నేను, కేవలం ఆసన అని, అక్కడ ఒక 0 లేదా ఒక -1 లేదా సూచిస్తుంది ఏదో ఉంచండి కాలేదు ఈ ఒక సక్రమం విలువ కాదు, కానీ అది లేదు ఎందుకంటే నేను ఎంత కాలం శ్రేణి యొక్క వెలుపల రికార్డు చేయగలరు కాబట్టి నాకు తెలుసు మాత్రమే ఈ శ్రేణి లో మొదటి రెండు అంశాలను చూడండి. ఇప్పుడు, నేను వెళ్ళి ఈ శ్రేణి సంఖ్య 8 జోడిస్తే, ఎలా చిత్రం తర్వాత మార్చదు? ఈ 8 అవుతుంది, మరియు ఈ 3 అవుతుంది. నేను ఇక్కడ కొన్ని మూలల్లో కటింగ్ నేను. ఇప్పుడు మేము 5, 7, 8, కలిగి తిరిగి 3 యొక్క ఒక పరిమాణం ఉన్నారు. ఇది అమలు చేయడానికి చాలా సులభం కానీ మేము ఈ నిర్ణయానికి చింతిస్తున్నాము దానికి వెళుతున్నారా? వచ్చిన వాటికి చాలా తప్పు మొదలు చెయ్యాలి? అవును. [వినబడని విద్యార్థి ప్రతిస్పందన] మీరు తిరిగి వెళ్ళి, మీకు సైన్ పెట్టిన తొలి మూలకం పొందడానికి ఉంటుంది ఒక స్టాక్ హుడ్ కింద వ్యూహం అయినప్పటికీ ఇది ఇక్కడ అవుతుంది మేము గురించి మాట్లాడటం మొదలుపెట్టాడు చేసిన ఈ డేటా నిర్మాణాలు కూడా సాధారణంగా పిలుస్తారు వియుక్త డేటా నిర్మాణాలు వస్తే వారు అమలు చేస్తున్నాము పూర్తిగా పాయింట్ పాటు ఉంటుంది. ఒక స్టాక్ వంటి ఒక డేటా నిర్మాణం మద్దతు కోరుకుంటున్నాము స్టాక్ లో ఒక ట్రే నెడుతుంది ఇది పుష్ వంటి కార్యకలాపాలను, మరియు స్టాక్ నుండి ఒక మూలకం తొలగిస్తుంది, అంతే ఇది పాప్,. మీరు ఇప్పటికే అమలు చేసిన ఇతరుల కోడ్ డౌన్లోడ్ ఉంటే ఈ విషయం ఒక స్టాక్ అని, ఆ వ్యక్తి రాసిన ఉండేది మీరు మాత్రమే రెండు విధులు, పుష్ మరియు దీని ముఖ్య ఉద్దేశం జీవితంలోని పాప్, సరిగ్గా ఆ విధంగా చేయడానికి ఉంటుంది. మీరు లేదా అతను లేదా ఆమె ఆ కార్యక్రమాన్ని అమలు చేసే అమలు ఎలా నిర్ణయిస్తారు పూర్తిగా ఒక ఉండేది హుడ్ కింద నెట్టడం మరియు పాపింగ్ యొక్క అర్థాలను లేదా నెట్టడం మరియు పాపింగ్ యొక్క కార్యాచరణ. నేను ఇక్కడ కొంత shortsighted నిర్ణయం తీసుకున్న ఈ సులభమైన డేటా నిర్మాణం ఎందుకు నా స్టాక్ అమలు ద్వారా? ఈ డేటాను నిర్మాణం బ్రేక్ చేస్తుంది? ఏ సమయంలో నేను యూజర్ పుష్ కాల్స్ ఉన్నప్పుడు ఉదాహరణకు, ఒక లోపం తిరిగి ఉన్నాయి? [స్టూడెంట్] ఖాళీ లేదు లేదు ఉంటే. సరిగ్గా, ఖాళీ లేదు, నేను సామర్థ్యాన్ని మించిపోయాము ఉంటే, ఒకవేళ ఉంది ఇది ప్రపంచ స్థిరాంకం రకమైన అని సూచిస్తుంది ఎందుకంటే ఇది అన్ని CAPS ఉంది. వెల్, అప్పుడు నేను క్షమించాలి, నేను మరొక విలువ పుష్ కాదు ", చెప్పే వెళుతున్న స్టాక్ లో, "చాలా మాథుర్ లాగే. కొన్ని సమయంలో, వారు ఆ చిన్న క్యాబినెట్ ఎగువ భాగం హిట్ చూడాలని. స్టాక్ ఖాళీ లేదు లేదా సామర్థ్యం లోపం రకమైన ఉంది, ఆ సమయంలో, ఉన్నాయి. వారు ట్రే ఎక్కడైనా, ఎక్కడైనా మూలకం ఉంచాలి లేదా ఎక్కడా అన్ని వద్ద. ఇప్పుడు, ఒక క్యూ తో, మేము ఇది భిన్నంగా కొద్దిగా అమలు కాలేదు. ఒక క్యూ హుడ్ కింద, అది అమలు చేసే ఒక చిన్న భిన్నంగా ఉంటుంది వ్యూహం, కాని ఎందుకు, ఈ సందర్భంలో, నేను ప్రతిపాదించడం am కూడా జాబితాలో తల ప్రాతినిధ్యం తల మూలకం కలిగి, పరిమాణం పాటు జాబితా ముందు, ఆపిల్ స్టోర్ లో లైన్ లో మొదటి వ్యక్తి,? నేను ఇక్కడ డేటా అదనపు భాగం చేయాలి? ఏది సంఖ్యలు తిరిగి థింక్ నేను డ్రా ఉంటే అది ఈ క్రింది. , ఈ ఇప్పుడు బదులుగా స్టాక్ యొక్క క్యూ ఒకవేళ అనే-కేవలం ఆపిల్ స్టోర్-క్యూ వంటి తేడా ఫెయిర్ ఉంది. జాబితా ప్రారంభంలో లైన్ లో మొదటి వ్యక్తి, ఈ సందర్భంలో సంఖ్య 5, అతను లేదా ఆమె మొదటి స్టోర్ ప్రవేశిస్తుంది అవతరిస్తుంది. యొక్క అలా లెట్. ఈ ఆపిల్ స్టోర్ ఇప్పుడు సమయంలో ఈ సమయంలో నా క్యూ యొక్క స్థితి, మరియు ఆ అనుకుంటే తెరుచుకుంటుంది మరియు మొదటి వ్యక్తి, సంఖ్య 5, స్టోర్ లో నడపబడుతుంది. నేను మొదటి వ్యక్తి DE-క్యూలో ఇప్పుడు చిత్రాన్ని మార్చగలను లైన్ ముందు వద్ద? ఆ ఏమిటి? >> [స్టూడెంట్] క్యూ మార్చండి. తల మార్చండి, కాబట్టి 5 అదృశ్యమవుతుంది. వాస్తవంలో, అందువల్ల దీనిని వంటి అయితే-ఎలా సరిగ్గా? ఈ వ్యక్తి అదృశ్యం అయితే వాస్తవంగా, ఇది. సంఖ్య 7 ఒక వాస్తవ స్టోర్ లో ఏమి చేస్తుంది? వారు ముందుకు ఒక పెద్ద అడుగు పడుతుంది. అది శ్రేణుల విషయానికి వస్తే కాని మేము అభినందిస్తున్నాము వచ్చారు మరియు విషయాలను కదిలే? కుడివైపు, మీ సమయం వృధా రకంగా? మొదటి వ్యక్తి కలిగి వంటి ఎందుకు మీరు ఆసన ఉండాలి లేదు మెమరీ భాగం యొక్క భౌతికంగా ప్రారంభంలో లైన్ ప్రారంభంలో? ఆ పూర్తిగా అనవసరమైన పని. ఎందుకు? నేను బదులుగా ఏమి గుర్తు? >> [వినబడని విద్యార్థి ప్రతిస్పందన] సరిగ్గా, నేను ఈ అదనపు డేటా సభ్యుడు తలను గుర్తు ఇప్పుడు జాబితా యొక్క తల ఒక క్షణం క్రితం ఇది, ఇకపై 0 అని. ఇప్పుడు ఇది నిజానికి నంబర్ 1. ఈ విధంగా, నేను కొంచెం ఆప్టిమైజేషన్ పొందండి. నేను ఆపిల్ స్టోర్ లో లైన్ ప్రారంభంలో లైన్ నుండి ఎవరైనా DE-క్యూలో చేసిన వలన ప్రతి ఒక్కరూ ఒక సరళ ఆపరేషన్ ఇది రీకాల్ మారిపోయే ఉంది కాదు. నేను స్థిరంగా సమయం మాత్రమే ఖర్చు చేయవచ్చు మరియు తర్వాత చాలా వేగంగా స్పందన సాధించడానికి. కానీ నేను చెల్లించి నేను ధర అదనపు ప్రదర్శన పొందేందుకు ఏమిటి మరియు ప్రతి ఒక్కరూ బదిలీ చేయడంలో? అవును. >> [వినబడని విద్యార్థి ప్రతిస్పందన] ఎక్కువ మంది జోడించవచ్చు, అలాగే, ఆ ​​సమస్య ఉన్న ఆర్తోగోనల్ ఉంది మేము మంది బదిలీ లేదు వాస్తవాన్ని. ఇది మేము ప్రతి ఒక్కరూ తీసుకెళ్లడం లేదా కాదు లేదో, అందుచే వ్యూహం యొక్క ఓహ్, నేను సరే, మీరు అర్థం చూడటానికి. అసలైన, నేను మీరు దాదాపు అయితే ఆ లో ఏమి చెబుతున్నారో తో అంగీకరిస్తున్నారు మేము ఇప్పుడు ఇకపై ఈ శ్రేణి యొక్క ప్రారంభ ఉపయోగించడానికి వెళ్ళి ఎప్పుడూ చేస్తున్నారు నేను 5 తీసివేస్తే ఎందుకంటే, అప్పుడు నేను 7 తొలగించండి. కానీ నేను మాత్రమే కుడి ప్రజలు ఉంచండి. నేను స్పేస్ వృధా ఉంటాను ఇది అనిపిస్తుంది, మరియు చివరికి నా క్యూ అసలు ఏమీ లోకి విచ్చిన్నము అవుతుంది కాబట్టి, మనం కేవలం ప్రజలు చుట్టబెట్టిన కలిగి మరియు మేము, వృత్తాకార నిర్మాణం యొక్క కొన్ని రకమైన నిజంగా ఈ శ్రేణి యొక్క భావిస్తున్నాను కాలేదు కానీ మేము చుట్టబెట్టిన ఆ విధమైన చేయడానికి సి లో ఏం ఆపరేటర్లు ఉపయోగించాలి? [వినబడని విద్యార్థి ప్రతిస్పందన] >> మాడ్యులో ఆపరేటర్లు. ఇది మీరు చుట్టబెట్టిన ఎలా చేయాలి ద్వారా ఆలోచించాడు కాస్త కోపం తెప్పించేది ఉంటుంది కానీ, అది చేయగల, మరియు మేము లైన్ ముందు ఉపయోగించినచోట వద్ద ప్రజలు చూస్తూ ప్రారంభం కాలేదు కానీ మేము లైన్ వాస్తవ తల వాస్తవానికి ఈ తల వేరియబుల్ తో గుర్తుంచుకోవాలి. ఏ మాత్రం, మా లక్ష్యం చివరికి, బదులుగా, ఉంటే , మేము అనిత వేదికపై ఇక్కడ వచ్చింది, సంఖ్యలు చూసేందుకు ఉంది కానీ మేము నిజంగా ఈ ప్రపంచాల ఉత్తమ అనుకుంటున్నారా? మేము శ్రేణి అనుమతిస్తుంది కంటే ఆడంబరం కావలసిన మేము డైనమిక్ డేటా నిర్మాణం పెరగడం సామర్థ్యం కావలసిన ఎందుకంటే. కానీ మనం ఎత్తి చూపారు ఏదో ఆశ్రయించాల్సిన అవసరం చేయకూడదని మొదటి ఉపన్యాసం లో, ఒక మధ్యస్థ అల్గోరిథం కాదు సరళ శోధన యొక్క. మీరు, నిజానికి, సాధించలేకపోవడం అవుతుంది లేదా కనీసం స్థిరంగా సమయం దగ్గరగా, అనగా అనిత వంటి ఎవరైనా, ఆమె డేటా నిర్మాణం ఆకృతీకరించబడుతుంది ఉంటే అనుబంధ జాబితా కాదని, ఒక స్టాక్ కాదని, ఒక క్యూ కాదని, పొందగలిగిన నిజానికి, ఆమె విషయాలు చూసేందుకు అనుమతించే డేటా నిర్మాణం ఆలోచన కూడా పదాలు, కేవలం సంఖ్యలు, ఏ లో మేము నిరంతరం సమయం పిలుస్తాను. నిజానికి, ముందుకు చూస్తూ, ఈ తరగతి లో psets ఒకటి దాదాపు ఎల్లప్పుడూ ఉంటుంది ఒక స్పెల్ అభివృద్దిని, అనగా మేము మళ్ళీ కొన్ని 150,000 ఆంగ్ల పదాలను మీరు ఇవ్వాలని మరియు గోల్ చేయడం మెమోరీలో ఆ లోడ్ మరియు వేగంగా రూపం యొక్క ప్రశ్నలు సమాధానం ఈ పదం సరిగ్గా ఉన్నట్లు? మీరు ఆ సమాధానం అన్ని 150,000 పదాలు ద్వారా iterate వచ్చింది ఉంటే అది నిజంగా కుడుచు చేస్తుంది. కానీ, నిజానికి, మేము చాలా వేగవంతంగా దీన్ని చెయ్యవచ్చు ఆ చూస్తారు. మరియు అది ఒక హాష్ పట్టిక అని అమలు ఏదో కలిగి వెళుతున్న మరియు మొదటి చూపులో ఒక హాష్ పట్టిక అని ఈ విషయం అన్నారు అయినప్పటికీ ఈ సూపర్ వేగంగా ప్రతిస్పందన సమయం మాకు సాధించడానికి వీలు, అది ఒక సమస్య నిజానికి ఉంది అవుతుంది. ఇది మళ్లీ అనే ఈ విషయం అమలు వచ్చినప్పుడు, నేను దాన్ని మళ్ళీ చేస్తున్నదాన్ని. నేను ఇక్కడ కేవలం ఒక ఉన్నాను. అది వచ్చినప్పుడు ఈ విషయం అమలు సమయం, హాష్ పట్టిక అని మేము ఒక నిర్ణయం తీసుకోవడానికి చూడాలని. ఈ విషయం నిజంగా ఎంత పెద్దది ఉండాలి? మరియు మేము ఈ హాష్ పట్టిక లోకి ఇన్సర్ట్ సంఖ్యలు ప్రారంభించినప్పుడు, ఎలా మేము విధంగా వాటిని నిల్వ చేయడానికి వెళ్తున్నారు మేము వాటిని మారిన మేము త్వరగా తిరిగి వారిని అవుట్ చేసే? కానీ మేము దీర్ఘ ముందు చూస్తారు ఆ యొక్క ఈ ప్రశ్న ప్రతి ఒక్కరూ పుట్టినరోజు తరగతి లో ఉన్నప్పుడు చాలా సంబంధించి ఉంటుంది. ఇది ఈ గదిలో, మేము కొన్ని వందల మంది పొందారు అవుతుంది మాకు రెండు ఒకే పుట్టినరోజు బహుశా చాలా ఎక్కువగా కలిగి అసమానత కాబట్టి. కేవలం 40 మాకు ఈ గదిలో ఉన్నాయి ఏం? అదే పుట్టినరోజు ఇద్దరు వ్యక్తుల అసమానత ఏమిటి? [స్టూడెంట్స్] 50% పైగా. అవును, 50% పైగా. నిజానికి, నేను కూడా ఒక చార్ట్ తీసుకువచ్చింది. ఇది అవుట్ అండ్ మారుతుంది ఇది నిజంగా ఒక రహస్య ఉంది ప్రివ్యూ- ఈ గదిలో మాకు మాత్రమే 58, మాకు యొక్క 2 యొక్క సంభావ్యత ఉంది ఉంటే అదే పుట్టినరోజు కలిగి, దాదాపు 100% అత్యంత ఎక్కువ మరియు ఆ బుధవారం మాకు హాని యొక్క మొత్తం బంచ్ కారణం చెప్పారు. అన్నారు తో యొక్క ఇక్కడ వాయిదావెయ్యి తెలియజేయండి. మేము బుధవారం మీరు చూస్తారు. [చప్పట్లు] [CS50.TV]