DAVID మలన్: అన్ని కుడి. కాబట్టి ఈ CS50, మరియు ఈ ఉంది ఇప్పుడు వారం మూడు ప్రారంభం. ఇప్పుడు వరకు, మేము చేసిన అప్ కాబట్టి సి కార్యక్రమాలు రాయడం ఒక చిన్న చూడండి ఇక్కడ ఈ వంటి ఏదో. కాబట్టి మేము ఒక జంట పొందారు పదునైన ఎగువన కలిగి. మేము తప్ప, Int ప్రధాన పొందారు, మరియు అప్పుడు ఏదో మధ్యలో చేయాలని, లోపల కోడ్ కొన్ని బిట్ ఆ ఫంక్షన్ యొక్క. కానీ కీ వాస్తవం ఉంది మేము ఇక్కడ తప్ప చెప్పడం చేసిన. కాబట్టి శూన్యమైన, ఈ సమయంలో అన్ని పేర్కొంటుంది ఈ కార్యక్రమం, ఎప్పుడు అమలు, మాత్రమే దాని పేరు ద్వారా అమలు చేయవచ్చు. మీరు ఏ ఇతర పదాలు టైప్ కాదు లేదా కార్యక్రమం యొక్క పేరు తరువాత సంఖ్యలు అది నడుస్తున్న. కావున, ఉదాహరణకు కార్యక్రమం, ఒకవేళ హలో అనే ఫైల్ లోకి కంపైల్, మీరు హలో చేయగల, కానీ అది ఉంది. ఏకైక మార్గం మీరు అనుకొనుట ఈ కార్యక్రమం ఇన్పుట్ అందిస్తాయి ఒక ఫంక్షన్ కాల్ ఉంది. ఉదాహరణకు, ఏమి ఫంక్షన్ మేము ఇప్పటివరకు ఉపయోగించి ఉన్నాయి వినియోగదారు నుండి ఇన్పుట్ పొందడానికి? ప్రేక్షకులు: స్ట్రింగ్ పొందండి. DAVID మలన్: స్ట్రింగ్ పొందండి, లేదా పూర్ణాంకానికి పొందుతారు, లేదా మీరు ఇతరుల చూసిన, మీరు ఇంకా వాటిని ఉపయోగిస్తారు సరే, వంటి, దీర్ఘ దీర్ఘ మరియు వంటి పొందండి. కానీ ఒకవేళ మనం నిజానికి ప్రారంభం కావాలి కొంచెం ఎక్కువ రచన కార్యక్రమాలు స్పష్టముగా, కొంచెం, బహుముఖ, మరియు మీరు చేసిన ఆదేశాలను వంటి ఆశాజనక, అందుకుంటుంది, కొద్దిగా అభిమానం. Cd స్పేస్ డ్రాప్బాక్స్ ఇష్టపడుతున్నారు. ఈ, కోర్సు యొక్క, మార్పులు మీ డైరెక్టరీ ఊహిస్తూ మీరు జాన్ హార్వర్డ్ యొక్క హోమ్ ఉన్నారు డైరెక్టరీ మీ డ్రాప్బాక్స్ ఫోల్డర్కు. ఇంతలో, ఈ వంటి ఒక ఆదేశం , pset2 అనే కొత్త డైరెక్టరీ సృష్టిస్తుంది మీరు కలిగి ఉండవచ్చు అప్పటికే లేదా త్వరలో సమస్య రెండు సెట్. హలో తయారు, కోర్సు యొక్క, ఒక ఆదేశం ఉంది ఆ హలో అని ఒక కార్యక్రమం రూపొందించారు హలో డాట్ సి పిలువబడే ఒక ఫైల్ నుండి. మరియు ఈ ప్రతి కేసులు, ఇప్పుడు, మేము చేశాము అని పిలవబడే ఒక వాదన అందించేందుకు కమాండ్ లైన్, మెరిసే ప్రాంప్ట్, ఆ అమ్మాయి తెలుసు కాబట్టి ఏం నిర్మించడానికి, మరియు కనుక ఆ mkdir సృష్టించడానికి ఏమి ఫోల్డర్ తెలుసు, అందువలన ఆ cd తెలుసు ఇక్కడ మీరు వెళ్లాలని మీరు. కానీ ఇప్పుడు వరకు అప్, మేము చెప్పడం ఉంచేందుకు ప్రధాన, మీ డిఫాల్ట్, ఒక గర్జన వ్యక్తీకరణ ఉంది ఆ కుండలీకరణాలు లోపలి, ఇది అర్థం ఏ వాదనలు తీసుకోలేదు చేయవచ్చు. కాబట్టి ఈరోజు మొదలు, మనం చేయబోతున్నామని , మేము ఆరంభమవుతుంది చేస్తున్నారు ఈ కూడా వంటి విషయాలు మద్దతు. నిజానికి, ఈ విషయంలో, ఇది మీరు సాధారణంగా మానవీయంగా టైప్ లేదు, ఈ చేయడం జరిగింది చేయండి మాకు లేవు ఒక కానీ ఒకటి, రెండు, మూడు అదనపు కార్యక్రమం యొక్క పేరు పెట్టబడింది తీగలను గణగణమని ద్వని చేయు. కాబట్టి మేము ఎలా సాధించడం లేదు? సరే ఈరోజు మొదలు, మేము ఎక్కడ సందర్భాలలో ద్వారా ఇన్పుట్ను అందించాలి కమాండ్ లైన్ అని పిలవబడే, మేము జోడించడం ఆరంభమవుతుంది చేస్తున్నారు ఇక్కడ yellow-- లో ఏమిటి Int argc, కామాతో గర్జన స్థానంలో స్ట్రింగ్ argv తెరిచి బ్రాకెట్ దగ్గరగా బ్రాకెట్. ఇప్పుడు ఈ ఆసక్తికరమైన ఉంది కారణాలు జంట కోసం. ఒకటి, అది వ్రాద్దాము జరగబోతోంది కొంచెం డైనమిక్ చేసిన కార్యక్రమాలు. కానీ, మరింత compellingly, దానిని తెరిచి జరగబోతోంది గా ఇప్పుడు ఒక సంభాషణ ఏమి శ్రేణుల నిజంగా ఒక స్ట్రింగ్, ఉపయోగించవచ్చు నిజంగా హుడ్ కింద, వచ్చే వారం వరకు మేము డైవింగ్ మొదలు ఉన్నప్పుడు యంత్రం ఎలా లోతుగా లో ఈ విషయాన్ని కృతి యొక్క అన్ని మేకింగ్. కానీ ఇప్పుడు కోసం, యొక్క డ్రా తెలియజేయండి బహుశా, ఒక చిత్రం. మీరు ఒక కార్యక్రమం వ్రాస్తున్నప్పుడు డిక్లేర్డ్ ప్రధాన తో ఈ విధంగా, అటువంటి ప్రధాన ఆ రెండు వాదనలు, ఒక పూర్ణాంకానికి పడుతుంది మీరే ఏమి డేటా రకం రెండవ వాదన ఉంది? ప్రేక్షకులు: అర్రే. DAVID మలన్: అర్రే. అది ఒక వంటి కాబట్టి అది మొదటి చూపులో కనిపిస్తుంది స్ట్రింగ్, కానీ చదరపు బ్రాకెట్లలో గమనిస్తారు. పరిచయం చివరిసారి గుర్తుచేసుకున్నారు వ్యూహం యొక్క భావనను. మరియు శ్రేణుల చదరపు బ్రాకెట్లలో ఉపయోగించండి సందర్భాలలో ఒక జంట లో. మీరు చదరపు ఉపయోగించుకునే బ్రాకెట్లలో వ్యూహం లోకి వెళ్ళి మరియు వంటి, ఒక నిర్దిష్ట అంశానికి పొందండి బ్రాకెట్ 0 లేదా బ్రాకెట్ 1 లేదా బ్రాకెట్ 2. కానీ మేము ఉంటే క్లుప్తంగా చూసిన గత వారం కూడా మీరు ఈ చదరపు బ్రాకెట్లలో ఉపయోగించండి వ్యూహం యొక్క పరిమాణం డిక్లేర్, మీరు ముందుగానే తెలిస్తే ఎన్ని ints లేదా ఎన్ని తీగలను లేదా సంసార మీరు నిజంగా కావలసిన. కనుక ఇది ఉంది బయటకు వస్తాడు ఇక్కడ ఒక మూడవ సందర్భం ఆ లోపల సంఖ్య గల చదరపు బ్రాకెట్లలో. నేను ఇక్కడ కలిగి ఉన్నప్పుడు మీరు పేర్కొనండి argv వంటి ఏదో పేరు, ఇది కేవలం ఒక ఫాన్సీ మార్గం వాదన వెక్టర్, చెపుతూ మరొక ఫాన్సీ మార్గం వాదనలు యొక్క ఒక అర్రే చెప్పడం ఓపెన్ బ్రాకెట్ దగ్గరగా బ్రాకెట్ కేవలం మీరు తప్పనిసరిగా లేదు అంటే ఎంత పెద్ద ముందుగానే తెలుసు అర్రే, అవతరిస్తుంది కానీ మీరు అది వ్యూహం చేస్తాడు తెలుసు. మీకు తెలిసిన లేకపోతే కనుక సంఖ్య, అక్కడ అది చాలు లేదు ఓపెన్ బ్రాకెట్ దగ్గరగా బ్రాకెట్ కోసం argv స్ట్రింగ్ కాదు అర్థం, కానీ తీగలను యొక్క వ్యూహం. కాబట్టి పదము, మీరు ఉంటే గత వారం తిరిగి అనుకుంటున్నాను, అది చెప్పడం చాలా పోలి వార్తలు పూర్ణాంకానికి వయస్సు ఓపెన్ బ్రాకెట్ వంటి ఏదో, ఆపై ఏదో తరువాత. సో వాట్ ఇలా లేదు? యొక్క నిజానికి ఒక చిత్రాన్ని డ్రా లెట్. కాబట్టి మీరు ప్రధాన ఈ అమలు చేసేటప్పుడు రెండు వాదనలు లోపల పేర్కొనబడతాయి ఆ కుండలీకరణాలు, మీరు ముఖ్యంగా కనీసం రెండు భాగాలు కలిగి మెమరీ యొక్క మీరు అప్పగించారు హుడ్ కింద. ఒకటి, ఈ దీర్ఘ చతురస్రం వలె చూపించారు నేను ఉంటాం argc పిలుస్తారు అన్నారు. మరియు కేవలం ఒక శీఘ్ర రీక్యాప్ వంటి, argc యొక్క డేటా రకం ఏమిటి? కనుక ఇది ఒక పూర్ణాంకానికి ఉంది. కాబట్టి అనేక అన్నారు argc-- మలుపులు వెళ్లాల్సి ఆర్గ్యుమెంట్ లెక్కింపు కోసం నిలిచే. ఇంతలో, నేను వ్యూహం argv డ్రా చేసిన. నేను నిజంగా తెలియదు ఇది చేస్తాడు ఎంతకాలం, కాబట్టి నేటి ప్రయోజనాల కోసం డాట్ డాట్ డాట్. ఇది కొన్ని పొడవు యొక్క పొందండి ఉండవచ్చు. కానీ నేను ఇక్కడ పటంలో చేసిన కనీసం నాలుగు దీర్ఘచతురస్రాల్లో. కాబట్టి ఆ దుకాణాలు మెమరీ భాగం argv స్ట్రింగ్ స్ట్రింగ్ స్ట్రింగ్ డాట్ డాట్ డాట్, మరియు argc కేవలం ఒక భాగం ఉంది పూర్ణాంకం కోసం మెమరీ. కాబట్టి ఇప్పుడు, యొక్క కొద్దిగా మరింత ఖచ్చితమైన ఉండాలి తెలియజేయండి. అయితే, నేను తీగలను కలిగి ఉన్నప్పుడు ఈ శ్రేణి, ఒక అని argv, నేను వాటిని పొందడానికి కావలసిన వ్యక్తిగతంగా, కేవలం గత వారం వంటి, మేము నోటేషన్ ను ఉపయోగిస్తాయి చూడాలని argv బ్రాకెట్ 0 వంటి మొదటి విషయం వ్యూహం పొందడానికి. Argv బ్రాకెట్ 1 పొందుటకు మొదలగునవి రెండో విషయం, మరియు. కీ ఇక్కడ మేము ఇప్పటికీ 0 ఉన్నారు ఉండటం indexed-- మేము ఇప్పటికీ 0 నుండి లెక్కింపు చేస్తున్నారు. కాబట్టి ఇప్పుడు వాస్తవానికి లెట్స్ ఈ ఏదో పెట్టారు. నేను అనే కార్యక్రమం కంపైల్ ఉంటే హలో హలో డాట్ సి పిలువబడే ఒక ఫైల్ నుండి, ఆ తరువాత ఆ ప్రోగ్రామ్ రన్ డాట్ హలో, స్లాష్ నా కంప్యూటర్, నా ల్యాప్టాప్ ఏమి, హుడ్ కింద లాగా నేను డాట్ అమలు క్షణం హలో స్లాష్ మరియు హిట్ నమోదు? Well, ఈ బహుశా ఉంది మేము వివరించడానికి ఏ మీ కంప్యూటర్ యొక్క కంటెంట్ మెమొరీ లేదా RAM-- రాండమ్ యాక్సెస్ మెమరీ. ఇతర మాటలలో, కంప్యూటర్, ఏదో అద్భుతంగా మీరు కోసం, argc లో నెంబర్ 1 ఉంచుతుంది, AKA argcount, మరియు వాచ్యంగా స్ట్రింగ్ ఉంచుతుంది హలో argv బ్రాకెట్ 0 లో. నేను సంఖ్య ఆలోచన, స్పష్టముగా, ఏది కలిగి argv బ్రాకెట్ 1 లేదా 2 లేదా 3, యూజర్ కలిగి ఉంటే ఎందుకంటే , హలో పాటు ఏదైనా టైప్ మేము ఈ అని ఊహించుకోవటం చూడాలని ఎక్కువగా చెత్త విలువలు, మాట్లాడటానికి. మెమరీ ఆ రాళ్లను ఉనికిలో కానీ అది మాకు వరకు కాదు ఎందుకంటే, వాటిని చూడండి argcount మాత్రమే ఒకటి. ఇప్పుడు, మరోవైపు, నేను ఉంటే మరొక ప్రోగ్రామ్ను అమలు వ్రాయండి, మరింత సరిగ్గా ఒక ఆదేశం ఇది, cd, మీ మెరిసే prompt-- cd స్పేస్ లో నేను సమర్థవంతంగా, ఆ అమలు చేసినప్పుడు Dropbox--, CD కార్యక్రమం అమలు చేసినప్పుడు, argc నా కంప్యూటర్ యొక్క మెమరీ లోపల కొరకు అత్యంత briefest రెండవ సంఖ్య 2. ఆపై argv బ్రాకెట్ O కలిగి CD, argv బ్రాకెట్ 1, డ్రాప్బాక్స్ ఉంది ఆపై కోర్సు ఆదేశం ముగియనున్న కాబట్టి ఇది మెమరీ ముఖ్యంగా దూరంగా వెళుతుంది మరియు ఏదో కోసం ఉపయోగిస్తారు. ఆ నేను చెప్పేది ఎందుకు వార్తలు రెండవ ఒక స్ప్లిట్. ఇంతలో, మేము mkdir pset2 లేకపోతే, చిత్రాన్ని దాదాపు అదే కనిపిస్తుంది కానీ, argv లోపల వివిధ తీగలను తో. నేను హలో గణగణమని ద్వని డాష్ చేస్తే హలో డాట్ సి, అదే ఆలోచన. మరిన్ని విషయం కోసం నిండి ఉంటుంది argv, argc మరియు, కోర్సు యొక్క, 4. కాబట్టి ఇతర మాటలలో, కూడా ఈ శ్రేణి అయితే కొన్ని, డాట్ డాట్ డాట్ ఉండవచ్చు వేరియబుల్ పొడవు, కాబట్టి, మాట్లాడటం మీరు ఎల్లప్పుడూ పేరు ముగింపు తెలుసు argc మీరు చెప్పడం జరగబోతోంది ఎందుకంటే అంటే, ఏ సమయంలో మీరు ఆపాలి argv లో అంశాలు చూడటం. మీరు నాలుగు చూడవచ్చు ఈ సందర్భంలో మొత్తం. కాబట్టి యొక్క ఇప్పుడు పరిశీలించి తెలియజేయండి బహుశా, ఒక సాధారణ ప్రోగ్రామ్. కేవలం హలో అని ఒకటి Zamyla వంటి ఎవరైనా. సో నేను ఒక కార్యక్రమం రాయడానికి వెళుతున్న దావా కేవలం ఒక క్షణం లో ఇది ద్వారా నేను చేయగలను నేను మీరు హలో స్పేస్ Zamyla, మరియు నా కార్యక్రమం ఏదో ముద్రించాలా వంటి సూపర్ సాధారణ "హలో, Zamyla." ఇప్పుడు గతంలో మేము GetString ఉపయోగించి. గతంలో కూడా చేస్తే మీరు ప్రోగ్రామింగ్ కొత్త ఉన్నాము అసమానత మీరు అప్ రెచ్చిపోయినప్పుడు కాలేదు ఉంటాయి GetString ఉపయోగించే కార్యక్రమం ఆపై printf ఉపయోగిస్తుంది Zamyla అత్యాధునిక చెప్పటానికి. కానీ యొక్క ఈ సమయం GetString ఉపయోగించడానికి వీలు. నాకు బదులుగా Appliant లోకి వెళ్ళి తెలపండి మరియు ప్రామాణిక నేను ఓ డాట్ h ఉంటాయి. నాకు CS50 కూడా డాట్ h ఉన్నాయి లెట్. ఇప్పుడు ప్రధాన Int, మరియు ఇప్పుడు నేను ఉన్నాను నేడు గర్జన చేయబోవడం లేదు. బదులుగా, నేను Int argc చేయ బోతున్నాను స్ట్రింగ్ argv తెరిచి బ్రాకెట్ దగ్గరగా బ్రాకెట్, అనేక పేర్కొనడం లేదు. ఇప్పుడు ఇక్కడ నా దో అని పిలవబడే ఉంది. నేను ఇప్పుడు ఏమి వెళుతున్న నేను ఉన్నాను, ఉంది విశ్వాసం యొక్క లీపు ఒక బిట్ చేయబోవడం, నేను యూజర్ అని ఊహించుకోవటం వెళుతున్న సరిగ్గా ఈ కార్యక్రమం ఉపయోగించడానికి వెళుతున్న, మరియు నేను కేవలం వెళుతున్న హలో printf% SN చేయండి. కాబట్టి ఏమీ అక్కడ కొత్త. కానీ నేను ఇప్పుడు సంసార పదం ఉంచాలి కావలసిన కార్యక్రమం యొక్క పేరు తర్వాత యూజర్ రకాల. కాబట్టి నేను Zamyla హలో స్పేస్ లేకపోతే, నా ఏదో programmatically ఆక్సెస్ అనుకుంటే unquote "Zamyla." కోట్ కాబట్టి నేను నా వాదన వెక్టర్ లోకి వెళ్ళవచ్చు, నా తీగలను శ్రేణి, మరియు కమాండ్ ఉంటే, మళ్ళీ, హలో స్పేస్, Zamyla ఉంది ఏమి సంఖ్య నేను అనుకుంటున్నారు ఇక్కడ argv లో ఉంచాలి? ప్రేక్షకులు: 1. DAVID మలన్: 1, ​​ఎందుకంటే బ్రాకెట్ 0 అవుతుంది అవతరిస్తుంది కార్యక్రమం యొక్క పేరు మేము చూసిన వంటి. కాబట్టి బ్రాకెట్ 1 మొదటి పదం ఉంది నేను, వినియోగదారు, టైప్ చేసిన. నేను ముందుకు వెళ్లి ఈ సేవ్ వెళుతున్న. నేను నా ఫోల్డర్ లోకి వెళ్ళి వెళుతున్న నేను ఈ ఫైలు ఉంచిన. నేను హలో 3 తయారు చేయ బోతున్నాను. కంప్ అదిగో యొక్క సరి. హలో Zamyla ఎంటర్. నేను ఏం తప్పు చేసావ్? నేను ఆశ్చర్యానికి పట్టుబడ్డాడు నాకు అక్కడ కేవలం ఒక క్షణం. నేను ఏం తప్పు చేసావ్? ప్రేక్షకులు: పేరు. DAVID మలన్: ఫైల్ యొక్క నిజానికి hello3.c అని. నేను కేవలం చేసినవి నిలకడ, మేము చేసిన ఎందుకంటే లో వచ్చింది hello.c యొక్క ఆన్లైన్ కోడ్ గత. కాబట్టి యొక్క ఈ హలో పరిష్కరించడానికి అనుమతిస్తాయి బ్రాకెట్ డాష్ 3 Zamyla. ఎంటర్. మరియు ఇప్పుడు మేము హలో Zamyla చేశారు. ఇంతలో, నేను ఈ మార్చవచ్చు రాబ్, లేదా నిజంగా ఏ ఇతర పదం. కానీ యొక్క ఒక మూలలో కేసు పరిశీలిద్దాం. మీరు ఉంటే ఏం జరుగుతుందో ఊహించే నేను అన్ని వద్ద ఎవరైనా యొక్క పేరు టైప్ లేదు? ప్రేక్షకులు: లోపం. DAVID మలన్: ఒక లోపం బహుశా కొన్ని విధమైన. యొక్క చూసేలా. ఎంటర్. శూన్య. కాబట్టి printf వాస్తవానికి ప్రవర్తిస్తే మాకు కొద్దిగా రక్షిత ఇక్కడ, మరియు వాచ్యంగా పగలగొట్టి బ్రాకెట్ ప్రింటింగ్ శూన్య, కానీ కూడా దారుణంగా విషయాలు జరుగుతుంది. మరియు కేవలం ప్రదర్శించేందుకు ఏదో మీరు ఖచ్చితంగా అలా చేయాలి, యొక్క వెళ్ళి తెలపండి ఇక్కడ చుట్టూ poking ప్రారంభించండి. కుడి? నేను తెలిస్తే ఆ చిత్రంలో జ్ఞాపకశక్తి, ముఖ్యంగా ఈ argv బ్రాకెట్ 1 Zamyla, argv ఉంది బ్రాకెట్ 0 హలో ఉంది, లేదా హలో 3. ఏం బ్రాకెట్ 2 లో ఉంది? కాబట్టి నేను ఆ సమాధానం చేయవచ్చు కుడి, నాకు ప్రశ్నించడం? నేను కేవలం 2 1 మార్చవచ్చు. నేను ఇప్పుడు 3 హలో మళ్ళీ కంపైల్ చెయ్యండి చేయవచ్చు ./hello3 యొక్క జూమ్ మరియు ఎంటర్ నొక్కండి లెట్. వై. నో కోట్ మార్క్. ఆసక్తికరమైన. కాబట్టి ఆ రకమైన చల్లని వార్తలు ఇక్కడ ఏమి చూడటానికి. కాబట్టి ఎవరికి ఏమి నా ల్యాప్టాప్ లోపల? యొక్క బ్రాకెట్ 3 తో ​​సేవ్ లెట్. హలో -3, hello3 చేయండి. క్యూరియస్. ఇప్పుడు నిజంగా bold-- 50 పొందండి తెలియజేయండి. కాబట్టి ఆ లోతైన నిజంగా డైవింగ్ వార్తలు నా కంప్యూటర్ యొక్క మెమరీ లోకి. 50 సూచీలు. కాబట్టి హలో 3 హలో-3 తయారు. క్యూరియస్. All right, ఇప్పుడు నేను కేవలం ఉన్నాను నిర్లక్ష్యంగా పొందడానికి జరగబోతోంది. యొక్క 5,000 కి వెళదాం. అన్ని కుడి. కాబట్టి నాకు మళ్ళీ కంపైల్ చెయ్యండి తెలియజేయండి. హలో -3, hello3 చేయండి. సరే. మీరు కొన్ని ఇప్పుడు, అక్కడ వాటిని ఆఫ్ వెళ్ళడం ఒక కాంతి బల్బ్ ఉంటుంది. ఎన్ని మీరు కలిగి ముందు ఈ సందేశం చూసిన? సరే. కాబట్టి, ఎందుకు? ఆడ్స్ are-- మరియు వివిధ ఉంది ఈ కలిగించు విషయాలు, మరియు స్పష్టంగా మీరు మంచి ఉన్నాము company-- మేము స్పష్టంగా ఉన్నాయి అని ఏమి కారణంగా సెగ్మెంటేషన్ దోషంగా. మరియు నేడు కోసం దీర్ఘ కథ చిన్న, నేను మెమరీ విభాగంలో తాకిన నేను కలిగి ఉండకూడదు అని. ఎక్కడ ఒక విభాగంలో కేవలం ఒక భాగం అర్థం మెమరీ యొక్క నేను కలిగి ఉండకూడదు అని. ఇప్పుడు కంప్యూటర్ హామీని ఉంటే నేను నేను, argv టచ్ చేసే ./helloZamyla అమలు బ్రాకెట్ 0 మరియు argv బ్రాకెట్ 1 ఉండాలి. కానీ argc విలువ 2, I am అర్థం ఉంది మాత్రమే అది గౌరవ విధమైన allowed-- టచ్ సిస్టమ్ బ్రాకెట్ 0 మరియు బ్రాకెట్ 1. నేను ఏ దూరంగా వెళ్ళి ఉంటే, అక్కడ ఖచ్చితంగా ఉన్నాయి మెమరీ చేస్తాడు. నా RAM భౌతికంగా ఉనికిలో కంప్యూటర్ లో. కానీ ఎవరు ఉన్నది ఏమి తెలుసు? నిజానికి, నేను బహుళ నడుస్తున్న వెబ్ ఒక సమయంలో కార్యక్రమాలు. నేను ఒకవేళ నేను seen-- కలిగి ఉండవచ్చు Appliant చేయడం కానీ నా Mac లేదా PC-- న నేను కలిగి ఉండవచ్చు ఇమెయిల్ యొక్క కంటెంట్లను చూసిన. నేను ఒక తక్షణ చూసిన ఉండవచ్చు సందేశం నేను ఇటీవల పంపాము. కావచ్చు ఏదైనా మెమరీలో చుట్టూ వేలాడుతోంది ద్వారా దర్శించబడింది ఉండవచ్చు ఈ ఏకపక్ష చదరపు బ్రాకెట్ సంజ్ఞామానం. లేదా, అధ్వాన్నంగా ఇంకా, మీరు కలిగి ఉండవచ్చు నా పాస్వర్డ్లను ఒకటి దొరికింది నేను ఇటీవల, లో టైప్ ఒక అని భావిస్తున్నట్టు ప్రోగ్రామ్ మెమరీలో నిల్వ చేసిన విధంగా నాకు ప్రమాణీకరించడానికి, మరియు అప్పుడు కేవలం రకమైన వదిలి RAM లో నేను ఆ కార్యక్రమం విడిచి వరకు. నిజానికి, ఈ ఒకటి ప్రమాదంలో మరియు ఒక శక్తులు సి వంటి భాష ఉపయోగించి మీరు సులువుగా కరిగిపోయే యాక్సెస్ పూర్తి కంటెంట్లను ఒక ప్రోగ్రామ్ యొక్క మెమరీ, మరియు ఏ చెడు అబ్బాయిలు చెయ్యవచ్చు కూడా ఆ cases-- లో చేయండి ముఖ్యంగా మనం వెబ్ ప్రోగ్రామింగ్ ను సెమిస్టర్ చివరిలో, మేము చేస్తాము చుట్టూ దూర్చు ఈ topic-- సందర్శించండి, సమర్థవంతంగా, ఎవరైనా కంప్యూటర్ యొక్క వార్తలు మెమరీ మరియు ఆసక్తికరమైన విషయాలను కనుగొనడానికి మేము అక్కడ చేశాయి. లేదా ఇప్పటికీ చెత్తగా పాస్వర్డ్స్ అతను లేదా ఆమె అప్పుడు చెడు పనులు ఉపయోగించవచ్చు. కాబట్టి స్పష్టంగా నేను, ఈ చేయలేదని విచిత్రమైన విషయాలు ఏమి ప్రారంభం ఎందుకంటే. నిజానికి, ఈ కార్యక్రమం క్రాష్ ఉంది. ఈ సమానం అవుతుంది విండోస్ మ్యాక్ OS యొక్క లేదా ఒక కార్యక్రమం విండో కేవలం కనుమరుగవుతుంది. ఊహించని లోపం సంభవించింది. కమాండ్ లైన్ వాతావరణంలో మేము ఈ వంటి ఏదో చూడండి. కానీ ఆ ఎందుకు, నేను కేవలం తాకడం చేస్తున్నాను వార్తలు నాకు చెందినవి లేని మెమరీ. కాబట్టి యొక్క ఈ వ్యతిరేకంగా రక్షించడానికి అనుమతిస్తాయి వేరే విధంగా చిన్న బిట్ ఇక్కడ ఈ కార్యక్రమం చూడటం ద్వారా. సో, మళ్ళీ, అస్థిపంజరం మేము earlier-- చూసిన మరియు నేను ఈ సమయంలో పూర్ణాంకానికి హైలైట్ చేసాము. మరియు అన్ని ఈ సమయంలో ప్రధాన ఉంది నిజానికి ఒక విలువ తిరిగి. అయినప్పటికీ మా ఉపన్యాసం అత్యంత లో మేము ఒకసారి ఉపయోగించారు ఎప్పుడూ చేసిన ఉదాహరణలు ప్రధాన దేన్నీ. మేము కేవలం printf దగ్గరగా రాయడానికి వంకర కలుపు అంతే. కానీ ఉచిత కోసం, ఏమి కంపైలర్, మీరు చేస్తున్న సమర్థవంతంగా, మీరు 0 తిరిగి. Out-- అవుతుంది మరియు ఇది ఒక చిన్న వార్తలు 0 మంచిది అని counterintuitive--. ఇది పర్ సే తప్పుడు అర్థం లేదు. 0 మంచిది మరియు ఏ కాని 0 విలువ, ప్రపంచ నిర్ణయించింది, లోపం సంతరించుకొని చేయవచ్చు. మీరు ఎప్పుడైనా గందరగోళంలో చేసిన చేస్తే మీ కంప్యూటర్లో ఏదో అప్, లేదా ప్రోగ్రామ్ కేవలం మీరు మరణించిన మరియు మీరు కొన్ని తప్పుడు విండో సంపాదించిన చేసిన మీ స్క్రీన్ పై, చెప్పడం లోపం 49 లేదా లోపం ప్రతికూల 23-- అని కొన్ని ఏకపక్ష విలువ ఒక ప్రోగ్రామర్ హార్డ్ కోడెడ్ ఎందుకంటే 49 ప్రతికూల లేదా అనుకూల వంటి విలువ 23 ఏ సంఖ్య ప్రాతినిధ్యం, చెప్పే ధైర్యం, 4 బిలియన్ సాధ్యం విషయాలు ఒక కార్యక్రమంలో తప్పు వెళ్ళవచ్చు. కాబట్టి నేను ఎలా పడుతుంది ఈ ప్రయోజనాన్ని నాకు? Well, నాకు ఒక కార్యక్రమం తెరుచుకుంటుంది తెలియజేయండి నేను ముందుగానే వ్రాసాడు, మరియు ఆన్లైన్ హలో 4 అని చుట్టూ దూర్చు. మరియు అది తప్ప, దాదాపు ఒకేలా వార్తలు దాని లోపం పరిశీలన యొక్క ఒక చిన్న బిట్ వచ్చింది. ఈ సందర్భంలో, నేను మళ్ళీ డిక్లేర్డ్ చేసిన రెండు వాదనలు తీసుకొని వంటి ప్రధాన, కానీ ఈ సమయంలో, లైన్ 17 న, నోటీసు నేను ఒక పవిత్రత చెక్ ఒక బిట్ చేయడం వెబ్. నేను ఖచ్చితంగా తయారు చేస్తున్నాను argc 2 సమానం సమానం. అది ఉంటే గనుక ఆ నేను సురక్షితంగా దీని అర్థం మాత్రమే బ్రాకెట్ 0, కానీ బ్రాకెట్ 1 తాకే. నేను ముందుకు వెళ్లి ముద్రించాలా, ఈ సందర్భంలో, Zamyla లేదా రాబ్ లేదా నేను బయటకు పంపించారు సంసార పదం. ఇప్పుడు కేవలం పొందడానికి , మరింత సరైన కొద్దిగా నేను స్పష్టంగా తిరిగి వెళుతున్న 0 అన్ని బాగా ఉంది ప్రాధాన. చెడు ఏమీ జరగలేదు. కానీ సమావేశం ద్వారా, నేను వెళుతున్న 1 తిరిగి, లేదా, స్పష్టముగా ఏ కాని 0 విలువ, ఏదో తప్పు జరిగింది ఉంటే. ఇప్పుడు వినియోగదారు ఉండదని నిజంగా జరగబోతోంది ఏమి గమనిస్తారు. నిజానికి నేను ఈ డైరెక్టరీ లోకి వెళ్ళి ఉంటే, మేము లో జూమ్ మరియు హలో 4 చేయడానికి లేదు నేను ఆశించిన విధంగా హలో-4 Zamyla ప్రవర్తిస్తుంది. కానీ నేను బదులుగా టైప్ లేదు ఏదైనా, ఏమీ జరిగే కనిపిస్తుంది, కానీ క్రాష్ లేదు. నేను బదులుగా ఏదో ఒకటి ఉంటే రాబ్ వంటి ఒక PROCTOR ఉంది Thayer-- పంచుకోవడం ఏకపక్ష సమాచారం. కానీ నోటీసు, argv 1, 2, 3, 4, మరియు 5 ఇప్పుడు మెమరీలో ఉనికిలో ఉండాలి. ఆ, చాలా, ఏమిటి నా కార్యక్రమం, ఆశించటం నేను లేదో తనిఖీ చేసిన ఎందుకంటే argc సమానం 2 లేదా సమానం కాదు. నేను ఇప్పుడు ఈ వ్యతిరేకంగా డిఫెండింగ్ వెబ్. ఇప్పుడు, జనాంతికంగా, మేము programmer-- లేదా కాకుండా మేము users-- 0 లేదా 1 అయితే ఒక ఉపయోగించి ఆ చూడరు సాధనం, డీబగ్గర్, లేదా ఇతర సాధనాలుగా పిలుస్తారు మేము ముందు చూస్తారు వంటి కాలం, మీరు ప్రోగ్రామర్ నిజానికి కావచ్చు ఏమి చూడగలరు మీ కార్యక్రమాన్ని లోపలి తప్పు జరగబోతోంది. కాబట్టి, argc ఏ ప్రశ్నలు? అవును. ప్రేక్షకులు: నేను చూసిన వారు అక్కడ పాత్ర కలిగి లేరు, [వినబడని] కేవలం వంటి స్ట్రింగ్ స్టార్ D, అన్నాడు పాత్ర చుక్క కామా. వారు ఇక్కడ సమానమైన భావిస్తున్నారా? DAVID మలన్: అవి. ప్రశ్న కాబట్టి, మీరు అప్పుడప్పుడు కనిపించే కార్యక్రమాలు లేదు ఈ వంటి స్ట్రింగ్ argv బ్రాకెట్ సే కానీ బదులుగా ఏదో చెప్పటానికి చార్ స్టార్ argv బ్రాకెట్ వంటి. మరియు కూడా ఇతర ఉంది మీరు చూడవచ్చిరి రూపాంతరాలు. వారు నిజానికి సమానంగా ఉంటాయి. ప్రస్తుతం, మేము ఈ కలిగి శిక్షణ చక్రాలు విధమైన CS50 స్ట్రింగ్ రూపం లో లైబ్రరీ, కానీ కేవలం ఒక వారం ఓవర్లో లేదా మనం ఆ తొలగించాలని చూడాలని మొత్తంగా మరియు వాస్తవానికి అడ్డంకితో చార్ మరియు స్టార్ ఏమి చూడండి , మరియు ఆ మెమరీ కలిగియుండు ఎలా ప్రాతినిధ్య మరింత సాధారణంగా. కాబట్టి మేము ఆ వచ్చి చేస్తాము. మా argv లేదా argc ఇతర ప్రశ్నలు? అవును. ప్రేక్షకులు: ఎందుకు అది తిరిగి లేదు లోపం [వినబడని]? DAVID మలన్: చేసియున్నారు ఎందుకు ఓహ్ only-- లోపం తిరిగి! మునుపటి సందర్భంలో, మేము మెమరీ చుట్టూ futzing చేశారు, ఎందుకు అది మాత్రమే ఒక లోపం తిరిగి లేదు నేను నిజంగా ఒక పెద్ద సంఖ్య టైప్ చేసినప్పుడు? చిన్న సమాధానం మేము కేవలం లక్కీ వచ్చింది, ఉంది. సాధారణంగా చెప్పాలంటే, ఒక కంప్యూటర్ రాళ్లను మెమరీ కేటాయించుకునే, మరియు అది నాకు ఒక పెద్ద తగినంత భాగం ఇచ్చిన నేను గమనించి లేకుండా, దూరంగా వచ్చింది హత్తుకునే బ్రాకెట్ 2, బ్రాకెట్ 3, బ్రాకెట్ 50, కానీ వెంటనే నేను ఉపక్రమించారు నా అదృష్టం, నేను దాటి వెళ్ళింది మెమరీ భాగం యొక్క సరిహద్దులను ఆపరేటింగ్ సిస్టమ్ నాకు ఇచ్చారు. ఆ ఉన్నప్పుడు అది డౌన్ బిగించి ఏ తెలిపారు. విభజన లోపం. అవును. ప్రేక్షకులు: చేస్తుంది కంప్యూటర్ argc విలువ తెలుసు? DAVID మలన్: ఎలా కంప్యూటర్ argc విలువ తెలుసు? మీరు ఒక ప్రోగ్రామ్ రన్ చేసినప్పుడు, కార్యక్రమం మెరిసే ప్రాంప్ట్ స్వభావం ద్వారా, శ్రేణి అందచేసే టైప్ చేసిన పదాలను ప్రాంప్ట్ వద్ద, ఆ ప్రాంప్ట్ వద్ద టైప్. కాబట్టి అది మీ ఆపరేటింగ్ ఉంది వ్యవస్థ తప్పనిసరిగా ఆ మీరు ప్రధాన యొక్క వాదనలు populates. కాబట్టి ఆ సేవల ఒకటి మీరు పొందుతారు విధమైన రహస్యంగా హుడ్ కింద ఒక ఆపరేటింగ్ సిస్టమ్. ఇతర ప్రశ్నలు? అవును. ప్రేక్షకులు: కోర్ డంప్ అర్థం ఏమిటి? DAVID మలన్: కోర్ డంప్ అర్థం ఏమిటి? కాబట్టి ఒక మంచి ప్రశ్న. మరియు నాకు తిరిగి వీడలేదు ఇక్కడ ఈ డైరెక్టరీ. మరియు మీరు గమనించవచ్చు నేను అక్కడ ఒక కొత్త ఫైల్ చేశారు. ఇది నిజంగానే కోర్ అని, మరియు అంతే నిజానికి సాధారణంగా ఒక మంచి పరిమాణం ఫైలు. ఆ తప్పనిసరిగా స్నాప్షాట్ నా ప్రోగ్రామ్ మెమరీలో విషయాలను అది కూలిపోవడంతో లేదా RAM. మరియు ఈ ఉపయోగకరంగా ఉంటుంది సమర్థవంతంగా, Diagnostically, మేము భవిష్యత్ ఉపన్యాసంలో మాట్లాడటానికి ఒకసారి మరియు డీబగ్గింగ్ గురించి విభాగం, మీరు దీన్ని చేయవచ్చు ఎందుకంటే ఒక డిజిటల్ శవపరీక్ష సమానమైన ఫైల్లో దొరుకుతుందని సహాయం మీరు మీ కార్యక్రమాన్ని తప్పు ఏమి. అవును. ప్రేక్షకులు: కమాండ్ argc, కూడా, లేదా మీరు ఏదైనా పేరు చేయవచ్చు? DAVID మలన్: మంచి ప్రశ్న. , దానంతటదే ఒక ఆదేశం argc, లేదా మీరు ఏదైనా పేరు చేయవచ్చు? ఇది ఖచ్చితంగా ఒక కమాండ్ కాదు. ఇది కేవలం ఒక వేరియబుల్ వార్తలు లేదా ఒక వాదన పేరు పేరు, అందువలన ఖచ్చితంగా మేము ఈ foo కాల్ కాలేదు, మేము ఉంటాయి ఈ బార్, కాల్ కాలేదు గో టు పదాలు ఒక కంప్యూటర్గా శాస్త్రవేత్త వెళ్తాడు. కానీ సాంప్రదాయకంగా, మేము argc మరియు argv ఉపయోగించవచ్చు. కానీ కేవలం ఒక మానవ వార్తలు కన్వెన్షన్, ఏమీ. అన్ని కుడి. కాబట్టి అవుట్ మారుతుంది, నేను ఉన్నాను ఒక తెల్ల lie-- ఒక బిట్ చెప్పడం మరియు స్పష్టముగా, భవిష్యత్తులో, మీరు చూస్తారు మేము ఇతర తెలుపు అసత్యాలు చెప్పడం చేసిన. కానీ ఇప్పుడు కోసం, మేము చేయబోతున్నామని ఈ ఒకటి తిరిగి రాలిపోవడం. గతంలో నేను ఇక్కడ ఈ సందర్భంలో హలో లేదా హలో-3 వంటి కార్యక్రమం నడిచింది Zamyla, మేము యొక్క కంటెంట్లను ఉన్నారు నా సుమారు మాదిరి కంప్యూటర్ యొక్క మెమరీ ఈ. కానీ ఒక స్ట్రింగ్ గుర్తు. మేము ఏమి ఒక వారం క్రితం సే ఏమి స్ట్రింగ్ నిజానికి హుడ్ కింద? ప్రేక్షకులు: అక్షరాలు అర్రే. DAVID మలన్: ఇది ఒక వార్తలు అక్షరాలు శ్రేణి, కుడి? కాబట్టి మేము తన యొక్క ఒక శ్రేణి కలిగి ఉండవచ్చు తీగలను, కానీ, క్రమంగా, ఒక స్ట్రింగ్ అక్షరాలు యొక్క వ్యూహం ఉంది. నేను నిజంగా ఉండాలనుకుంటున్నాను చేస్తే నేను ఈ చిత్రాన్ని గీయండి అంగ, నేను నిజంగా గీయడం చేయాలి అది కొంచెం ఈ వంటి, అనగా ఈ ప్రతి నా argv శ్రేణి యొక్క సూచికలు, మొత్తం స్ట్రింగ్ కూడా ఉంది తనను వ్యూహం ఉంది. ఇప్పుడు తెలుపు అబద్ధం మేము నేడు చెప్పుకుంటున్నారు చిత్రాన్ని లేదని ఉంటుంది చాలా ఇలా. నిజానికి, చిన్న చతురస్రాలు ఉంటాయి పెద్ద దీర్ఘచతురస్రాల్లో సాధారణంగా బయట అక్కడ. కానీ మేము దీర్ఘ ముందు ఆ వచ్చి చేస్తాము. కానీ ఈ, హలో బాక్ స్లాష్ 0 ప్రత్యేక పాత్ర ఉండటం ఒక స్ట్రింగ్ ముగింపు కొలతను గుర్తించడము, మరియు మేము మరొక తర్వాత ఒకటి పొందారు Zamyla యొక్క పేరు. కాబట్టి దీని అర్థం ఏమిటి? Well, నాకు ముందుకు తెలియజేయండి మరియు రెండు ఇతర ఉదాహరణలు తెరవటానికి అందుబాటులో ఆన్లైన్ ఉంటాయి. వన్ argv1.c అంటారు మరియు ఇతర argv2 ఉంది. ఇది ఒక సూపర్ సాధారణ ప్రోగ్రామ్ అని గత కార్యక్రమాలు భిన్నంగా ఉంది ఆ ఇప్పుడు నేను ఉపయోగించి నేను argc మరియు ఇక్కడ argv. ఇప్పుడు నేను లూప్ ఒక తో సమగ్రపరచడం చేస్తున్నాను argc వరకు న నేను నుండి లైన్ 18, = 0 లో. నేను ఏమి వెళ్తున్నాను ఇక్కడ కోడ్ యొక్క ఈ లైన్ తో? ఆంగ్లంలో. ఇది ఏమాత్రం argc యొక్క ఉపయోగాన్ని ప్రదర్శిస్తున్న. అయితే ఆంగ్లంలో, దేనిని నేను ఈ కార్యక్రమం అమలు చేస్తే దీన్ని? అవును? ప్రేక్షకులు: ఇది ముద్రించడానికి జరగబోతోంది మీ మీకు కావలసిన వంటి అనేక సార్లు పరీక్షించి. DAVID మలన్: ఖచ్చితంగా. కాబట్టి సంసార పదాలు నేను అంతే, ప్రాంప్ట్ వద్ద టైప్ ద్రవాలు వెళ్ళగక్కుతాయి అన్నారు పంక్తికి నాకు వాటిని ఒకటి. కాబట్టి యొక్క ముందుకు వెళ్లి మనం. నాకు నా డైరెక్టరీ లోకి వెళ్ళి తెలపండి మరియు argv1 ./argv1 తయారు చెయ్యాలి. మరియు ఇప్పుడు, అది సాధారణ ఉంచడానికి వీలు. మొదటి వద్ద ఏమీ లెట్. ఇది ఒక విషయం బయటకు ప్రింట్ చేశాడు, మరియు నిజానికి ప్రోగ్రామ్ యొక్క పేరు, ఆ బ్రాకెట్ 0 ఎందుకంటే. నేను ఇప్పుడు foo చెప్పడానికి, దీన్ని జరగబోతోంది ఆ రెండు, మరియు నేను foo బార్ చెప్పుకోవాలంటే, అది ఆ మూడు విషయాలు చెప్పడానికి జరగబోతోంది. ఇప్పుడు ఆ బహుశా, కొంతవరకు ఆసక్తికరమైన వార్తలు. కానీ ఆ argv గుర్తుకు తీగలను యొక్క వ్యూహం ఉంది, కానీ ఒక స్ట్రింగ్ అక్షరాలు యొక్క వ్యూహం, కాబట్టి మేము ఒక గీత అప్ విషయాలు పడుతుంది మరియు ఆ ప్రాథమిక దరఖాస్తు తర్కం మరియు కోడ్ చేసే ఆమోదం కొంచెం గుప్తమైన కనిపిస్తోంది. కానీ ఒక సమూహ కలిగి లూప్, వంటిదని ఏదో మీరు మారియో నుండి గుర్తు ఉండవచ్చు ఏమి, ఉదాహరణకు, మీరు ఈ విధంగా చేసాడు. కాబట్టి ఇప్పుడు నేను ఉన్నాను, లైన్ 19 న గమనించవచ్చు మళ్ళీ నా వాదనలు పైగా iterating, 0 నుండి అప్ న argc కు. ఇప్పుడు లైన్ లో నేను 21-- ఉన్నాను గత వారం నుండి ఒక ట్రిక్ అప్పు నేను ఏమి తనిఖీ చేస్తున్నాను argv బ్రాకెట్ i యొక్క పొడవు. నేను n ఆ సమాధానం నిల్వ చేస్తున్నాను. ఆపై నేను j నుండి సమగ్రపరచడం చేస్తున్నాను J 0 initialized ఉంది, n వరకు. కాబట్టి, లెక్కింపు కోసం సమావేశం. మీరు ఒక కలిగి ఉంటే మీరు, నేను ఉపయోగించిన తర్వాత సమూహ లూప్, మీరు, మళ్ళీ నేను ఉపయోగించలేరు లేకపోతే మీరు సమర్థవంతంగా, clobber చేస్తాము, లోపలి లూప్ వెలుపల విలువ. కాబట్టి నేను కన్వెన్షన్ ద్వారా j ఉపయోగించి వెబ్. మేము K ఉపయోగించవచ్చు. మీరు K కంటే ఎక్కువ ఉంటే, మీరు బహుశా సాధారణంగా, చాలా గూడు చేశారు. కానీ ఇప్పుడు, నా printf గమనించవచ్చు లైన్ కొద్దిగా భిన్నంగా ఉంటుంది. నేను% s ప్రింటింగ్ లేదు, నేను రెడీ % సి ప్రింటింగ్, కోర్సు యొక్క, ఒక చార్ కోసం ఒక ప్లేస్హోల్డర్ ఉంది. ఇప్పుడు ఈ వాక్యనిర్మాణం గమనించవచ్చు. న్యూ. మేము ముందు చూడలేదు. కానీ తార్కికంగా, ఈ కేవలం అర్థం argv లో ith స్ట్రింగ్ పొందండి మరియు ఏ jth పొందుటకు? ప్రేక్షకులు: అక్షర. DAVID మలన్: ఆ స్ట్రింగ్ లో అక్షర. కాబట్టి చదరపు బ్రాకెట్లలో ఉపయోగించి చదరపు బ్రాకెట్లలో తరువాత, ఈ మొదటి డైవింగ్ argv యొక్క తీగలను, తరువాత రెండవ J తో చదరపు బ్రాకెట్లలో అక్షరాలు లోకి డైవింగ్ argv నిర్దిష్ట స్ట్రింగ్. ఆపై, కేవలం మంచి కొలత కోసం, నేను ఇక్కడ ఒక కొత్త లైన్ ప్రింటింగ్ చేస్తున్నాను. కాబట్టి ఇప్పుడు నాకు ముందుకు వెళ్లి తెరిచి తెలియజేయండి కొద్దిగా పెద్ద విండో కాబట్టి మేము చర్య లో ఈ చూడగలరు. నాకు ఆ ఫోల్డర్ లోకి వెళ్ళి తెలపండి. ఇప్పుడు తయారు చెయ్యాలి argv-2-- argv-2 చేయడానికి whoops--, ./argv 2. ఎంటర్. మరియు అది కొద్దిగా హార్డు వార్తలు నిలువుగా చదవడానికి, కానీ ఆ నిజానికి యొక్క పేరు ఒక ఖాళీ పంక్తి తర్వాత కార్యక్రమం. ఇప్పుడు నాకు ముందుకు వెళ్లి మరియు foo తెలియజేసేలా. అదేవిధంగా హార్డ్ చదవడానికి, కానీ అది ఎలా నిజానికి పంక్తికి ఒక పాత్ర ప్రింటింగ్. నేను బార్ ఉంటే, అది ఇప్పుడు ఉంది లైన్ ద్వారా ఆ లైన్ ప్రింటింగ్. ఇక్కడ takeaway చాలా కాదు వావ్, ఈ చక్కగా కొత్త ట్రిక్ చూడండి, ఆ ఇక్కడ మీరు విషయాలు వద్ద పొందవచ్చు వ్యూహం యొక్క నిర్దిష్ట పాత్రల, కానీ మేము ఈ ప్రాథమిక వేస్తున్నాము ఎలా వ్యూహం లోకి వంటి ఇండెక్సింగ్ ఆలోచనలు, ఆపై ఒక లోకి ఇండెక్సింగ్ ఆ శ్రేణి లో ఆ శ్రేణి, మరియు కేవలం అదే ఆలోచనలు వర్తించే కొద్దిగా మరింత ఆధునిక ఉదాహరణలు. కానీ బేసిక్స్ నిజంగా లేదు కూడా గత వారం నుండి, మార్చారు. ఇప్పుడు ఈ, సకాలంలో విధమైన ఉంది ఆ, వారం సున్నా రద్దు మేము ఈ వంటి ఫోన్ బుక్ తో ఆడాడు. ఈ స్పష్టంగా అయినప్పటికీ కాగితం యొక్క భౌతిక ముక్కలు, మీరు రకమైన ఆలోచించవచ్చు వ్యూహం ఫోన్ పుస్తకం. మీరు ఒకవేళ ఖచ్చితంగా, మీరు reimplement ఈ ముక్కలు కాగితం ఈ ముక్కలు ఒక కంప్యూటర్, బహుశా మీరు ఏదో ఉపయోగించడానికి ఉంటుంది వ్యూహం ఆ యొక్క అన్ని నిల్వ వంటి ఒక నుండి అన్ని మార్గం పేర్లు మరియు సంఖ్యలు Z. ద్వారా కాబట్టి ఈ ఎందుకంటే, nice ఉంది ఇది కేవలం మాకు ఒక అవకాశం, ఎలా మీరు వాటిని బహుశా, పరిగణలోకి నిజానికి ఆ వంటి ఏదో అమలు. ఇక్కడ తలుపులు సిరీస్తో. నేను could-- చేస్తే మేము ఒక అవసరం అప్ న వస్తాయి వెచ్చిస్తున్నారు. యొక్క చూసేలా. ఒక తెలియని ముఖం బహుశా, బహుశా తెలియని ముఖం. నారింజ గురించి? ఇక్కడ. ఆరెంజ్ చొక్కా, అప్ న వస్తాయి. ఇప్పుడు మరియు తరలింపు ముందుకు వెళ్ళి తెలపండి సైడ్ మీదుగా ఈ తలుపులు, ఒక క్షణం మార్గాన్ని ఈ తరలించవచ్చు. మీ పేరు ఏమిటి? AJAY: DAVID మలన్: అజయ్. డేవిడ్. మీరు ఎవరిని నీస్. అన్ని కుడి. కాబట్టి మేము ఈ ఆరు వెనుక కలిగి తెరపై డిజిటల్ తలుపులు న లేదా, బదులుగా, ఏడు తలుపులు సంఖ్యల మొత్తం బంచ్ స్క్రీన్. నేను మీరు ఏమీ చెప్పారు చేసిన లో advance-- అంగీకరించింది? AJAY: ముందుగానే ఏమీ లేదు. DAVID మలన్: అన్ని నేను మీరు చేయాలనుకుంటున్నారా ఇప్పుడు నాకు కనుగొనేందుకు ఉంది, మరియు మాకు, నిజంగా, సంఖ్య 50, ఒక సమయంలో ఒక దశ. AJAY: సంఖ్య 50? DAVID మలన్: సంఖ్య 50. మరియు మీరు ఏమి బహిర్గతం చేయవచ్చు ఈ తలుపులు ప్రతి వెనుక కేవలం ఒక వేలితో దానిని తాకిన ద్వారా. అది నాకేనా. [నవ్వు] [చప్పట్లు] చాలా బాగా చేసారు. సరే. మేము ఒక సుందరమైన బహుమతి ఇక్కడ మీరు బహుమతి. సినిమాలు మీ పిక్ మేము గత వారం చర్చించారు. AJAY: ఓహ్, మనిషి. ఓహ్, నేను స్పేస్ బాల్స్ ఎప్పుడూ చూడలేదు. DAVID మలన్: స్పేస్ బాల్స్. అన్ని కుడి. కాబట్టి కేవలం ఒక క్షణం లో ఉంచండి. ఈ చేయడానికి వీలు How-- ఒక నేర్పింపదగిన క్షణం మీరు ఎలా వెళ్ళి వచ్చింది సంఖ్య 50 కనుగొనడంలో కాదు? AJAY: నేను యాదృచ్ఛికంగా ఎంచుకున్నాడు. DAVID మలన్: సో మీరు ఎంచుకున్నారు యాదృచ్ఛికంగా మరియు అదృష్ట వచ్చింది. AJAY: అవును. DAVID మలన్: సరే. అద్భుతమైన. కాబట్టి ఇప్పుడు, మీరు కాదు కలిగి అదృష్ట, ఏమి else సంపాదించిన ఈ తలుపులు వెనుక జరిగి ఉండవచ్చు? నేను ముందుకు వెళ్ళడానికి చేస్తే మరియు ఇక్కడ ఈ సంఖ్యలు బహిర్గతం, వారు నిజానికి యాదృచ్ఛిక క్రమంలో ఉంటాయి. మరియు ఉత్తమ మీరు కలిగి ఉంటుంది పూర్తి స్పష్టముగా, చివరికి, ద్వారా ఉంది చెత్త సందర్భంలో, వాటిని అన్ని తనిఖీ. కాబట్టి మీరు, సూపర్ అదృష్ట వచ్చింది మేము ఒక అల్గోరిథం కాల్ భావిస్తున్న ఏ కాదు. అవును, అభినందనలు. మీరు అనుకొనుట అయితే ఇప్పుడు, నన్ను హాస్యం let's--. యొక్క ఇక్కడ ఈ టాబ్కు వెళ్ళండి లెట్. మరియు ఇక్కడ స్పష్టంగా సంఖ్యలు ఒక యాదృచ్ఛిక క్రమంలో ఉండాలి ఉంది ఏమి, మరియు వారు. కానీ ఇప్పుడు నేను బదులుగా దావా ఉంటే ఈ తలుపులు వెనుక క్రమబద్ధీకరించబడతాయి సంఖ్యలు. గోల్ ఇప్పుడు కూడా ఉంది మాకు సంఖ్య 50 చూడండి. కానీ algorithmically, దీన్ని, మరియు మీరు దాని గురించి చూడాలని ఎలా మాకు చెప్పండి. మీరు కనుగొనడానికి ఉంటే, మీరు చిత్రం ఉంచండి. మీరు, మీరు తిరిగి ఇవ్వాలని కనుగొనేందుకు లేదు. AJAY: సో నేను చివరలను తనిఖీ వెళుతున్న మొదటి, there's-- ఉంటే గుర్తించడానికి [నవ్వు మరియు చప్పట్లు] DAVID మలన్: ఇక్కడ మీరు వెళ్ళండి. యొక్క ఒక పరిశీలించి లెట్ అజయ్ పూర్వీకుల, చాలా అదృష్టవంతుడు లేని సీన్. సరే, ఇక్కడ మీ పని కాబట్టి, సీన్, క్రింది ఉంది. నేను ఈ వెనుక దాగి ఉన్నాయి తలుపులు సంఖ్య ఏడు, కానీ ఈ తలుపులు కొన్ని దూరంగా ఉంచి అలాగే ఇతర కాని ప్రతికూల సంఖ్యలు. మరియు మీ గోల్ ఈ ఆలోచించడానికి ఉంది కేవలం వ్యూహం సంఖ్యల టాప్ వరుస. మేము ముక్కలు యొక్క ఒక క్రమం ఉన్నారు వారి వెనుక సంఖ్యలో కాగితపు. మరియు మీ గోల్ మాత్రమే టాప్ ఉపయోగించి, ఉంది శ్రేణి ఇక్కడ, నాకు సంఖ్య ఏడు కనుగొనేందుకు. మరియు మేము అప్పుడు విమర్శ ఇస్తున్నాయి మీకు చేయడం గురించి వెళ్ళండి ఎలా. మాకు సంఖ్య ఏడు దయచేసి కనుగొను. నం 5, 19, 13. ఇది ఒక ట్రిక్ ప్రశ్న కాదు. 1. ఈ సమయంలో మీ స్కోర్ చాలా కాదు మంచి, కాబట్టి మీరు కొనసాగించడాన్ని ఉండవచ్చు. 3. వెళ్ళండి. స్పష్టముగా, నేను సహాయం కాని వండర్ కాదు మీరు కూడా గురించి అనుకున్నది. సీన్: నేను మాత్రమే పై వరుస పట్టవచ్చు. DAVID మలన్: కేవలం పై వరుస. కాబట్టి మీరు మూడు ఎడమ పొందారు. నాలో 7 కనుగొనండి. [ప్రేక్షకులు సలహాలు అరుస్తాడు] కాబట్టి ఆ రెండు అద్భుతమైన ఉన్నాయి వేర్వేరు కారణాలతో. కాబట్టి ఈ పేరు అంటే మనం ఒక క్షణం క్రితం వదిలి, మరియు ఇక్కడ కీ అంతర్దృష్టి ఈ తలుపులు సంఖ్యలు వచ్చింది వారి వెనుక ఆ ఆదర్శ, క్రమపరిచిన ఇది కోసం తాత్కాలిక మీరు చేయగల ఉంది మౌలికంగా మంచి ఈ రెండవ ఉదాహరణకు మరియు, నిజానికి, ఆ సీన్ యొక్క ఉంది యాదృచ్ఛిక సంఖ్యలు మొదటి ప్రయత్నం కేవలం ముందు కానీ వెంటనే ఈ సంఖ్యలు క్రమబద్ధీకరించబడతాయి వంటి, ఫోన్ బుక్ మాదిరిగా, మీరు ఖచ్చితంగా ఏమి చేయవచ్చు? లేదా మీరు ఎలా విజ్ఞానం పరపతి చేయవచ్చు? అవును. ప్రేక్షకులు: మీరు [వినబడని] సగం వెళ్ళండి. DAVID మలన్: అవును. సరిగ్గా. కాబట్టి అజయ్ యొక్క ప్రారంభ బానే ఉంది నేను గుర్తుకు వంటి, చివరలు తనిఖీ, ఆపై మేము విధమైన పూర్తయిన త్వరగా ఉదాహరణ. మేము ప్రారంభించారు అయితే ఈ మరింత చెయ్యడానికి methodically ఆ తరహాలో, కానీ బహుశా మొదలు మధ్యలో వారు క్రమబద్ధీకరించబడతాయి ఎందుకంటే, త్వరలో బహిర్గతం గా సంఖ్య 16, అందువలన మేము తెలియజేయండి మరియు లెట్స్ మేము ఆ ఖచ్చితంగా తెలియజేసేలా అందువలన తెలుసు 50 అని, నేటి సందర్భంలో, కుడి ఉండాలి వచ్చింది. కాబట్టి కేవలం వారం సున్నా ఉన్నప్పుడు మేము సగం లో ఫోన్ బుక్ చించి మరియు సగం విసిరారు దూరంగా సమస్య, ఇక్కడ అదే ఆలోచన. మేము ఈ సగం త్రో చేయవచ్చు సమస్య దూరంగా. మరియు బహుశా మీరు ఏమి algorithmically, ఏమి ఉండవచ్చు, మీరు 50 ఉండాలి తెలుసు ఒకసారి కుడి, అది ఎక్కడైనా ఉంటే, మధ్య లో, ఉన్నాయి ప్రయత్నించండి మిగిలిన తలుపులు. అయితే, 50 ఎక్కువగా ఉంటుంది 42 కంటే, తద్వారా మేము ఈ మిగిలిన త్రో దూరంగా సమస్య త్రైమాసికంలో, మరియు, చివరకు, గుర్తించడానికి 50 వంటి ఏదో. కానీ కేవలం వంటి ఫోన్ బుక్, ఈ సంఖ్యలు ఇప్పటికే మాకు ఇవ్వబడింది క్రమబద్ధీకరించబడతాయి క్రమంలో, మాకు వదిలి ఇది ప్రశ్న తో, మీరు ఎలా క్రమబద్ధీకరించబడతాయి క్రమంలో తెచ్చుకున్నా? మరియు, స్పష్టముగా, ఖర్చు? ఇది ఒక విషయం వార్తలు ఫోన్ పుస్తకంలో అప్పగించారు ఆపై కనిపెట్టడం ద్వారా మీ స్నేహితులు ఆకట్టుకోవడానికి కుడి నిజంగా త్వరగా ఒక ఫోన్ నంబర్,? ఒక కనుగొనేందుకు 32 పేజీలు చేస్తూ 4 బిలియన్ పేజీలు వ్యక్తి, మేము ఒక తీవ్రమైన ఉదాహరణ చెప్పాడు. కానీ ఇది ఎంత సమయం పడుతుంది లేదు వెరిజోన్ ఆ ఫోన్ బుక్ క్రమం? అది మాకు పడుతుంది లేదు ఎంత సమయం ఈ ఏడు సంఖ్యలు క్రమం? అంటే మనం చేసిన ఆ ప్రశ్న ఇప్పటివరకు పూర్తిగా నిర్లక్ష్యం. కాబట్టి యొక్క ఇప్పుడు ఈ ప్రశ్నకు సమాధానం తెలియజేయండి. మరియు మేము ఇప్పుడు అన్ని సినిమాలు బయటకు ఉన్నాము, కానీ మేము కొన్ని ఒత్తిడి బంతుల్లో ఉన్నాయి. ఎనిమిది వాలంటీర్లు చెప్పటానికి, ఇక్కడ మాకు చేరిన పట్టించుకోవడం లేదు? ఎలా, యొక్క ముందుకు వెళ్లి చేయండి మీరు నాలుగు, ఇక్కడ మీరు మూడు? కొన్ని కొత్త ముఖాలు పొందండి. మరియు అక్కడ మీరు నాలుగు? మరియు యొక్క కాదు బయాస్ తెలియజేయండి ఇప్పుడు ఇక్కడ మరియు ఇక్కడ చివరి పైగా సంఖ్య ఎనిమిది. అప్ న వస్తాయి. అన్ని కుడి. కాబట్టి మేము ఇక్కడ కలిగి ఏమి మీరు ప్రతి ఒక సంఖ్య. మీరు వెళ్ళి చెయ్యాలనుకుంటే ముందుకు, ఈ సంఖ్య పడుతుంది. మీ పేరు ఏమిటి? ఆర్టీ: ఆర్టీ. DAVID మలన్: ఆర్టీ, సరే. మీరు సంఖ్య 1 ఉన్నాము. Amin: అమిన్. DAVID మలన్: అమిన్. డేవిడ్. మీరు సంఖ్య 2 ఉన్నాము. నేను చేతి మరియు, ముందుకు వెళ్ళి మీరు పేపర్ షీట్లు, సంగీతం ముందు నిన్ను నీవు వరుసలో అక్కడికి అదే క్రమంలో నిలుస్తుంది. ఆండీ: హాయ్, అండీ. DAVID మలన్: ఆండీ, మీరు చూడటానికి nice వార్తలు. సంఖ్య 3. JACOB: జాకబ్. DAVID మలన్: జాకబ్, సంఖ్య 4. పైకి స్వాగతం. గ్రాంట్: గ్రాంట్. DAVID మలన్: గ్రాంట్. సంఖ్య 5. Alanna: అలాన్న. DAVID మలన్: అలాన్న, సంఖ్య 6. FRANCES: ఫ్రాన్సిస్. DAVID మలన్: ఫ్రాన్సిస్, సంఖ్య 7. మరియు? RACHEL: రాచెల్. DAVID మలన్: రాచెల్, సంఖ్య 8. అన్ని కుడి. కొనసాగి, ఈ క్రమంలో మీరే పొందండి. నాకు మిగిలిన ఒకటి చాలు లెట్ సంగీతం స్థానంలో నిలబడటానికి. ఎక్కడ మీరు ఒక స్టాండ్ చేయాలి? సరే. కొనసాగి, మీ సంఖ్యలు చాలు ఇక్కడ ప్రేక్షకుల వాటిని చూడగలరు, సంగీతం బాహ్య ఎదుర్కొంటున్న నిలబడటానికి. మరియు ఆశాజనక, మా మొదటి తెలివి చెక్ ఇక్కడ 4, 2, 6. ఓహ్ ఓహ్. ఒక నిమిషం ఆగండి. మేము ఒక 8 లేదు. నేను నుండి మీరు స్వాధీనం అవసరం ఏదో ఉదాహరణ. నం లేదు, ఆ సరే. యొక్క చూసేలా. మేము దీన్ని చెయ్యవచ్చు. నిలిపాడు. అక్కడ మేము వెళ్ళి. సరిదిద్దండి. అన్ని కుడి. కాబట్టి, ఇప్పుడు మేము 8, 1, 3 7, 5 చేశారు. సరే. అద్భుతమైన. కాబట్టి చేతిలో ప్రశ్న వద్ద ఉంది ఏ ఖర్చు, మరియు ఏ పద్ధతి ద్వారా, మేము నిజంగా ఇక్కడ ఈ సంఖ్యలు క్రమం చేయవచ్చు మేము రకమైన వెనుకకు పని చేయవచ్చు కాబట్టి, చివరికి, మరియు decide-- అది నిజంగా ఉంది ఆకట్టుకునే, అది నిజంగా సమర్థవంతంగా, నేను తిరగడానికి ఆ మరియు ఒక ఫోన్ బుక్ జయించటానికి? ఆ నిజంగా సమర్థవంతంగా నేను విభజించి జయించటానికి ఆ డిజిటల్ ముక్కలు బోర్డు మీద కాగితం, ఇది మాకు ఒక ఖర్చు జరగబోతోంది బహుశా ఉంటే సమయం లేదా శక్తి లేదా CPU సైకిళ్లకు లో అదృష్టాన్ని నిజానికి మా డేటా పొందడానికి కొన్ని క్రమబద్ధీకరించబడతాయి క్రమంలో? కాబట్టి యొక్క ఆ ప్రశ్న అడగండి తెలపండి. కాబట్టి మొదటి ఆఫ్, ఈ సంఖ్యలు చాలా చక్కని యాదృచ్ఛిక క్రమంలో, మరియు నేను ప్రపోజ్ వెళుతున్న ఒక అల్గోరిథం లేదా ప్రక్రియ మనం ఈ చేసారో క్రమం చేయవచ్చు. నేను చేరుకోవటానికి వెళుతున్న ఈ అందంగా naively. మరియు నేను గుర్తించలేదు వెళుతున్న అది నాకు చాలా రకంగా ఆ చుట్టూ నా మనస్సు మూసివేయాలని మొత్తం డేటా ఒకేసారి సెట్. కానీ మీరు ఏమి? నేను కొన్ని తయారు వెళుతున్న చాలా సాధారణ సన్నకారు దిద్దుబాట్లు. 4 మరియు 2 ఉంటే, క్రమంలో ఉన్నాయి లక్ష్యం 8 వరకు న 1 నుండి వెళ్ళడానికి ఉంది. కాబట్టి మీరు ఏమి? నేను మీరు వెళుతున్న మీరు మారితే అబ్బాయిలు, స్వాప్ భౌతికంగా స్థానాలు మరియు కాగితం మీ ముక్కలు. ఇప్పుడు 4 మరియు 6, ఈ క్రమంలో ఉంటాయి. నేను ఆ వదిలి వెళుతున్న. 6 మరియు 8, ఆ క్రమంలో ఉంటాయి. వాటిని వదిలి వెళుతున్నారు. ఆర్డర్ బయటకు 8 AND1. మీరు రెండు ఇచ్చిపుచ్చుకోవడం పట్టించుకోవడం అనుకుంటే. ఇప్పుడు 8 మరియు 3, మీరు అబ్బాయిలు మార్పిడి ఉంటే. 8 మరియు 7, మీరు అబ్బాయిలు మార్పిడి ఉంటే. మరియు 8 మరియు 5, మీరు అబ్బాయిలు మార్పిడి ఉంటే. ఇప్పుడు, నేను చేసిన చేస్తున్నాను? లేదు, ఇంకేం లేదు. కానీ నేను చేసిన మంచి పరిస్థితి, కుడి? మీ పేరు తిరిగి ఏమిటి, సంఖ్య 8? RACHEL: రాచెల్. DAVID మలన్: సో రాచెల్ ఉంది సమర్థవంతంగా అందంగా చాలా అప్ bubbled, చివర అన్ని మార్గం ఇక్కడ సంఖ్యల నా శ్రేణి. కాబట్టి ఆ సమస్య రకమైన పరిష్కరించవచ్చు. ఇప్పుడు, స్పష్టంగా, 2 ఇప్పటికీ అవసరం ఒక బిట్ తరలించడానికి, మరియు 4 మరియు 6 మరియు 1. కానీ నేను ఒక సంపాదించిన కనిపిస్తుంది దగ్గరగా పరిష్కారం కొద్దిగా. కాబట్టి యొక్క ఈ అదే దరఖాస్తు తెలియజేయండి మళ్ళీ అమాయక పరిష్కార. 2 మరియు 4 సరి. 4 మరియు 6, సరే. 6 మరియు 1 mm-mm. యొక్క స్వాప్ లెట్. 6 మరియు 3, MM-mm. యొక్క స్వాప్ లెట్. 6 మరియు 7 సరే. 7 మరియు 5, వద్దు. యొక్క స్వాప్ లెట్. ఇప్పుడు 7 మరియు 8. మరియు మీ పేరు మళ్ళీ ఏమిటి? FRANCES: ఫ్రాన్సిస్. DAVID మలన్: ఫ్రాన్సిస్. కాబట్టి ఇప్పుడు ఫ్రాన్సిస్ కూడా ఒక మంచి ఉంది స్థానం, ఇప్పుడు 7 మరియు 8 ఎందుకంటే సరిగ్గా టాప్ వరకు bubbled ఉంటాయి. కాబట్టి 2 మరియు 4, సరే. 4 మరియు 1, లెట్స్ స్వాప్. 4 మరియు 3, లెట్స్ స్వాప్. 4 మరియు 6, మీరు OK. 6 మరియు 5, లెట్స్ స్వాప్. ఇప్పుడు వాళ్ళని మంచి. మేము దాదాపు అక్కడ ఉన్నారు. 2 మరియు 1, ఆర్డర్ నుంచి, కాబట్టి స్వాప్. ఇప్పుడు నాకు తెలివి చెక్ తెలియజేసేలా. 2 మరియు 3, 3 మరియు 4, 4 మరియు 5, 5 మరియు 6, 6 మరియు 7, 8. OK, కాబట్టి మేము పూర్తి చేసిన. కానీ ఏమి ఖర్చు నేను చేసిన ఇక్కడ ఈ సంఖ్యలు క్రమం? సరే, ఎన్ని దశలు సమర్థవంతంగా నేను చేసిన ఈ వారిని క్రమబద్ధీకరించేందుకు ఉన్నప్పుడు పడుతుంది? Well, మేము తిరిగి ఆ ప్రశ్న వచ్చి చేస్తాము. కానీ, స్పష్టముగా, మీరు వస్తే కొద్దిగా విసుగు, ఆ రకం ఈ కాదని తెలిపే బహుశా అత్యంత సమర్థవంతమైన అల్గోరిథం. నిజానికి, స్పష్టముగా, నేను చెమట పట్టుట చేస్తున్నాను అన్ని మరింత ముందుకు వెనుకకు వాకింగ్. ముఖ్యంగా సమర్థవంతమైన భావించడం లేదు. కాబట్టి యొక్క ఏదో ప్రయత్నించండి తెలియజేయండి. మీరు అబ్బాయిలు రీసెట్ కాలేదు ఉంటే ఈ ఎనిమిది విలువలు నిన్ను నీవు. మంచి ఉద్యోగం. యొక్క కేవలం డిజిటల్ పరిశీలించి లెట్ ఒక క్షణం మేము ఏదో ప్రయత్నించండి ముందు ఏమి జరిగిందో వద్ద. ఇక్కడ, మీరు ఒక చూడబోతున్నారు ఈ ఎనిమిది మానవులు విజువలైజేషన్ అనగా నీలం మరియు ఎరుపు బార్లు సంఖ్యలు సూచిస్తాయి. ఎత్తుగా బార్, సంఖ్య పెద్దది. పొట్టి బార్, సంఖ్య తక్కువగా. మరియు మీరు చూస్తారు చూడాలని ఉంది వాటిలో ఎనిమిది కంటే ఎక్కువ వరుస క్రమంలో. మీరు ఈ బార్లు చూడండి చూడాలని అదే అల్గోరిథం ద్వారా క్రమబద్ధీకరించబడింది పడకుండా, లేదా, సూచనలను సెట్ ఇది మేము బబుల్ సార్ట్ ఇకమీదట పిలుస్తాను. కాబట్టి, రెండవ లేదా ప్రతి గమనిస్తారు రెండు బార్లు, ఎరుపు లో వెలిగించడం కంప్యూటర్ పోలిస్తే చేస్తున్నారు. ఆపై ఉంటే పెద్ద బార్ మరియు చిన్న బార్, క్రమంలో ఉన్నాయి వారు నాకు మార్చుకున్నారు చేస్తున్నారు. ఇప్పుడు ఈ చాలా కష్టంతో కూడుకున్నది ఖచ్చితంగా, ఈ చూడటానికి, చాలా కాలం, కానీ గమనించవచ్చు , కుడి కదిలే పెద్ద బార్లు takeaway-- ఎడమ వెళ్లడం చిన్న బార్లు. ఈ పరిక్రమాన్ని విరమింప లెట్ మరియు ఈ వేగవంతం చాలా వేగంగా ఉంటుంది, కాబట్టి మేము చెయ్యవచ్చు ఏమి ఒక అధిక స్థాయి వేసేందుకై, నిజానికి, బబుల్ సార్ట్ చేస్తోంది. నిజానికి, అది ప్రసారమయ్యే లో జాబితా యొక్క కుడి చేతి వైపు, లేదా శ్రేణి, పెద్ద బార్లు. మరియు ప్రత్యుత్తరంగా, చిన్న బార్లు ఉన్నాయి ఎడమ డౌన్ వారి మార్గం ప్రసారమయ్యే, వేగంగా స్థలంలోనే మేము కంటే గతంలో చేశాడు. కాబట్టి కష్టం మనుషులు చూడటానికి, కానీ ఆ దృష్టి నిజానికి ఏమిటి జరగలేదు. కానీ మౌలికంగా ప్రయత్నించండి తెలియజేయండి ఇప్పుడు వివిధ విధానం. యొక్క వేరొక ప్రయత్నించండి లెట్ అల్గోరిథం మేము మీరు కలిగి వస్తే అబ్బాయిలు ఈ అసలు లో మొదలు ఈ క్రమంలో ఇక్కడ ఇది స్థానాలు. మరియు ఇప్పుడు ముందుకు తెలియజేయండి. మరియు నేను ఏదో చేయ బోతున్నాను మరింత సులభమైన, కుడి? గతాన్ని, మళ్ళీ జత ఇచ్చిపుచ్చుకోవడం మళ్ళీ, దాదాపు ఒక చిన్న తెలివైన. , యొక్క మరింత naively పనులు నేను ఎక్కడ ఈ చేసారో క్రమం అనుకుంటే, నాకు కేవలం చూస్తున్న ఉంచడానికి వీలు చిన్న మూలకం కోసం. సో ప్రస్తుతం 4, నేను చూసిన చిన్న సంఖ్య. నేను గుర్తుంచుకోవాలి వెళుతున్న. లేదు, 2 ఉత్తమం, మరియు గుర్తుంచుకోవాలి. 1 కూడా తక్కువగా ఉంది. 3, 7, 5. సరే. One-- మీ పేరు తిరిగి ఏమిటి? ఆర్టీ: ఆర్టీ. DAVID మలన్: ఆర్టీ. కాబట్టి, ఆర్టీ, ముందుకు వెళ్ళి. నేను లైన్ మీరు తీసి వెళుతున్న. మీరు ఇక్కడ తిరిగి వస్తానని ఉంటే. మరియు నేను అతనిని కల్పించడం అవసరం. మేము ఇక్కడ ఒక నిర్ణయం బిందువు కలిగి ఉంటుంది. మేము ఇక్కడ ఆర్టీ కల్పించడం ఉండవచ్చు ఎలా సంఖ్య 1 చెందిన పేరు ప్రారంభంలో? ప్రేక్షకులు: Shift. DAVID మలన్: సరే, మేము ప్రతి ఒక్కరూ మారవచ్చు కాలేదు. కానీ ఒక ఆప్టిమైజేషన్ ప్రతిపాదిస్తున్నాయి. ఒక చిన్న బాధించే అనిపిస్తుంది నాకు నాలుగు ప్రజలు గోవా అన్ని మార్గం డౌన్ తరలించడానికి. నేను ఏమి చేయగలను? ప్రేక్షకులు: వాటిని మార్చండి. DAVID మలన్: వాటిని మార్చండి. మరియు మీ పేరు మళ్ళీ ఏమిటి? JACOB: జాకబ్. DAVID మలన్: జాకబ్, తరలించడానికి. మరింత సమర్థవంతంగా కేవలం కలిగి ఆర్టీ తో జాకబ్ స్వాప్ స్థానాలు, బలవంతంగా వ్యతిరేకంగా ఈ వారిని అన్ని నాలుగు, , చాలా చాలా ధన్యవాదాలు వారి సరైన స్థానం. ఇప్పుడు ఏం ఆర్టీ గురించి nice వార్తలు, అతను తన సరైన స్థానంలో ఉంది. మళ్ళీ మనం. 2, నేను చూసిన చిన్న సంఖ్య కాదు. 3, 7, 5. సరే. 2 ఖచ్చితంగా చిన్నది. ఏ పనిని లేదు. మళ్ళీ దాన్ని లెట్. 6. చిన్నది? 8. వద్దు. 4? Ooh. నాకు 4 గుర్తు లెట్. 3. నాకు 3 గుర్తు లెట్. 7, 5. నేను చేసిన చిన్నది సంఖ్య ఈ పయనంలో చూసిన 3. మీరు కమ్ ఆన్ ఇష్టం ఉంటే. ఎక్కడ మేము మీరు ఉంచాలి వెళ్తున్నారు? మరియు మీ పేరు ఏమిటి? Alanna: అలాన్న. DAVID మలన్: అలాన్న మేము ఉన్నాము మీరు స్వాధీనం చేసుకొ కలిగి జరగబోతోంది. కానీ, మరింత సమర్థవంతమైన ఉంది కేవలం రెండు ప్రజలు మారడానికి, బహుళ ప్రజలు కలిగి కంటే నిజంగానే sidestep. ఇప్పుడు మళ్ళీ తెలియజేసేలా. నేను 4 ఎంచుకోండి, కాబట్టి బయటకు వచ్చి వెళుతున్న. ఎవరు తరలించడానికి జరగబోతోంది? సంఖ్య 8, కోర్సు యొక్క. నేను ఇప్పుడు సంఖ్య 5 కనుగొంటే, బయటకు న వస్తాయి. సంఖ్య 8 మళ్ళీ నిష్క్రమణకు పరుచుట. నేను ఇప్పుడు స్థానంలో ఉన్న సంఖ్య 6 కనుగొనేందుకు వెళుతున్న. స్థానంలో 7. స్థానంలో 8. మనం ఇప్పుడు చేసింది ఉంది ఎంపిక విధమైన అని ఏదో, మేము ఈ ఊహించడానికి చేస్తే అది వార్తలు కొద్దిగా భిన్నంగా అనుభూతి అన్నారు. యొక్క ముందుకు మరియు ఈ నుండి వెళ్ళి తెలపండి మెను ఇక్కడ, ఈ visualization-- యొక్క, ఫైర్ఫాక్స్ న వస్తాయి ఆలోచన ఈ మార్చడానికి వీలు. యొక్క ఎంపిక విధమైన ఈ మార్చడానికి లెట్. మరియు యొక్క ముందు గా వేగవంతం తెలియజేయండి మరియు ఇప్పుడు విజువలైజేషన్ ప్రారంభం. మరియు ఈ అల్గోరిథం ఉన్నాయి దానికి వేరే భావాన్ని. ప్రతి మళ్ళా న, స్పష్టముగా, ఇది మరింత సూటిగా ఉంది. నేను చిన్న మూలకం ఎంచుకోవడం చేస్తున్నాను. ఇప్పుడు, స్పష్టముగా, నేను ఒక చిన్న లక్కీ వచ్చింది సమయం, ఆ లో సూపర్ ఫాస్ట్ క్రమబద్ధీకరించబడింది. అంశాలు యాదృచ్ఛిక. ఇది మేము చివరికి చూస్తారు, కాదు ప్రాథమికంగా వేగంగా, చూడండి. కానీ యొక్క మూడవ మరియు ఆఖరి చూద్దాం జరగబోతోంది ఏమి ఇక్కడ సంప్రదించే. కాబట్టి యొక్క ముందుకు తెలియజేయండి మరియు మీరు అబ్బాయిలు రీసెట్ ఒక ఆఖరి సమయం ఇక్కడ ఈ క్రమంలో ఉండాలని. మరియు ఇప్పుడు, నేను వెళుతున్న , కొంచెం తెలివైన కేవలం మా అల్గోరిథంలు బయటకు పొడవునా. నేను దీన్ని వెళుతున్న. నేను తీసుకోను వెళుతున్న ముందుకు వెనుకకు చాలా. స్పష్టముగా, నేను విసిగి ఉన్నాను ఈ నదీ ప్రవాహానికి అడ్డంగా ప్రయాణం. నేను నేను ఏమి తీసుకుని వెళుతున్న జాబితా ప్రారంభంలో ఇచ్చిన, మరియు నేను క్రమం వెళుతున్న తరువాత, మరియు అక్కడ. కాబట్టి ఇక్కడ మేము ఉన్నాయి. సంఖ్య 4. నేను సంఖ్య ఇన్సర్ట్ చెయ్యడానికి వెళుతున్న ఒక క్రమబద్ధీకరించబడతాయి జాబితాలో 4. పూర్తయింది. నేను ఇప్పుడు ఆ దావా, మరియు కేవలం ఈ ఎక్కువ చేయడానికి స్పష్టమైన, నా జాబితా ఈ భాగం క్రమబద్ధీకరించబడింది. ఇది ఒక పెద్ద దావా రకం, కానీ నిజానికి 4 పరిమాణం ఒక జాబితా క్రమబద్ధీకరించబడింది. ఇప్పుడు, నేను సంఖ్య 2 న తీసుకుని వెళుతున్న. సంఖ్య 2 నేను ఇప్పుడు వెళుతున్న కుడి స్థానంలో ఇన్సర్ట్. కాబట్టి అక్కడ 2 చెందినవా? సహజంగానే, ఇక్కడ పైగా. అందుకే మీరు అనుకొనుట ఉంటే, వెనుకకు తరలించడానికి. ఎందుకు కాదు మీరు అబ్బాయిలు కేవలం పడుతుంది లేదు మీ సంగీతం మీరు ఈ సమయం నిలుస్తుంది. మరియు బలవంతంగా లెట్స్ మీరు ఇన్సర్ట్ జాబితా ప్రారంభంలో లోకి. కాబట్టి కొద్దిగా ఎక్కువ పని. నేను చుట్టూ జాకబ్ తరలించడానికి వచ్చింది మరియు మీ పేరు ఏమిటి? Amin: అమిన్. DAVID మలన్: అమిన్. కానీ కనీసం నేను ముందుకు వెనుకకు వెళ్ళలేదు. నేను వెళ్ళి నేను కేవలం విషయాలు తీసుకొని చేస్తున్నాను. నేను వాటిని ఇన్సర్ట్ చేస్తున్నాను కుడి స్థానంలో. 6, ఈ వాస్తవానికి చాలా సులభం. మీరు లేదో యొక్క, అక్కడ మీరు ఇన్సర్ట్ లెట్ కేవలం కొద్దిగా పైగా తరలించడానికి కోరుకున్నారు. సంఖ్య 8, కూడా అందంగా సులభం. అక్కడే పైగా. అది నాకేనా. సంఖ్య 1 మేము కాదు కేవలం ఇక్కడ అమిన్ తో మార్పిడి, ఆ ఎందుకంటే జరగబోతోంది విసిగిపోకండి ఆదేశించాలని. కాబట్టి మేము ఒక చిన్న మరింత తెలివైన ఉండాలి. కాబట్టి, ఆర్టీ, మీరు అనుకొనుట ఒక క్షణం బ్యాకప్. , యొక్క ముందుకు వెళ్లి ఇప్పుడు వెళదాం మా మునుపటి అల్గోరిథంలు కాకుండా, ఆర్టీ కల్పించడం ఇక్కడే ప్రారంభంలో. రోజు చివరిలో కాబట్టి, నేను రకమైన ఉన్నాను నేను ముందు ఇష్టంలేదు ఏమి చేయడం. కాబట్టి నా అల్గోరిథం విధమైన ఉంది యొక్క, మేధస్సును, ఎత్తివేశారు ఇది మొదట గురించి నుండి. నేను కేవలం బదిలీ చేస్తున్నదాన్ని వేరే పాయింట్ వద్ద. ఇప్పుడు నేను 3 వద్ద ఉన్నాను. డామ్, ఓహ్. మేము మళ్ళీ మరింత పని చేయాలి. కాబట్టి మీరు అవ్ట్ పుష్ తెలియజేయండి. లెట్స్ మూవ్ 8, 6, 4-- oh-- ఓహ్ మరియు 3 అక్కడే వెళ్ళడానికి వెళ్తున్నారు. ఈ సమయంలో కనీసం కొంచెం పొదుపు సో. 7, చాలా లేదు పని జరుగుతుంది. మీరు పాప్ అనుకుంటే కాబట్టి తిరిగి, మీరు ఇన్సర్ట్ తెలియజేయండి. చివరికి, 5, మీరు ఉంటే పాప్ కావాలి, మేము మీరు మారిపోయే మీరు అవసరం, ఐదు వరకు మీరు స్థానంలో ఉంది. కాబట్టి ఇప్పుడు ఒక ఈ చూడటానికి ఇంతకంటే అధిక స్థాయి, ఈ అల్గోరిథం తెలియజేసేలా విజువలైజేషన్ ఒక అదనపు సమయం. కాబట్టి ఈ మేము చొప్పించడం విధమైన పిలవాలి. మేము కేవలం అమలు చేస్తాము ఫాస్ట్, మరియు ఇక్కడ మొదలు. మరియు అది, చాలా, వేరే భావాన్ని కలిగి ఉన్నాయి. ఇది విధమైన మంచి సంతరించుకోనుంది మరియు మంచి, కానీ అది ఖచ్చితమైన ఎప్పుడూ వార్తలు నేను ఆ ఖాళీని మరియు మృదువైన వెళ్ళి వరకు. ఎందుకంటే, మళ్లీ, నేను మాత్రమే తీసుకోవడం చేస్తున్నాను ఏమి నేను ఎడమ నుండి కుడికి ఇవ్వడం చేస్తున్నాను. కాబట్టి నేను నా అదృష్టంగా రాలేదు ప్రతిదీ పక్కాగా. మేము ఈ చిన్న వచ్చింది ఎందుకు ఆ వార్తలు మనం కాలక్రమంలో పరిష్కరించబడింది mispositions. కాబట్టి ఈ అల్గోరిథంలు యొక్క అన్ని అనిపించడం కొద్దిగా వివిధ పేసెస్ అమలు. నిజానికి, ఇది మీరు చెబుతా ఉత్తమ లేదా ఇప్పటివరకు వేగంగా? బబుల్ సార్ట్ మొదటి? ఎన్నిక విధమైన, రెండవ? చేర్పు విధమైన, మూడవ? నేను కొన్ని ఎంపిక రకాల వినడానికి. ఇతర ఆలోచనలు? కాబట్టి ఆ అవుతుంది ఈ అల్గోరిథంలు యొక్క అన్ని సైద్ధాంతికంగా కేవలం సమర్థవంతమైన కేవలం, దానికి ప్రతి other-- లేదా ప్రతి ఇతర అంత సమర్ధవంతమైనది, మేము ప్రాథమికంగా చేయవచ్చు ఎందుకంటే మూడు కంటే మెరుగైన ఈ అల్గోరిథంలు యొక్క. మరియు ఒక తెల్లని అబద్ధం ఒక బిట్ చాలా, వార్తలు. నేను సమర్థవంతంగా చెప్పినప్పుడు లేదా అసమర్థంగా వంటి, కనీసం వచ్చినదిగా n యొక్క సూపర్ పెద్ద విలువలు. మేము ఇక్కడ కేవలం ఎనిమిది మంది చేసినప్పుడు, లేదా ఉండవచ్చు తెరపై 50 లేదా బార్లు, మీరు ఖచ్చితంగా తేడాలు గమనించవచ్చు ఈ మూడు యాంత్రిక పద్ధతుల్లో. అయితే n, ప్రజల సంఖ్య, లేదా సంఖ్యల సంఖ్య, లేదా ఫోన్ ప్రజల సంఖ్య పుస్తకం, లేదా వెబ్ పేజీల సంఖ్య గూగుల్ యొక్క డేటాబేస్లో పెద్ద, పెద్ద గెట్స్ మేము చూస్తారు వీరిలో మూడు అల్గోరిథంలు నిజానికి చాలా పేలవంగా ఉన్నాయి. మరియు మేము ప్రాథమికంగా చేయవచ్చు కంటే మెరుగైన. , చివరకు, పరిశీలించి లెట్ ఏమి ఈ క్రమసూత్ర ఉండవచ్చు లో పోలికే కొన్ని ఇతరుల సందర్భంలో అలాగే ఈ మార్గం ద్వారా ఇక్కడ విజువలైజేషన్ ఆ మాకు పరిచయం అల్గోరిథంలు యొక్క ఒక సంఖ్య. యొక్క ముందుకు వెళ్లి అభినందించేందుకు లెట్ వీరందరూ ఇక్కడ మా పాల్గొనే, చాలా బాగా తాము క్రమబద్ధీకరించబడతాయి. మీరు ఒక విడిపోవడానికి బహుమతిగా తీసుకోవాలని అవ్వాలనుకుంటే. మీరు అలాగే మీ సంఖ్యలు ఉంచుకోవచ్చు. మరియు మీరు చూస్తారు ఏమి, లేదా బదులుగా, ఇప్పుడు, వినడానికి మనం శబ్దాలు చాలు వంటి ఈ బార్లు యొక్క ప్రతి మరియు సాఫ్ట్వేర్ తో అనుబంధం ధ్వని వివిధ ఫ్రీక్వెన్సీ, మీరు మీ మనస్సు మరింత audioly వ్రాప్ చేయవచ్చు ఈ విషయాలు ఏమి ప్రతి చుట్టూ లాగా. వీటిలో మొదటి ప్రవేశాన్ని విధమైన ఉంది [టోన్లు] ఈ బబుల్ సార్ట్ ఉంది. [టోన్లు] ఎన్నిక విధమైన. [టోన్లు] విలీనంతో విధమైన అని ఏదో. [టోన్లు] గ్నోమ్ విధమైన. [టోన్లు] ఆ CS50 కోసం అంతే. మేము బుధవారం మీరు చూస్తారు. కథకుడు: ఇప్పుడు, "డీప్ Daven Farnham ఆలోచనలు, ". ఎందుకు అది ఒక లూప్ ఉంది? ఎందుకు కాదు మెరుగ్గా? నేను ఒక ఐదు లూప్ తయారు ఇష్టం. [నవ్వు]