>> [సంగీతాన్ని]
>> ప్రొఫెసర్: అన్ని కుడి.
ఈ CS50 మరియు ఈ ఉంది వారం మూడు ముగింపు.
కాబట్టి మేము ఇక్కడ నేడు ఆర్, కాదు సాండర్స్ బదులుగా Weidner లైబ్రరీ థియేటర్.
లోపల ఇది ఒక స్టూడియో ఉంది హాసేర్ స్టూడియోగా పిలువబడుతుంది,
లేదా మేము స్టూడియో H చెప్పటానికి, లేదా యాజకుడు మీరు ఆ జోక్ ఆనందించారు ఉంటే మేము చెప్పడానికి,
దాని నుండి నిజానికి క్లాస్మేట్, మార్క్, ఆన్లైన్,
ఎవరు ట్విట్టర్ ద్వారా చాలా సూచించబడింది.
ఇప్పుడు గురించి చల్లని ఏమిటి ఒక స్టూడియోలో ఇక్కడ ఉండటం
నేను ఈ ఆకుపచ్చ చుట్టూ చేస్తున్నాను అని గోడలు, ఒక ఆకుపచ్చ తెర లేదా chromakey,
కాబట్టి CS50 యొక్క అంటే, మాట్లాడటం నాకు తెలియకుండా ఉత్పత్తి జట్టు
ప్రస్తుతం, ఉంచడం సాధ్యం నాకు బాగా ఎక్కడైనా ప్రపంచంలో,
మంచి కోసం లేదా తప్పుడు.
>> ఇప్పుడు ఏమి ముందుకు సమస్య సెట్ ఉంది రెండు, ఈ వారం మీ చేతుల్లో ఉంది
కానీ సమస్య సెట్ మూడు ఈ రాబోయే వారం,
మీరు సవాలు చేస్తామని 15 అని పిలవబడే ఆట,
పాత పార్టీ అనుకూలంగా ఆ మీరు పొందుతున్న గుర్తు ఉండవచ్చు
ఒక మొత్తం బంచ్ కలిగి చిన్నప్పుడు డౌన్, అప్ స్లయిడ్ చేసే సంఖ్యల,
ఎడమ మరియు కుడి, మరియు ఒక అంతరం ఉంది పజిల్, లోపల ఇది లోకి మీరు
నిజానికి ఆ పజిల్ ముక్కలు స్లయిడ్ చేయవచ్చు.
చివరికి మీరు ఈ స్వీకరించేందుకు కొన్ని సెమీ యాదృచ్ఛిక క్రమంలో పజిల్,
మరియు గోల్ ఉంది క్రిందికి పైకి దానికి క్రమం
ఒకటి నుండి ఎడమ 15 ద్వారా అన్ని మార్గం.
>> దురదృష్టవశాత్తు, అమలు మీరు చేతిలో ఉంటుంది
సాఫ్ట్వేర్ అవతరిస్తుంది ఆధారిత ఉంది, కాదు భౌతికంగా.
మీరు నిజంగా వ్రాయడానికి చూడాలని దీనిలో ఒక విద్యార్థి లేదా వాడుకరి తో
15 ఆట ప్లే.
నిజానికి, హ్యాకర్ లో 15 యొక్క గేమ్ యొక్క ఎడిషన్,
మీరు ఒక సవాలు అమలు ఉంటాం ఈ పాత పాఠశాల కేవలం ప్లేయింగ్
ఆట, కానీ పూరణం అది దేవుడు మోడ్ అమలు,
కాబట్టి, మాట్లాడటం నిజానికి ఆ మానవ పజిల్ ఛేదిస్తాడు,
సూచనను వాటిని అందించడం ద్వారా, సూచనను తర్వాత, సూచన తర్వాత.
ఆ తర్వాత వారం సో మరింత.
కానీ ఆ ముందుకు ఉంది ఏమి.
>> ఇప్పుడు కోసం గుర్తుచేసుకున్నారు ఈ వారం మీరు రెడీ ఉంటే మేము, ఈ క్లిఫ్హ్యాంగెర్ కలిగి
అనగా మేము క్రమబద్ధీకరించేందుకు చేస్తున్న ఉత్తమ తెలివైన n యొక్క O పెద్ద ఒక ఉన్నత బౌండ్ ఉంది
స్క్వేర్డ్.
ఇతర మాటలలో, బబుల్ సార్ట్, ఎంపిక విధమైన, చొప్పించడం విధమైన,
వాటిని అన్ని వివిధ ఉండగా వారి అమలు లో,
నడుస్తున్న స్క్వేర్డ్ ఒక n లోకి సంక్రమణ చాలా చెత్త కేసులో సమయం.
మనం సాధారణంగా భావించవలసి క్రమబద్ధీకరించేందుకు చాలా చెత్త సందర్భంలో
ఒక మీ ఇన్పుట్లను ఉంది పూర్తిగా వెనక్కి ఉన్నాయి.
నిజానికి, ఇది చాలా కొన్ని దశలను పట్టింది ఆ అల్గోరిథంలు యొక్క ప్రతి అమలు.
>> ఇప్పుడు తరగతి యొక్క చివరిలో రీకాల్, మేము బబుల్ సార్ట్ పోలిస్తే
ఇతర వ్యతిరేకంగా ఎంపిక విధమైన వ్యతిరేకంగా మేము ఆ సమయంలో విధమైన విలీనం అని
మరియు నేను దానిని తీసుకొని ప్రతిపాదించారు వారం నుండి ఒక పాఠం ప్రయోజనాన్ని
సున్నా, విభజించి జయించటానికి.
మరియు ఏదో రకమైన సాధించే సంవర్గమాన చివరికి సమయం నడుస్తున్న,
బదులుగా ఏదో ఆ పూర్తిగా వర్గ ఉంది.
మరియు అది చాలా సంవర్గమాన కాదు ఆ కంటే ఒక బిట్ మరింత.
కానీ మీరు తరగతి నుండి గుర్తు ఉంటే, ఇది చాలా వేగంగా, చాలా ఉంది.
యొక్క మేము వదిలి పేరు పరిశీలించి లెట్.
>> ఎంపిక వర్సెస్ బబుల్ సార్ట్ విధమైన విలీనంతో విధమైన వర్సెస్.
ఇప్పుడు వారు అన్ని లో, అమలు చేస్తున్నారు సిద్ధాంతం, అదే సమయంలో.
CPU ఒకే వేగంతో నడుస్తుంటే.
కానీ మీరు ఎలా బోరింగ్ ఈ అనిపించవచ్చు చాలా త్వరగా మారింది అన్నారు,
మరియు ఎంత వేగంగా, మేము ఉన్నప్పుడు ఇంజెక్ట్ వారం సున్నా యొక్క అల్గోరిథంలు యొక్క ఒక బిట్,
మేము విషయాలు వేగవంతం చేయవచ్చు.
>> కాబట్టి మార్క్ విధమైన అద్భుతమైన ఉంది.
ఎలా మేము క్రమంలో, ఇది పరపతి చేయవచ్చు మరింత త్వరగా సంఖ్యలు క్రమం.
Well యొక్క తిరిగి అనుకుంటున్నాను తెలియజేయండి ఒక దినుసు మేము
ఆ వారం సున్నా లో తిరిగి వచ్చింది ఒక ఫోన్ బుక్ లో ఎవరైనా శోధించడం,
మరియు గుర్తుచేసుకున్నారు మేము ప్రతిపాదించారు pseudocode,
ఇది ద్వారా మేము పొందవచ్చు మైక్ స్మిత్ వంటి ఎవరైనా,
ఈ వంటి కొంత కనిపించింది.
>> ఇప్పుడు ముఖ్యంగా పరిశీలించి లైన్ వద్ద 7 మరియు 8, మరియు 10 మరియు 11,
మేము ఉంచింది అనగా, ఇది ఆ లూప్ ప్రేరేపించడానికి మళ్ళీ, మళ్ళీ తిరిగి లైన్ 3 వెళుతున్న,
మళ్ళీ.
కానీ అది మేము చూడవచ్చు హాజరవుతారు ఈ అల్గోరిథం, ఇక్కడ pseudocode లో,
మరింత సంపూర్ణంగా కొద్దిగా.
నిజానికి, నేను ఏమి చూస్తున్నాను ఇక్కడ తెరపై వద్ద,
కోసం శోధన ఒక అల్గోరిథం పేజీలు కొన్ని సమితిని మైక్ స్మిత్.
నిజానికి, మేము ఈ సరళీకృతం కాలేదు ఆ పంక్తులు 7 మరియు 8 అల్గోరిథం,
మరియు 10 మరియు 11, కేవలం ఈ చెప్పటానికి ఇది నేను పసుపు ఇక్కడ చేసిన.
ఇతర మాటలలో, ఉంటే మైక్ స్మిత్, ముందు పుస్తకం లో
మేము అడుగు తెలుపుటకు అవసరం లేదు స్టెప్ బై ఇప్పుడు ఎలా అతనిని కనుగొన్న వెళ్ళడానికి.
మేము పేర్కొనవచ్చు లేదు లైన్ 3 తిరిగి వెళ్ళడానికి,
ఎందుకు మేము కేవలం బదులుగా లేదు, సే, మరింత సాధారణంగా,
మైక్ కోసం అన్వేషణ పుస్తకం యొక్క ఎడమ సగం.
>> దీనికి విరుద్ధంగా, మైక్ ఉంటే నిజానికి తరువాత పుస్తకంలో,
మనం కేవలం unquote శోధన కోట్ లేదు పుస్తకం యొక్క కుడి భాగంలో మైక్ కోసం.
ఇతర మాటలలో, మనం కేవలం లేదు విధమైన మేమే చెప్పడం రౌడీ,
ఈ మైక్ కోసం అన్వేషణ పుస్తకం ఉపసమితి,
మరియు మా ఉన్న దానిని వదిలి అల్గోరిథం మాకు చెప్పడం
మైక్ కోసం అన్వేషణ ఎలా పుస్తకం యొక్క ఎడమ సగం.
ఇతర మాటలలో, మా అల్గోరిథం అంతే లేదో పనిచేస్తుంది
ఈ ఈ మందం ఒక ఫోన్ బుక్, మందం, లేదా ఏ మందం.
కాబట్టి మేము పునరావృతంగా చెయ్యవచ్చు ఈ అల్గోరిథం వివరిస్తాయి.
ఇతర మాటలలో, న ఇక్కడ స్క్రీన్, ఒక అల్గోరిథం
మైక్ స్మిత్ శోధనకు ఒక ఫోన్ బుక్ పేజీలలో.
కాబట్టి లైన్ 7 మరియు 10, లెట్స్ కేవలం సరిగ్గా చెప్తారు.
నేను ఈ పదం ఒక క్షణం ఉపయోగించండి క్రితం, మరియు నిజానికి, సూత్రం
పదంగా, ఇప్పుడు కోసం మరియు అది ఈ ప్రక్రియ ఉంది
ఏదో ద్వారా చక్రీయ ఏదో చేయడం మీరు ఇప్పటికే కలిగి కోడ్ ఉపయోగించి,
మరియు, మళ్ళీ కాల్ మళ్ళీ, మళ్ళీ.
ఇప్పుడు అది ముఖ్యమైన చేస్తాడు మేము ఏదో దిగువన ఆ
అవ్ట్, మరియు అనంతమైన దీర్ఘ అలా లేదు.
లేకపోతే మేము చేయబోతున్నామని నిజానికి ఒక అనంతమైన లూప్ ఉన్నాయి.
కానీ మేము ఈ ఆలోచన తీసుకొని లేదో యొక్క చూసేలా ఒక సూత్రం యొక్క, మళ్ళీ ఏదో చేయడం
మళ్లీ మళ్లీ పరిష్కారానికి విలీనం ద్వారా క్రమబద్ధీకరించేందుకు సమస్య
విధమైన, అన్ని మరింత సమర్ధవంతంగా.
>> నేను మీరు విలీనంతో విధమైన ఇవ్వాలని.
యొక్క పరిశీలించి లెట్.
కాబట్టి ఇక్కడ pseudocode తో, మేము క్రమబద్ధీకరించేందుకు అమలు చేసే
విలీనంతో విధమైన అని ఈ అల్గారిథమ్ ఉపయోగించి.
మరియు అది చాలా కేవలం ఈ ఉంది.
N మూలకాల ఇన్పుట్ న, ఇతర పదాలు లో, మీరు అయితే
ఇచ్చిన n మూలకాలు మరియు సంఖ్యలు మరియు ఇన్పుట్ లేదా ఎలాగైనా అక్షరాలు,
మీరు n మూలకాలు, ఉంటే ఇచ్చిన చేస్తున్నారు ఉంటే n 2 కంటే తక్కువ, తిరిగి.
కుడి?
N ఆ, 2 కంటే తక్కువ ఉంటే ఎందుకంటే అంటే అంశాల జాబితాను
పరిమాణం 0 లేదా 1 గాని, మరియు ఆ చిన్నవిషయం సందర్భాల్లో రెండు,
జాబితా ఇప్పటికే క్రమబద్ధీకరించబడింది.
సంఖ్య జాబితా ఉంది ఉంటే, అది క్రమబద్ధీకరించబడతాయి.
మరియు పొడవు జాబితా ఉంది ఉంటే 1, అది స్పష్టంగా క్రమబద్ధీకరించబడతాయి.
కాబట్టి అల్గోరిథం మాత్రమే అవసరం నిజంగా ఆసక్తికరమైన ఏదో చేయాలని,
మేము రెండు లేదా ఎక్కువ ఉంటే అంశాలను మాకు ఇచ్చిన.
కాబట్టి యొక్క అప్పుడు మేజిక్ చూద్దాం.
ఎల్స్ అంశాల ఎడమ అర్ధ క్రమం, అప్పుడు అంశాల కుడి సగం క్రమం,
అప్పుడు క్రమబద్ధీకరించబడతాయి విభజించటం విలీనం.
మరియు బెండింగ్ మనస్సు యొక్క రకం ఏమిటి ఇక్కడ, నేను నిజంగా లేదు అని
మీరు చెప్పారు కనిపిస్తుంది ఇంకా ఏదైనా, కుడి?
అన్ని నేను ఒక జాబితా ఇచ్చి చెప్పెను చేసిన n మూలకాలు, ఎడమ అర్ధ క్రమం
అప్పుడు కుడి సగం, అప్పుడు క్రమబద్ధీకరించబడింది విభజించటం విలీనం
కానీ ఇక్కడ అసలు రహస్యం సాస్ ఉంది?
అల్గోరిథం ఎక్కడ ఉంది?
బాగా ఆ రెండు పంక్తులు హాజరవుతారు మొదటి, మూలకాల యొక్క విధమైన ఎడమ సగం,
మరియు అంశాలను విధమైన కుడి అర్థ పునరావృత కాల్స్ ఉన్నాయి, మాట్లాడటానికి.
>> అన్ని తరువాత, ఈ సమయంలో పాయింట్, నేను ఉన్నాయి
ఇది ఒక అల్గోరిథం మూలకాల ఒక మొత్తం బంచ్ క్రమం?
అవును.
ఇది కుడి ఇక్కడ ఉన్నారు.
ఇది తెరపై ఇక్కడే, మరియు నేను దశలను అదే సెట్ ఉపయోగించవచ్చు
ఎడమ అర్ధ క్రమం, కుడి సగం నేను వీలయినంత.
నిజానికి, మళ్ళీ, మళ్ళీ.
కాబట్టి ఏదో లేదా ఇతర, మరియు మేము త్వరలోనే చేస్తాము విలీనంతో విధమైన మేజిక్ ఈ చూడండి
చాలా ఫైనల్లో పొందుపర్చిన లైన్, క్రమబద్ధీకరించబడతాయి విభజించటం విలీనం జరిగింది.
మరియు ఆ చాలా సహజమైన తెలుస్తోంది.
మీరు రెండు విభజించటం పడుతుంది, మరియు ఏదో, వాటిని కలిసి విలీనం
మరియు మేము ఈ చూస్తారు బలంగా ఒక్క క్షణంలో.
>> కానీ ఈ ఒక పూర్తి అల్గోరిథం.
మరియు యొక్క ఖచ్చితంగా ఎందుకు చూద్దాం.
మనము ఈ అదే ఇచ్చిన చేస్తున్న అనుకుందాం తెరపై ఇక్కడ ఎనిమిది అంశాలు, ఒక
ఎనిమిది ద్వారా, కానీ వారు ఉన్నారు అకారణంగా యాదృచ్ఛిక క్రమంలో.
మరియు చేతిలో లక్ష్యం ఈ అంశాలు క్రమం.
సరే నేను గురించి ఎలా వెళ్ళవచ్చు మళ్ళీ ఉపయోగించి అది చేయడం,
ఈ pseudocode ప్రకారం, విలీనంతో విధమైన?
మరియు తిరిగి, ఈ మనసులోచెరగని ముద్రవేయు మీ మనస్సు, కేవలం ఒక క్షణం.
మొదటి సందర్భంలో అందంగా ఉంది చిన్నవిషయం, ఇది 2 కంటే తక్కువగా ఉంటే,
కేవలం జరుగుతుంది ఎటువంటి పని ఉంది, తిరిగి.
కాబట్టి నిజంగా కేవలం మూడు ఉంది దశలను నిజంగా మనస్సులో ఉంచాలని.
మళ్ళీ, మళ్ళీ, నేను రెడీ కలిగి కావలసిన వెళుతున్న
ఎడమ అర్ధ క్రమం, కుడి సగం క్రమం,
ఆపై ఒకసారి వారి రెండు విభజించటం, క్రమబద్ధీకరించబడతాయి
నేను వాటిని కలిసి విలీనం చేయాలనుకుంటున్నాను ఒక క్రమబద్ధీకరించబడతాయి జాబితాలో.
కాబట్టి గుర్తుంచుకోండి.
>> కాబట్టి ఇక్కడ అసలు జాబితా ఉంది.
యొక్క ఒక గా ఈ భావిస్తుంది లెట్ అర్రే, మేము ప్రారంభించారు
వారానికి రెండు, ఒక ఉంది వరుస మెమొరీ బ్లాక్.
ఈ సందర్భంలో, ఎనిమిది కలిగి సంఖ్యలు, తిరిగి వెనక్కి తిరిగి.
మరియు ఇప్పుడు విలీనంతో విధమైన దరఖాస్తు తెలియజేయండి.
నేను మొదటి క్రమం అనుకుంటే ఈ జాబితా యొక్క ఎడమ అర్ధ,
మరియు, అందువలన, లెట్స్ 4, 8, 6, మరియు 2 దృష్టి.
>> ఇప్పుడు నేను గురించి ఎలా గో పరిమాణం 4 జాబితాను సార్టింగ్?
సరే నేను ఇప్పుడు పరిగణించాలి ఎడమ భాగంలో ఎడమ సార్టింగ్.
మళ్ళీ, యొక్క కేవలం ఒక క్షణం రివైండ్ తెలియజేయండి.
Pseudocode ఈ ఉంటే, మరియు నేను ఎనిమిది అంశాలను ఇచ్చిన చేస్తున్నాను,
8 స్పష్టంగా ఎక్కువ కంటే ఎక్కువ లేదా 2 సమానం.
కాబట్టి మొదటి సందర్భంలో వర్తించదు.
ఎనిమిది మూలకాలు క్రమం, నేను మొదటి , అంశాల ఎడమ అర్ధ క్రమం
అప్పుడు నేను అప్పుడు నేను విలీనం, కుడి సగం క్రమం రెండు క్రమబద్ధీకరించబడతాయి విభజించటం, పరిమాణం 4 యొక్క ప్రతి.
అలాగే.
>> మీరు కేవలం నాకు చెప్పారు చేసిన అయితే, క్రమం ఇప్పుడు పరిమాణం 4 యొక్క ఇది ఎడమ అర్ధభాగంలో,
ఎలా నేను ఎడమ అర్ధ క్రమబద్ధీకరించాలి?
సరే నేను ఒక కలిగి ఉంటే నాలుగు అంశాలను ఇన్పుట్,
నేను మొదటి ఎడమ క్రమం రెండు, అప్పుడు కుడి రెండు,
ఆపై నేను కలిసి వాటిని విలీనం.
మరలా, అది ఒక బిట్ అవుతుంది ఒక మనస్సు యొక్క ఇక్కడ ఆట బెండింగ్,
మీరు ఎందుకంటే, రకమైన, కలిగి మీరు కథలో ఉన్నాయి అక్కడ గుర్తు,
కానీ రోజు చివరిలో, అంశాలు ఏ సంఖ్య ఇచ్చిన
మీరు మొదటి క్రమం అనుకుంటే ఎడమ సగం, అప్పుడు కుడి అర్థ
అప్పుడు కలిసి వాటిని విలీనం.
యొక్క ఖచ్చితంగా అలా ప్రారంభిద్దాం.
ఇక్కడ ఎనిమిది అంశాల ఇన్పుట్.
ఇప్పుడు మేము ఇక్కడ ఎడమ అర్ధ చూస్తున్నారా.
ఎలా నేను నాలుగు అంశాలు క్రమబద్ధీకరించాలి?
సరే నేను మొదటి ఎడమ సగం క్రమం.
ఇప్పుడు నేను ఎడమ అర్ధ క్రమబద్ధీకరించాలి?
సరే నేను రెండు అంశాలు ఇచ్చిన పరిష్కరించగలుగుతున్నాము.
కాబట్టి యొక్క ఈ రెండు మూలకాలు క్రమం తెలియజేయండి.
2 కంటే ఎక్కువ లేదా 2 సమానంగా, కోర్సు.
కాబట్టి ఆ మొదటి సందర్భంలో వర్తించదు.
>> నేను ఇప్పుడు ఎడమ క్రమం ఉంటుంది ఈ రెండు అంశాలు సగం.
ఎడమ సగం, కోర్సు యొక్క, కేవలం 4.
సో ఎలా నేను ఒక మూలకం యొక్క జాబితా క్రమబద్ధీకరించాలి?
Well ఇప్పుడు, ప్రత్యేక బేస్ కేసు టాప్, మాట్లాడటానికి, వర్తిస్తుంది.
1 2 కంటే తక్కువ, మరియు నా జాబితా నిజానికి 1 పరిమాణం ఉంటుంది.
సో నేను తిరిగి.
నేను ఏమీ లేదు.
నిజానికి, నేను చేసిన ఏమి చూడండి పూర్తి, 4 అప్పటికే క్రమబద్ధీకరించబడింది.
ఇలా నేను ఇప్పటికే రెడీ ఇక్కడ పాక్షికంగా విజయవంతమైంది.
>> ఇప్పుడు ఆ రకమైన స్టుపిడ్ కనిపిస్తోంది క్లెయిమ్, కానీ ఇది నిజం ఉంది.
4 1 పరిమాణం జాబితా.
ఇది ఇప్పటికే క్రమబద్ధీకరించబడతాయి.
ఎడమ భాగంలో ఉంది.
ఇప్పుడు నేను కుడి సగం క్రమం.
నా ఇన్పుట్ 8, ఒక మూలకం ఉంది అదేవిధంగా, ఇప్పటికే క్రమబద్ధీకరించబడింది.
స్టుపిడ్, చాలా, కానీ మళ్ళీ, ఈ ప్రాథమిక సూత్రం
ఇప్పుడు నిర్మించడానికి అనుమతిస్తుంది అన్నారు ఈ పైన విజయవంతంగా.
4 ఇప్పుడు, 8 క్రమబద్ధీకరించబడింది, క్రమబద్ధీకరించబడింది గత దశ ఏమిటి?
కాబట్టి మూడవ మరియు ఆఖరి దశ, ఏ సమయం మీరు ఒక జాబితా, రీకాల్ క్రమబద్ధీకరించేందుకు చేస్తున్నారు
రెండు విభజించటం విలీనం ఉంది ఎడమ మరియు కుడి.
సో యొక్క ఖచ్చితంగా అలా వీలు.
నా ఎడమ సగం, కోర్సు యొక్క, 4.
నా కుడి సగం 8.
>> కాబట్టి దీన్ని చూద్దాం.
మొదటి నేను కేటాయించే వెళుతున్న కొన్ని అదనపు మెమరీ,
నేను ఇక్కడ ప్రాతినిధ్యం చేస్తాము అని కేవలం ద్వితీయ శ్రేణి వంటి,
ఈ సరిపోయే తగినంత పెద్దది.
కానీ మీరు పొడిగిస్తూ ఊహించే ఆ దీర్ఘ చతురస్రం మొత్తం పొడవు,
మేము మరింత తరువాత అవసరం ఉంటే.
నేను 4 పడుతుంది మరియు 8, మరియు విలీనం ఎలా కలిసి పరిమాణం 1 ఆ రెండు జాబితాలు?
ఇక్కడ కూడా, అందంగా సాధారణ.
4 అప్పుడు, మొదటి వస్తుంది 8 వస్తుంది.
నేను క్రమం అనుకుంటే ఎందుకంటే ఎడమ సగం, అప్పుడు కుడి అర్థ
ఆపై ఆ రెండు విభజించటం విలీనం కలిసి, క్రమబద్ధీకరించబడింది క్రమంలో,
4 అప్పుడు, మొదటి వస్తుంది 8 వస్తుంది.
>> కాబట్టి మేము కూడా పురోగతిని సాధిస్తోంది అనిపించడం నేను ఏ అసలు పని చేయలేదు అయితే.
మేము కథలో ఉన్నాయి అక్కడ కానీ గుర్తుంచుకోండి.
మేము అసలు ఎనిమిది అంశాలు పట్టింది.
మేము 4 ఇది ఎడమ అర్ధ, క్రమబద్ధీకరించబడింది.
అప్పుడు మేము ఎడమ సగం క్రమబద్ధీకరించబడింది 2 ఇది ఎడమ అర్ధభాగంలో యొక్క.
మరియు ఇక్కడ మేము వెళ్ళి.
మేము ఆ దశ పూర్తి చేశారు.
>> మేము క్రమబద్ధీకరించబడతాయి చేసిన చేస్తే మేము ఇప్పుడు 2 సగం ఎడమ
2 కుడి సగం క్రమం ఉంటుంది.
సో 2 యొక్క రైట్ హాఫ్ ఇక్కడ ఈ రెండు విలువలు, 6 మరియు 2.
కాబట్టి యొక్క ఇప్పుడు పరిమాణం యొక్క ఒక ఇన్పుట్ తీసుకుందాం 2, ఆపై ఎడమ అర్ధ క్రమం, మరియు
కుడి సగం, మరియు అప్పుడు వాటిని కలిసి విలీనం.
బాగా ఎలా నేను పరిమాణం జాబితా క్రమబద్ధీకరించాలి 1, కేవలం సంఖ్య 6 కలిగిన?
నేను ఇప్పటికే పూర్తయింది.
1 పరిమాణం ఆ జాబితా క్రమబద్ధీకరించబడింది.
>> నేను మరొక జాబితా క్రమం ఎలా పరిమాణం 1, అని పిలవబడే కుడి సగం.
బాగా, చాలా, ఇప్పటికే క్రమబద్ధీకరించబడింది.
సంఖ్య 2 ఒంటరిగా ఉంది.
కాబట్టి ఇప్పుడు నేను రెండు విభజించటం కలిగి, ఎడమ మరియు కుడి, నేను వాటిని కలిసి విలీనం చేయాలి.
నాకు కొన్ని అదనపు స్పేస్ ఇవ్వాలని లెట్.
మరియు, అక్కడ 2 చాలు అప్పుడు 6 అక్కడ, తద్వారా
ఆ జాబితా సార్టింగ్, ఎడమ మరియు కుడి చివరకు, అది కలిసి విలీనం జరిగింది.
నేను కొద్దిగా మంచి ఆకారం లో ఉన్నాను.
నేను పూర్తి ఎందుకంటే కాదు స్పష్టంగా 4, 8, 2, 6 నేను కావలసిన చివరి ఆర్దరింగ్ కాదు.
కానీ ఇప్పుడు, ఆ పరిమాణం 2 యొక్క రెండు జాబితాలను కలిగి రెండు, వరుసగా, క్రమబద్ధీకరించబడింది చేశారు.
కాబట్టి ఇప్పుడు మీరు మీ మనస్సు యొక్క లో రివైండ్ ఉంటే కన్ను, మాకు ఎక్కడ వదిలి లేదు?
నేను అప్పుడు, ఎనిమిది అంశాలతో ప్రారంభించారు నేను 4 యొక్క ఎడమ అర్ధ దాన్ని నరికి
అప్పుడు 2 యొక్క ఎడమ అర్ధ, మరియు అప్పుడు 2 యొక్క రైట్ హాఫ్,
నేను ఎడమ సార్టింగ్, అందువలన పూర్తి 2 సగం, మరియు 2 యొక్క రైట్ హాఫ్,
కాబట్టి మూడవ మరియు ఆఖరి దశ ఇక్కడ ఏముంది?
నేను కలిసి విలీనం కలిగి పరిమాణం 2 యొక్క రెండు జాబితాలు.
కాబట్టి యొక్క ముందుకు వెళ్లి మనం.
మరియు ఇక్కడ తెరపై ఇవ్వాలని నాకు కొన్ని అదనపు మెమరీ,
సాంకేతికంగా అయితే, నేను చేసిన గమనిస్తారు ఖాళీ స్థలాన్ని టాప్ యొక్క మొత్తం బంచ్ వచ్చింది
అక్కడ.
నేను ముఖ్యంగా ఉండాలని మీరు అనుకుంటే సమర్థవంతమైన స్పేస్ వారీగా,
నేను అంశాలను కదిలే మొదలు కాలేదు ముందుకు వెనుకకు, ఎగువ మరియు దిగువ.
కానీ కేవలం దృశ్య స్పష్టత కోసం, నేను క్రింద అణిచివేసేందుకు వెళుతున్న
nice మరియు శుభ్రంగా విషయాలను.
>> నేను పరిమాణం 2 యొక్క రెండు జాబితాలను పొందారు.
మొదటి జాబితాలో 4 మరియు 8 ఉంది.
రెండవ జాబితా 2 మరియు 6 ఉంది.
యొక్క ఆ విలీనం లెట్ కలిసి క్రమబద్ధీకరించబడతాయి క్రమంలో.
2, కోర్సు యొక్క, మొదటి వస్తుంది అప్పుడు 4, అప్పుడు 6, అప్పుడు 8.
మరియు ఇప్పుడు మేము పొందడానికి అనిపించడం ఎక్కడో ఆసక్తికరమైన.
ఇప్పుడు నేను విభజించిన చేసిన సగం జాబితా, మరియు యాదృచ్చికంగా, అంతే
అన్ని సరి సంఖ్యలు, కానీ ఆ నిజానికి, కేవలం యాదృచ్చికం.
నేను ఇప్పుడు ఎడమ పరిష్కరించబడి సగం, అది 2, 4, 6, మరియు 8 కాబట్టి ఆ.
నథింగ్ క్రమంలో కోల్పోయాడు.
పురోగతి అనుకుని.
>> నేను వంటి ఇప్పుడు అది అనిపిస్తుంది ఇప్పుడు శాశ్వతంగా మాట్లాడటం జరిగింది,
కాబట్టి ఈ ఏమి ఈ ఉంటే తెలియాల్సి ఉంది అల్గోరిథం నిజానికి, మరింత సమర్థవంతమైన ఉంది.
కానీ మేము ద్వారా చేయబోతున్నామని అది సూపర్ methodically.
ఒక కంప్యూటర్, కోర్సు యొక్క, ఆ వంటి చేయరా.
కాబట్టి మేము ఎక్కడ?
మేము ఎనిమిది అంశాలతో ప్రారంభించారు.
నేను 4 యొక్క ఎడమ అర్ధ క్రమబద్ధీకరించబడింది.
నేను ఆ పూర్తి అనిపించడం.
కాబట్టి ఇప్పుడు తదుపరి దశలో ఉంది 4 కుడి సగం క్రమం.
మరియు ఈ భాగం మేము వెళ్ళే కొంచెం ద్వారా
త్వరగా, మీరు ఉన్నారు, అయితే కేవలం, రివైండ్ లేదా పాజ్ చేయడానికి స్వాగత
అది ద్వారా అనుకుంటున్నాను మీ స్వంత వేగంతో, కానీ ఏమి
మేము ఇప్పుడు అవకాశం ఉంది కలిగి నాలుగు ఖచ్చితమైన అదే యాంత్రిక చేయండి
వివిధ సంఖ్యలు.
>> కాబట్టి యొక్క ముందుకు వెళ్ళి తెలపండి, మరియు దృష్టి మేము ఇక్కడ ఉన్నారు ఇది కుడి అర్థ.
ఆ ఎడమ సగం కుడి సగం, మరియు ఇప్పుడు
ఎడమ ఎడమ అర్ధ ఆ కుడి సగం సగం,
మరియు నేను పరిమాణం జాబితా క్రమం ఎలా 1 కేవలం సంఖ్య 1 కలిగి?
ఇది ఇప్పటికే ప్రదర్శనతో.
నేను ఒక జాబితా కోసం అదే చేస్తారు ఎలా కేవలం 7 కలిగిన పరిమాణం 1?
ఇది ఇప్పటికే ప్రదర్శనతో.
అప్పుడు ఈ సగం దశ మూడు ఈ రెండు అంశాలు విలీనం ఉంది
పరిమాణం 2, 1 మరియు 7 కొత్త జాబితా లోకి.
అన్ని చేసారు కనిపించడం లేదు ఎక్కువ ఆసక్తికరమైన పని.
తదుపరి ఏమి చూద్దాం.
నేను యొక్క ఎడమ అర్ధ క్రమబద్ధీకరించబడింది నా అసలు ఇన్పుట్ కుడి సగం.
ఇప్పుడు కుడి విధమైన వీలు 5 మరియు 3 కలిగి సగభాగం ఉంది.
మళ్ళీ ఎడమ చూద్దాం సగం, క్రమబద్ధీకరించబడింది, కుడి అర్థ క్రమబద్ధీకరించిన
మరియు, కలిసి ఆ రెండు విలీనం కొన్ని అదనపు ప్రదేశంలోకి
3 అప్పుడు, మొదటి వస్తుంది 5 వచ్చింది.
కాబట్టి ఇప్పుడు, మేము క్రమబద్ధీకరించబడతాయి చేశారు కుడి భాగంలో ఎడమ అర్ధ
అసలు సమస్య, మరియు కుడి భాగంలో కుడి సగం
అసలు సమస్య.
మూడవ మరియు ఆఖరి దశ ఏమిటి?
బాగా కలిసి ఆ రెండు విభజించటం విలీనం చేయడం.
కాబట్టి నాకు కొన్ని పొందడానికి వీలు మళ్ళీ అదనపు ఖాళీని, కానీ, నేను
ఆ విడి స్థలాన్ని టాప్ ఉపయోగించి కావచ్చు.
కానీ మేము ఉంచడానికి వెళుతున్న దృశ్యపరంగా అది సాధారణ.
నాకు ఇప్పుడు 1 లో విలీనం లెట్, మరియు అప్పుడు 3, మరియు అప్పుడు 5, ఆపై 7.
తద్వారా ఇప్పుడు నాకు వదిలి అసలు సమస్య యొక్క రైట్ హాఫ్
ఆ సంపూర్ణ క్రమబద్ధీకరించబడతాయి.
>> సో వాట్ ఉంది?
నేను చెప్పడం ఉంచేందుకు వంటి నేను భావిస్తున్నాను మళ్ళీ, మళ్ళీ అదే విషయాలు,
కానీ ఆ ప్రతిబింబ వార్తలు మేము సూత్రం ఉపయోగించి చేస్తున్న వాస్తవం.
ఒక ఉపయోగించడానికి విధానాన్ని మళ్ళీ, మళ్ళీ అల్గోరిథం,
చిన్న ఉపభాగాలుగా న అసలు సమస్య.
నేను ఇప్పుడు ఒక ఎడమ పరిష్కరించబడి అసలు సమస్య సగం.
నేను ఒక కుడి క్రమబద్ధీకరించబడతాయి సగం కలిగి అసలు సమస్య.
మూడవ మరియు ఆఖరి దశ ఏమిటి?
ఓహ్, ఇది విలీనం లో.
కాబట్టి యొక్క ఆ తెలియజేసేలా.
కొన్ని అదనపు కేటాయించాలని లెట్ జ్ఞాపకశక్తి, కానీ నా దేవా, మేము
ఇప్పుడు ఎక్కడైనా చాలు కాలేదు.
మేము చాలా స్పేస్ అందుబాటులో మాకు, కానీ మేము సాధారణ ఉంటాం.
బదులుగా తిరిగి వెళ్ళడం మరియు ముందుకు మా అసలు మెమరీ,
కేవలం దీన్ని లెట్స్ దృశ్యపరంగా ఇక్కడ క్రింద డౌన్,
విలీనం ముగించడానికి ఎడమ అర్ధ మరియు కుడి సగం.
>> విలీనం ద్వారా కాబట్టి, నేను ఏమి చేయాలి?
నేను క్రమంలో అంశాలు తీసుకుని అనుకుంటున్నారా.
కాబట్టి ఎడమ సగం చూడటం, నేను మొదటి సంఖ్య 2 ఉంది చూడండి.
నేను కుడి సగం చూడండి, నేను మొదటి సంఖ్య చూడండి
కాబట్టి ఖచ్చితంగా, ఇది 1 సంఖ్య, నేను ధైర్యము అనుకుంటున్నారు
మరియు నా తుది జాబితాలో మొదటి ఉంచారు?
కోర్సు, 1.
ఇప్పుడు నేను అదే ప్రశ్న కోరవలసి.
ఎడమ సగం న, నేను చేసిన ఇంకా సంఖ్య 2 వచ్చింది.
కుడి అర్ధభాగంలో, నేను సంఖ్య 3 పొందాను.
నేను ఇది ఒక ఎంచుకోవడానికి అనుకుంటున్నారు?
వాస్తవానికి, సంఖ్య 2 మరియు ఇప్పుడు అభ్యర్థులు గమనించవచ్చు
కుడి ఎడమ, 3 4 ఉంటాయి.
యొక్క కోర్సు, 3 ఎంచుకోండి లెట్.
ఇప్పుడు అభ్యర్థులు 4 ఉన్నాయి కుడి ఎడమ, 5.
మేము, కోర్సు యొక్క, 4 ఎంచుకోండి.
కుడి ఎడమ, 5 6.
మేము, కోర్సు యొక్క, 5 ఎంచుకోవచ్చు.
కుడి ఎడమ, 7 న 6.
మేము 6 ఎంచుకోండి, మరియు అప్పుడు మేము 7 ఎంచుకోండి, ఆపై మేము 8 ఎంచుకోండి.
Voila.
>> పదాల సో ఒక భారీ సంఖ్యలో తరువాత, మేము ఎనిమిది అంశాలు ఈ జాబితా పరిష్కరించబడి
ఎనిమిది ద్వారా ఒక జాబితాను లోకి, ఆ, ప్రతి అడుగుకు పెరుగుతున్న యొక్క
కానీ ఎంత సమయం చేసింది అది అలా మాకు పడుతుంది.
సరే నేను ఉద్దేశపూర్వకంగా చేసిన చిత్రాల లైడ్ విషయాలు బయటకు
ఇక్కడ, తద్వారా మేము రకమైన చూడండి లేదా విభజన అభినందిస్తున్నాము
జయించాలని ఆ జరుగుతున్న చేయబడింది.
>> మీరు WAKE వద్ద తిరిగి చూడాలని ఉంటే నిజానికి, నేను ఈ చుక్కల లైన్లు అన్ని నిష్క్రమించారు
స్థలం ఉన్నవారు, మీరు చెయ్యవచ్చు, రకమైన, రివర్స్ క్రమంలో, చూడండి,
మీరు రకమైన లో తిరిగి చూస్తే చరిత్ర ఇప్పుడు నా అసలు జాబితా
పరిమాణం 8, కోర్సు యొక్క, ఉంది.
ఆపై గతంలో, నేను పరిమాణం 4 యొక్క రెండు జాబితాలను వ్యవహరించే,
ఆపై పరిమాణం 2 యొక్క నాలుగు జాబితాలు, ఆపై పరిమాణం 1 ఎనిమిది జాబితాలు.
>> కాబట్టి ఈ ఏమి చేస్తుంది, రకమైన, మీరు గుర్తు?
బాగా, నిజంగా, ఏ మేము చేసిన అల్గోరిథంలు
ఇప్పటివరకు చూశారు పేరు మేము విభజన, మరియు విభజన, మరియు విభజన,
మళ్ళీ విషయాలు కలిగి ఉంచేందుకు, మరియు మళ్ళీ, ఈ సాధారణ ఆలోచన ఫలితాలు.
కాబట్టి ఏదో ఉంది సంవర్గమాన ఇక్కడ జరగబోతోంది.
మరియు అది n యొక్క చాలా లాగ్, కాదు కానీ ఒక సంవర్గమాన భాగం ఉంది
మేము కేవలం పూర్తి చేసిన దానికి.
>> ఇప్పుడు ఆ నిజానికి ఎంత పరిశీలిద్దాం.
మరలా, n యొక్క లాగ్ ఉంది ఒక గొప్ప నడుస్తున్న సమయం,
మేము వంటి ఏదో చేసుకుంది బైనరీ శోధన, మేము ఇప్పుడు కాల్ వంటి,
విభజించి జయించటానికి వ్యూహం ఇది ద్వారా మేము మైక్ స్మిత్ దొరకలేదు.
ఇప్పుడు సాంకేతికంగా.
కూడా, n యొక్క లాగ్ బేస్ 2 అత్యంత గణిత శాస్త్ర తరగతుల్లో అయితే,
10 సాధారణంగా మీరు ఉంటాయని స్థావరం.
కానీ కంప్యూటర్ శాస్త్రవేత్తలు దాదాపు ఎల్లప్పుడూ భావిస్తున్నాను మరియు బేస్ 2 పరంగా మాట్లాడటం,
కాబట్టి మేము సాధారణంగా కేవలం లాగిన్ చెప్పినప్పుడు n, బదులుగా n యొక్క లాగ్ బేస్ 2,
కానీ వారు ఖచ్చితంగా ఒక మరియు ఉన్నాము కంప్యూటర్ ప్రపంచంలో అదే
విజ్ఞాన శాస్త్రం మరియు జనాంతికంగా, ఒక స్థిరమైన అంశం ఉంది
ఈ రెండింటి మధ్య వ్యత్యాసం, కాబట్టి అది మరింత దుస్తులు కారణాల వల్ల, ఏమైనప్పటికీ మూట్.
>> కానీ ఇప్పుడు కోసం, మేము ఏమి పట్టించుకోను గురించి ఈ ఉదాహరణ.
కాబట్టి యొక్క ఉదాహరణ ద్వారా రుజువు కాదు వీలు, కానీ కనీసం సంఖ్యల ఒక ఉదాహరణ వాడటానికి
చేతిలో ఒక తెలివి తనిఖీ, మీరు రెడీ ఉంటే.
కాబట్టి గతంలో ఫార్ములా లాగ్ స్థావరంగా N యొక్క 2, కానీ ఈ విషయంలో n ఏమిటి.
నేను n అసలు నంబర్లు కలిగి, లేదా 8 అసలు సంఖ్యలు ప్రత్యేకంగా.
ఇప్పుడు అది ఒక చిన్న అయ్యింది అయితే, కానీ నేను ఉన్నాను అందంగా
ఖచ్చితంగా ఆ లాగ్ బేస్ 2 8 3 విలువ,
నిజానికి, దాన్ని గురించి nice వార్తలు 3 సార్లు సరిగ్గా సంఖ్య
మీరు జాబితా తిరగడానికి ఆ మళ్ళీ, మళ్ళీ పొడవు 8,
మరియు తిరిగి, మీరు వదిలి మీరు వరకు కేవలం పరిమాణం 1 జాబితాలు తో.
కుడి?
8, 4 వెళ్తాడు 2 వరకు వెళుతుంది, 1 వెళతాడు, మరియు ఆ
సరిగ్గా ఆ ప్రతిబింబ చిత్రాన్ని మేము కేవలం ఒక క్షణం క్రితం వచ్చింది.
కాబట్టి కొద్దిగా తెలివి ఎక్కడ తనిఖీ సంవర్గమానం నిజానికి చేరి ఉంటుంది.
>> కాబట్టి ఇప్పుడు, ఏమి ఇక్కడ చేరి ఉంది? n.
కాబట్టి ప్రతి గమనించవచ్చు సమయం నేను జాబితా విభజించబడింది
చరిత్రలో రివర్స్ క్రమంలో అయినప్పటికీ ఇక్కడ, నేను ఇప్పటికీ n విషయాలు చేస్తున్నాను.
ఆ విలీనం దశల వెచ్చిస్తుంది నేను సంఖ్యలు ప్రతి ఒకటి తాకే
లోకి జారు క్రమంలో దాని తగిన స్థానం.
కాబట్టి అయినప్పటికీ ఈ ఎత్తు రేఖాచిత్రం, n లేదా 3 యొక్క పరిమాణం లాగ్ n ఉంది
ప్రత్యేకంగా, ఇతర పదాలు లో, నేను ఇక్కడ మూడు విభాగాలు చేసింది.
ఎంత పని నేను అడ్డంగా చేసావ్ ఈ చార్ట్ ప్రతిసారీ పాటు?
>> Well, నేను యొక్క n దశలను చేసింది నేను ఉంటే ఎందుకంటే, పని
నాలుగు మూలకాలకు నాలుగు అంశాలను వచ్చింది మరియు నేను వాటిని కలిసి విలీనం చేయాలి.
నేను ద్వారా వెళ్లవలసిన అవసరం ఈ నాలుగు మరియు ఈ నాలుగు,
చివరికి వారిని విలీనం తిరిగి ఎనిమిది అంశాలు లోకి.
దానికి ఉంటే నేను ఎనిమిది వేళ్లు పొందారు నాదగ్గర, ఇక్కడ పైగా, మరియు ఎనిమిది
fingers-- sorry-- నేను ఉంటే ఇక్కడ పైగా నాలుగు వేళ్ళు వచ్చింది
నేను నాలుగు వేళ్లు ఇవి ఇక్కడ పైగా, నేను ఇవి
ఆ సేమ్ ఉదాహరణకు వంటి ముందు, నేను లేకపోతే
అయితే ఎనిమిది వేళ్ళు కలిగి నేను, రకమైన, మీరు చేయవచ్చు, మొత్తం.
నేను సరిగ్గా, ఇక్కడ చేయవచ్చు అప్పుడు నేను ఖచ్చితంగా చెయ్యవచ్చు
ఈ జాబితాల అన్ని విలీనం కలిసి పరిమాణం 1.
కానీ నేను ఖచ్చితంగా చూడటానికి కలిగి ప్రతి మూలకం వద్ద సరిగ్గా ఒకసారి.
కాబట్టి ఈ ప్రక్రియ యొక్క ఎత్తు, లాగ్ n ఉంది ఈ ప్రక్రియ యొక్క వెడల్పు, మాట్లాడటానికి,
కాబట్టి మేము అనిపించవచ్చు ఏమి n అయితే, చివరికి, ఉంది, కలిగి
పరిమాణం n సార్లు ఒక నడుస్తున్న సమయంలో n లాగ్.
>> ఇతర మాటలలో, మేము విభజించబడింది జాబితా లాగ్ n సార్లు,
కానీ మేము ఆ చేశాడు ప్రతిసారీ, మేము కలిగి అంశాల ప్రతి ఒకటి తాకే
వాటిని విలీనం చెయ్యడానికి అన్ని కలిసి ఇది
అడుగు n అందువల్ల మేము కలిగి n సార్లు లాగ్ n జరిగినది, లేదా ఒక కంప్యూటర్ శాస్త్రవేత్త చెబుతా,
asymptotically, ఇది పెద్ద పదం ఉంటుంది
ఎగువ వివరించడానికి నడుస్తున్న సమయం కట్టుబడి,
మేము ఒక పెద్ద o నడుస్తున్నాయని లాగ్ n సమయం, మాట్లాడటానికి.
>> ఇప్పుడు ఈ ఎందుకంటే, విశిష్టమైనది నడుస్తున్న సార్లు ఉన్నాయి ఏమి గుర్తుకు
బబుల్ సార్ట్, మరియు ఎంపిక విధమైన, మరియు చొప్పించడం విధమైన,
మరియు ఉనికిలో కూడా కొన్ని ఇతరులు, n మేము వద్ద ఉన్నాయి అక్కడి స్క్వేర్డ్.
మరియు మీరు రకమైన, ఇక్కడ ఈ చూడగలరు.
స్క్వేర్డ్ n ఉంటే ఖచ్చితంగా n సార్లు ఉంది n, కానీ ఇక్కడ మనం n సార్లు లాగ్ n,
మరియు మేము ఇప్పటికే వారం నుండి తెలుసు సున్నా లాగ్ n, సంవర్గమాన,
ఏదో సరళ కంటే ఉత్తమం.
అన్ని తరువాత, చిత్రాన్ని గుర్తుకు ఎరుపు మరియు పసుపు తో
మేము ఆకర్షించాడు మరియు ఆకుపచ్చ పంక్తులు, ఆకుపచ్చ సంవర్గమాన రేఖ చాలా తక్కువగా ఉంది.
అందువల్ల, మనం చాలా మంచి మరియు వేగవంతమైన నేరుగా పసుపు మరియు ఎరుపు పంక్తులు కంటే,
n సార్లు నిజానికి ఉంది n లాగిన్, మంచి n సార్లు కంటే n, లేదా n స్క్వేర్డ్.
>> మనకిప్పుడు అనిపించడం ఒక అల్గోరిథం విలీనంతో గుర్తించారు
విధమైన చాలా నడుస్తుంది వేగంగా సమయం, మరియు నిజానికి
ఎందుకు ఈ వారం, ఉన్నప్పుడు మేము బబుల్ మధ్య పోటీ చూసింది
విధమైన ఎంపిక విధమైన, మరియు విలీనం విధమైన విధమైన నిజంగా గెలిచింది విలీనం.
నిజానికి, మేము కూడా వేచి లేదు బబుల్ సార్ట్ మరియు ఎంపిక విధమైన కోసం
పూర్తి చేయడానికి.
>> ఇప్పుడు మరొక పాస్ తీసుకుందాం ఈ వద్ద, కొద్దిగా మరింత నుండి
అధికారిక కోణం, కేవలం కేసు ఈ మెరుగ్గా ధ్వనించే
అధిక స్థాయి చర్చ కంటే.
కాబట్టి ఇక్కడ అల్గోరిథం మళ్ళీ అనిపిస్తుంది.
యొక్క మమ్మల్ని అడగండి లెట్ ఏమి నడుస్తున్న సమయం
ఈ వివిధ దశలను ఆల్గోరిథమ్స్ ఉంది?
మొదటి విభజించి లెట్ కేసు మరియు రెండవ కేసు.
ఒకవేళ ఉంటే మిగిలిన, N 2 కంటే తక్కువ ఉంటే, తిరిగి.
స్థిరంగా సమయం అనుకుని.
ఇది రెండు దశలను వంటి రకమైన ఉంది, N 2 కంటే తక్కువ ఉంటే, అప్పుడు తిరిగి.
కానీ మేము సోమవారం అన్నాడు, స్థిరంగా సమయం, లేదా 1 o పెద్ద,
రెండు దశలు, మూడు ఉంటుంది దశలను కూడా 1,000 దశలను.
ఏ మంచిని అంతే ఉంది దశలను స్థిరమైన సంఖ్య.
కాబట్టి పసుపు pseudocode హైలైట్ ఇక్కడ, మేము కాల్ చేస్తాము నడుస్తుంది
నిరంతరం సమయం.
కాబట్టి అధికారికంగా మరియు మేము ఈ ఆలోచన చూడాలని
మేరకు ఉంటుంది ఇది మేము n యొక్క T ఇప్పుడు ఈ కుడి అధికారికం,
సమస్య నడుస్తున్న సమయం ఇన్పుట్ వలె n somethings పడుతుంది
ఒక ఆఫ్ o పెద్ద సమానం N 2 కంటే తక్కువ ఉంటే.
కాబట్టి ఆ నియత వార్తలు.
N కంటే తక్కువ ఉంటే, స్పష్టతను 2, మేము అప్పుడు, చాలా చిన్న జాబితా కలిగి
n అనేది నడుస్తున్న సమయంలో n యొక్క, T, 1 లేదా 0, ఈ నిర్దిష్ట సందర్భంలో,
ఇది స్థిరంగా సమయంలో చేస్తాడు.
ఇది ఒక తీసుకోవాలని జరగబోతోంది సంసార, రెండు దశలు అడుగు.
ఇది దశలను ఒక స్థిర సంఖ్య ఉంది.
>> కాబట్టి జ్యుసి భాగం తప్పనిసరిగా ఉండాలి pseudocode లో ఇతర కేసు.
ELSE కేసు.
అంశాల క్రమీకరించు ఎడమ భాగంలో విధమైన హక్కు అంశాలు సగం క్రమబద్ధీకరించబడతాయి విభజించటం విలీనం.
ఆ దశలను ప్రతి ఎంతకాలం పడుతుంది?
Well, ఉంటే నడుస్తున్న n మూలకాలు క్రమం సమయం
ఉంది, దానిని చాలా కాల్ తెలియజేయండి సామాన్యముగా, T n యొక్క,
అప్పుడు ఎడమ సార్టింగ్ అంశాలు సగం
ఉంది, రకమైన, మాట్లాడుతూ వంటిది, 2 ద్వారా విభజించబడింది n యొక్క T,
మరియు అదేవిధంగా కుడి సగం సార్టింగ్ అంశాల ఉంది, రకమైన, మాట్లాడుతూ వంటిది,
N యొక్క T 2 విభజించబడింది, మరియు అప్పుడు క్రమబద్ధీకరించబడింది విభజించటం విలీనం జరిగింది.
సరే నేను పొందారు ఉంటే కొన్ని ఇక్కడ మూలకాల సంఖ్య,
నాలుగు, మరియు కొన్ని సంఖ్య వంటి ఇక్కడ అంశాల నాలుగు వంటి,
మరియు నేను ఈ నాలుగు ప్రతి విలీనం కలిగి లో, మరియు ఈ నాలుగు ప్రతి ఒక్కదానిలో
ఇతర తర్వాత, తద్వారా చివరికి నేను ఎనిమిది అంశాలను కలిగి ఉంటుంది.
ఇది ఆ n దశలను o పెద్దది అనుకుని?
నేను వేళ్లు మరియు ప్రతి n పొందారు వాటిని స్థానంలో విలీనం వుంటుంది,
మరొక n దశలను వంటిది.
>> కాబట్టి నిజంగా formulaically, మేము ఈ వ్యక్తీకరించవచ్చు
మొదటి వద్ద కొద్దిగా scarily అయితే చూపులో, కానీ అది ఏదో ఉంది
ఖచ్చితంగా ఆ తర్కం సంగ్రహించే.
నడుస్తున్న సమయంలో, T n యొక్క, ఒకవేళ N కంటే ఎక్కువ లేదా 2 కు సమానంగా ఉంటుంది.
ఈ సందర్భంలో, ఎల్స్ సందర్భంలో, n యొక్క T ఉంది 2 ద్వారా విభజించబడింది n యొక్క, ప్లస్ T 2 ద్వారా విభజించబడింది,
ప్లస్ n యొక్క O పెద్ద, కొన్ని దశలను సరళ సంఖ్య,
బహుశా సరిగ్గా n, బహుశా 2 సార్లు n, కానీ అది సుమారు n యొక్క ఆర్డర్ యొక్క.
కాబట్టి, చాలా, ఎలా మేము ఉంది formulaically ఈ వ్యక్తపరచటానికి.
ఇప్పుడు మీరు తప్ప ఈ తెలియదు మీరు మీ మనస్సు లో రికార్డ్ చేసిన
లేదా అది చూసేందుకు తిరిగి ఒక పాఠ్య పుస్తకం, ఆ
కొద్దిగా కలిగి ఉండవచ్చు చివరిలో షీట్ మోసగించు,
కానీ ఈ, నిజానికి, అన్నారు n లాగ్ n యొక్క O ఒక పెద్ద మాకు ఇవ్వాలని,
పునరావృత ఆ ఎందుకంటే మీరు తెరపై ఇక్కడ చూస్తున్నారని
మీరు నిజంగా, దాన్ని చేస్తే ఉదాహరణలు అసంఖ్యాక,
లేదా మీరు formulaically చేసియున్నారు, మీరు చేస్తాను , ఈ ఆ చూడండి ఈ సూత్రం ఎందుకంటే
యొక్క ట్ పునరావృత ఉంది n కుడివైపు ఏదో పైగా,
ఎడమ పైగా n యొక్క t మరియు, దీనిని నిజానికి వ్యక్తం అవుతుంది, చివరికి,
n లాగ్ n యొక్క పెద్ద ప్రయాణంలో.
ఒప్పించింది లేకపోతే, ఆ , ఇప్పుడు ఆ మంచిది కేవలం
నిజానికి ఆ ఆ, విశ్వాసం తీసుకోవాలని ఆ పునరావృత దారితీస్తుంది ఏమి,
కానీ ఈ ఒక కేవలం ఒక బిట్ మరింత ఉంది చూసేవారికి గణిత విధానం
విలీనంతో విధమైన నడుస్తున్న సమయంలో ఒంటరిగా దాని pseudocode ఆధారంగా.
>> ఇప్పుడు ఒక బిట్ తీసుకుందాం ఆ అన్ని నుండి breather,
మరియు ఒక పరిశీలించి కొన్ని మాజీ సెనేటర్, ఎవరు
కొద్దిగా తెలిసిన చూడండి ఉండవచ్చు, ఎవరు Google యొక్క ఎరిక్ కూర్చుండిరి
ఒక ఇంటర్వ్యూలో కోసం కొంత సమయం క్రితం ష్మిత్, వేదికపై, ఒక మొత్తం బంచ్ ముందు
ప్రజల, చివరికి గురించి మాట్లాడుతున్నారు ఒక విషయం, ఆ అందంగా ఇప్పుడు తెలిసిన.
యొక్క పరిశీలించి లెట్.
>> ఎరిక్ ష్మిత్: ఇప్పుడు సెనేటర్, మీరు Google వద్ద ఇక్కడ ఉన్నాము
మరియు నేను ఆలోచించడానికి ఇష్టపడతాను ఒక ఉద్యోగ ఇంటర్వ్యూ వంటి అధ్యక్ష.
ఇప్పుడు అది అధ్యక్షుడు గా ఉద్యోగంలో పొందడానికి కష్టం.
అధ్యక్షుడు ఒబామా: కుడి.
ఎరిక్ ష్మిత్: మీరు ఉన్నాము ఇప్పుడు [వినబడని] చేయబోవడం.
ఇది Google ఒక ఉద్యోగం పొందడానికి కూడా కష్టం.
అధ్యక్షుడు ఒబామా: కుడి.
>> ఎరిక్ ష్మిత్: మేము ప్రశ్నలు, మరియు మేము మా అభ్యర్ధులు ప్రశ్నలు అడగండి
మరియు ఈ ఒక లారీ స్క్విమ్మర్ నుండి.
>> అధ్యక్షుడు ఒబామా: సరే.
>> ఎరిక్ ష్మిత్: ఏమిటి?
మీరు అబ్బాయిలు నేను తమాషా థింక్ అయామ్?
ఇది కుడి ఇక్కడ ఉన్నారు.
అత్యంత ప్రభావవంతమైన మార్గం ఏమిటి ఒక మిలియన్ 32 బిట్ పూర్ణాంకాల క్రమం?
>> అధ్యక్షుడు ఒబామా: Well--
ఎరిక్ ష్మిత్: కొన్నిసార్లు, బహుశా నేను క్షమించండి, maybe--
అధ్యక్షుడు ఒబామా: లేదు, లేదు, లేదు, లేదు, లేదు, నేను think--
ఎరిక్ ష్మిత్: ఆ దానిని కాదు
అధ్యక్షుడు ఒబామా: నేను అనుకుంటున్నాను, నేను బబుల్ అనుకుంటున్నాను
సార్ట్ వెళ్ళడానికి తప్పు మార్గంలో ఉంటుందని.
ఎరిక్ ష్మిత్: న కమ్.
అతనికి ఈ చెప్పారు ఎవరు?
అలాగే.
నేను కంప్యూటర్ సైన్స్ కాదు మొదలైనవి
>> అధ్యక్షుడు ఒబామా: మేము చేసిన అక్కడ మా గూఢచారులు వచ్చింది.
ప్రొఫెసర్: అన్ని కుడి.
ఇప్పుడు మాకు వెనుక వదిలి లెట్ అల్గోరిథంలు యొక్క సైద్ధాంతిక ప్రపంచ
asymptotic విశ్లేషణలో వాటి, మరియు కొన్ని విషయాలు తిరిగి
వారం సున్నా మరియు ఒకటి, మరియు ప్రారంభం నుండి కొన్ని శిక్షణ చక్రాలు తొలగించడానికి,
మీరు రెడీ ఉంటే.
మీరు నిజంగా అర్థం కాబట్టి చివరికి గ్రౌండ్ నుంచి, ఏమిటి
, మీరు హుడ్ కింద జరగబోతోంది వ్రాయడానికి కంపైల్, మరియు కార్యక్రమాలు అమలు.
ఈ అని, ముఖ్యంగా గుర్తుకు మేము చూసాము మొదటి సి కార్యక్రమం
ఒక కానానికల్, సాధారణ ప్రోగ్రామ్ రకాల, సాపేక్షంగా మాట్లాడుతూ,
ఇందులో ఇది హలో ప్రపంచ ముద్రిస్తుంది.
నేను ప్రక్రియ అన్నారు గుర్తుచేసుకున్నారు సోర్స్ కోడ్ గుండా వెళుతుంది
సరిగ్గా ఈ ఉంది.
మీరు, మీ సోర్స్ కోడ్ పడుతుంది, పాస్ అది ఒక కంపైలర్ ద్వారా, గణగణమని ద్వని చేయు వంటి
మరియు బయటకు ఆ వస్తువు కోడ్ వస్తుంది ఈ సున్నాలు మరియు వాటిని లాగా ఉండవచ్చు
కంప్యూటర్ యొక్క CPU, కేంద్ర ఆ ప్రాసెసింగ్ యూనిట్ లేదా మెదడు,
చివరికి అర్థం.
>> ఇది ఒక అని అవుతుంది అతిసూక్ష్మీకరణ యొక్క బిట్,
మేము ఒక లో ఉన్నారు అని స్థానం వేరుగా బాధించటం
నిజంగా ఏమి అర్థం హుడ్ కింద జరగబోతోంది
మీరు అమలు ప్రతిసారీ గణగణమని ద్వని చేయు, లేదా మరింత సాధారణంగా,
ప్రతిసారీ మీరు ఒక ప్రోగ్రామ్ చేయడానికి చేయండి మరియు CF 50 IDE ఉపయోగించి.
ముఖ్యంగా, stuff వంటి ఈ మొదటి బడుతుంది
మీరు మొదటి మీ ప్రోగ్రామ్ కంపైల్.
ఇతర మాటలలో, మీరు మీ సోర్స్ కోడ్ పడుతుంది
మరియు ఏమి మొదటి, అది కంపైల్ గణగణమని ద్వని చేయు ద్వారా outputted చేస్తున్నారు
అసెంబ్లీ కోడ్ అంటారు ఏదో ఉంది.
నిజానికి, అది ఖచ్చితంగా ఈ కనిపిస్తోంది.
>> నేను ఒక కమాండ్ నడిచింది ముందు కమాండ్ లైన్.
గణగణమని ద్వని చేయు డాష్ రాజధాని లు hello.c, మరియు ఈ ఒక ఫైలు రూపొందించినవారు
నన్ను పిలిచి hello.s కోసం, లోపల ఇది సరిగ్గా ఉన్నాయి
ఈ విషయాలు, మరియు కొద్దిగా ఎక్కువ పైన మరియు క్రింద కొద్దిగా,
కానీ నేను juiciest ఉంచాము ఇక్కడ తెరపై సమాచారం.
మీరు దగ్గరగా చూస్తే, మీరు చూస్తారు కనీసం కొన్ని తెలిసిన కీలక పదాలు.
మేము ఎగువన ప్రధాన కలిగి.
మేము మధ్యలో డౌన్ printf కలిగి.
మరియు మేము కూడా ప్రపంచ హలో కలిగి డౌన్ క్రింద కోట్స్ లో బాక్ స్లాష్ n.
>> ఇక్కడ వేరే బలిజ చాలా తక్కువ స్థాయి సూచనలను ఉంది
కంప్యూటర్ యొక్క CPU అర్థం.
మెమరీ తరలించిన CPU ఆదేశాల చుట్టూ, మెమరీ నుండి ఆ లోడ్ తీగలను,
చివరకు, ముద్రణ తెరపై విషయాలు.
ఇప్పుడు ఏమి తర్వాత అయితే జరుగుతుంది ఈ అసెంబ్లీ కోడ్ ఉత్పత్తి ఉంది?
చివరకు, మీరు నిజానికి, ఏమి ఇప్పటికీ వస్తువు కోడ్ ఉత్పత్తి.
కానీ దశలను నిజంగా కలిగి హుడ్ కింద జరగబోతోంది చేశారు
ఈ వంటి ఒక చిన్న మరింత చూడండి.
సోర్స్ కోడ్, అసెంబ్లీ కోడ్ అవుతుంది ఇది అప్పుడు వస్తువు కోడ్ అవుతుంది,
మరియు ఇక్కడ ఆపరేటివ్ పదాలు, ఆ మీరు మీ సోర్స్ కోడ్ కంపైల్ చేసినప్పుడు,
అప్పుడు అసెంబ్లీ కోడ్, మరియు వస్తుంది మీరు మీ అసెంబ్లీ కోడ్ సిద్ధం చేసినప్పుడు,
బయటకు వస్తువు కోడ్ వస్తుంది.
>> ఇప్పుడు గణగణమని ద్వని చేయు, సూపర్ అధునాతన ఉంది కంపైలర్లు చాలా వంటి,
మరియు అది ఈ దశలను అన్ని చేస్తుంది కలిసి, మరియు అది సమస్య కాదు
అవుట్పుట్ ఏ ఇంటర్మీడియట్ మీరు కూడా చూడగలరు ఫైళ్లు.
ఇది కేవలం విషయాలు కూర్చింది సాధారణ పదం
ఈ మొత్తం ప్రక్రియ వర్ణిస్తుంది.
కానీ మీరు నిజంగా అనుకుంటే నిర్దిష్ట ఉండాలి, అక్కడ
చాలా అలాగే అక్కడ జరగబోతోంది.
>> కానీ యొక్క కూడా కూడా ఇప్పుడు పరిశీలిద్దాం ఆ సూపర్ సాధారణ ప్రోగ్రామ్, hello.c,
ఒక విధి అని.
ఇది printf అనే.
కానీ నేను నిజానికి, printf రాయడానికి లేదు కాబట్టి మాట్లాడటం, c వస్తుంది.
ఇది ఒక ఫంక్షన్ రీకాల్ వార్తలు ప్రామాణిక io.h లో ప్రకటించింది
ఒక శీర్షికా ఫైలును ఇది ఒక విషయం మేము నిజంగా కలుస్తాము
దీర్ఘ ముందు మరింత లోతు లోకి ప్రవేశిస్తాడు.
కానీ శీర్షికా ఫైలు సాధారణంగా కలిసి
కోడ్ ఫైల్ సోర్స్ కోడ్ ఫైలు, కాబట్టి ద్వారా ప్రామాణిక io.h. ఉంది చాలా వంటి
>> కొంతకాలం క్రితం, ఎవరైనా, లేదా ఎవరైనా, కూడా రాశారు
, ప్రామాణిక io.c అనే ఫైల్ ఇది వాస్తవ నిర్వచనాలు
లేదా printf అమలు, మరియు ఇతర విధులు పుష్పగుచ్ఛాలు,
నిజానికి రాస్తారు.
మేము కలిగి పరిగణలోకి ఉంటే, ఆ ఇచ్చిన ఇక్కడ వదిలి, hello.c లో, ఎప్పుడు ఆ
సంకలనం, కూడా, hello.s మాకు ఇస్తుంది గణగణమని ద్వని చేయు స్థానంలో పొదుపు ఇబ్బంది లేదు
మేము చూడండి, మరియు అసెంబ్లీ కోడ్ చేయవచ్చు hello.o, కూర్చవచ్చు పొందేందుకు
నిజానికి, డిఫాల్ట్ పేరు మీరు సోర్స్ కంపైల్ చేసినప్పుడు ఇచ్చిన
వస్తువు కోడ్ కోడ్, కానీ కాదు ఇంకా అది అమలు చాలా సిద్ధంగా,
మరొక అడుగు ఎందుకంటే జరిగే ఉంది, మరియు
గత కొన్ని కోసం జరుగుతున్న వారాలు, మీరు బహుశా తెలియకుండా.
>> ముఖ్యంగా ఎక్కడా CS50 IDE లో, మరియు ఈ
చాలా, ఒక బిట్ ఉంటుంది ఒక క్షణం కావొచ్చు,
ఉంది, లేదా ఒక సమయం మీద ఉంది, ప్రామాణిక io.c పిలువబడే ఒక ఫైల్,
ఎవరైనా లోకి సంకలనం ప్రామాణిక io.s లేదా సమానమైన
ఎవరైనా అమర్చిన ప్రామాణిక io.o లోకి,
లేదా అది ఒక లోకి అవుతుంది కొద్దిగా భిన్నంగా ఫైలు
వేరే కలిగి ఫార్మాట్ మొత్తంగా ఫైల్ పొడిగింపు,
సిద్ధాంతం మరియు సంభావితంగా, ఖచ్చితంగా కాని ఆ దశలను కొన్ని రూపంలో జరగాలి.
చెప్పేది ఇప్పుడు ఆ ఏది నేను ఒక కార్యక్రమం రాయడం ఉన్నపుడు,
hello.c, కేవలం చెప్పిన ఆ హలో వరల్డ్ మరియు నేను వేరొకరి కోడ్ ఉపయోగించి వెబ్
ఒక వన్స్ అపాన్ ఇది printf వంటి సమయం, ప్రామాణిక io.c పిలువబడే ఒక ఫైల్ లో,
అప్పుడు ఏదో నా తీసుకోవాలని వస్తువు కోడ్, నా సున్నాలు మరియు వాటిని,
మరియు ఆ వ్యక్తి యొక్క వస్తువు కోడ్, లేదా సున్నాలు మరియు వాటిని,
మరియు ఏదో వాటిని కలిసి లింక్ ఆ హలో అని ఒక చివరి ఫైలు,
ఉంది సున్నాలు అన్ని మరియు నా ప్రధాన విధి నుండి వాటిని,
మరియు సున్నాలు అన్ని మరియు printf కోసం వాటిని.
>> నిజానికి, ఆ చివరి ప్రక్రియ ఉంది అని, మీ వస్తువు కోడ్ లింకింగ్.
ఇది యొక్క అవుట్పుట్ ఒక ఎక్జిక్యూటబుల్ ఫైల్.
కాబట్టి న్యాయంగా, వద్ద రోజు, ఏమీ ముగింపు
వారం ఒక నుండి మార్చబడింది, మేము మొదటి కార్యక్రమాలు కంపైల్ ప్రారంభించారు.
నిజానికి, ఈ అన్ని ఉంది హుడ్ కింద జరుగుతున్న,
కానీ ఇప్పుడు మేము ఒక స్థానంలో ఉన్నాము ఇక్కడ మేము నిజానికి చెయ్యవచ్చు
ఈ వివిధ దశలను వేరుగా బాధించటం.
నిజానికి, చివరిలో రోజు, మేము ఇప్పటికీ ఉన్నారు
సున్నాలు మరియు వాటిని, తో విడిచిపెట్టిన ఒక గొప్ప segue ఇప్పుడు నిజానికి
సి యొక్క మరొక సామర్ధ్యం, ఆ మేము ఎక్కువగా పరపతి వచ్చింది చేసిన
తేదీ bitwise ఆపరేటర్లు అని పిలుస్తారు.
ఇతర మాటలలో, ఇప్పటివరకు, ఎప్పుడైనా మేము చేసిన సి సి లేదా చరరాశులు డేటా నిర్వహించాయి,
మేము వంటి విషయాలు కలిగి చేసిన అక్షరాలు మరియు తేలియాడుతున్న మరియు ఇన్లు
మరియు longs మరియు డబుల్స్ మరియు వంటి, కానీ ఆ అన్ని కనీసం ఎనిమిది బిట్స్ ఉంటాయి.
మేము ఇంకా చేయగలిగారు ఎప్పుడూ చేసిన వ్యక్తిగత బిట్స్ సవరించడానికి,
కూడా ఒక వ్యక్తి bit అయితే, మేము ఒక 0 మరియు ఒక 1 ప్రాతినిధ్యం తెలుసు.
ఇప్పుడు అది సి లో ఆ అవుతుంది, మీరు వ్యక్తిగత బిట్స్ యాక్సెస్ చేయవచ్చు,
మీరు వాక్యనిర్మాణం తెలిస్తే, ఇది వాటిని పొందడానికి.
>> కాబట్టి యొక్క పరిశీలించి తెలియజేయండి bitwise ఆపరేటర్లు వద్ద.
కాబట్టి ఇక్కడ పటంలో కొన్ని చిహ్నాలు అని మేము రకమైన విధమైన, ముందు చూసిన.
నేను ఒక నిలువు ఒక ఆంపర్సండ్ చిహ్నం చూడండి బార్, మరియు అలాగే కొన్ని ఇతరులు,
మరియు ఆ ఆంపర్సండ్ చిహ్నం గుర్తు మేము ముందు చూసిన విషయం.
మీరు అక్కడ తార్కిక మరియు ఆపరేటర్లు, వారిరువురూ, లేదా తార్కిక లేదా
ఆపరేటర్లు, మీరు ఎక్కడ రెండు నిలువు పట్టీలను కలిగి.
Bitwise ఆపరేటర్లు, ఇది మేము చేస్తాము వ్యక్తిగతంగా బిట్స్ న పనిచేస్తాయి చూడండి
కేవలం ఒకే ఆంపర్సండ్ చిహ్నం ఉపయోగించడానికి, ఒక వర్టికల్ బార్, కేరెట్ చిహ్నం
తదుపరి, చిన్న వస్తుంది టిల్డ్, అప్పుడు వదిలి
బ్రాకెట్ బ్రాకెట్ ఎడమ, లేదా కుడి బ్రాకెట్ కుడి బ్రాకెట్.
ఈ ప్రతి వేర్వేరు అర్ధాలను కలిగి.
>> నిజానికి, యొక్క ఒక రూపం తీసుకుందాం.
పాత పాఠశాల నేడు, మరియు ఉపయోగం వెళ్ళి తెలపండి ఒకప్పటి నుండి ఒక టచ్ స్క్రీన్,
ఒక వైట్ బోర్డ్ అని పిలుస్తారు.
మరియు ఈ వైట్ బోర్డు మాకు అనుమతిస్తుంది అన్నారు
కొన్ని నిరాడంబర చిహ్నాలు వ్యక్తం, లేదా బదులుగా కొన్ని నిరాడంబర సూత్రాలు,
మేము చివరికి అప్పుడు చెయ్యవచ్చు పరపతి, క్రమంలో
వ్యక్తిగత యాక్సెస్ ఒక సి కార్యక్రమం లోపల బిట్స్.
ఇతర మాటలలో, దీన్ని చూద్దాం.
ఒక కోసం లెట్స్ మొదటి చర్చ ఆంపర్సండ్ చిహ్నం గురించి క్షణం,
ఇది bitwise మరియు ఆపరేటర్.
ఇతర మాటలలో, ఈ అనుమతించే ఒక ఆపరేటర్లు
నాకు ఒక ఎడమ చేతి వేరియబుల్ కలిగి సాధారణంగా, మరియు ఒక కుడి చేతి వేరియబుల్,
లేదా ఒక వ్యక్తి విలువ, ఆ ఉంటే మేము మరియు కలిసి, వాటిని నాకు తుది ఫలితం ఇస్తుంది.
నేను అర్ధం ఏమిటి?
ఒక ప్రోగ్రామ్, మీరు ఒక వేరియబుల్ కలిగి ఉంటే ఈ విలువలు దుకాణాలు ఒకటి,
లేదా అది సాధారణ ఉంచడానికి, మరియు కేవలం వీలు వ్యక్తిగతంగా సున్నాలు మరియు వాటిని వ్రాయండి
ఆంపర్సండ్ చిహ్నం ఆపరేటర్లు పనిచేస్తుంది ఎలా ఇక్కడ.
0 ఆంపర్సండ్ చిహ్నం 0 0 సమానంగా అన్నారు.
ఇప్పుడు ఎందుకు అని?
>> ఇది చాలా పోలి వార్తలు బూలియన్ వ్యక్తీకరణలు,
మేము ఇప్పటివరకు చర్చించారు చేసిన.
మీరు అన్ని తర్వాత భావిస్తే, 0 తప్పుడు, 0, తప్పుడు మరియు తప్పుడు
మేము చర్చించారు గా, ఉంటుంది తార్కికంగా, కూడా తప్పు.
కాబట్టి మేము అలాగే ఇక్కడ 0 పొందండి.
మీరు 0 ఆంపర్సండ్ చిహ్నం తీసుకోకపోతే 1, బాగా, చాలా,
ఎందుకంటే ఈ కోసం, 0 అవతరిస్తుంది ఎడమ చేతి వ్యక్తీకరణ, నిజమైన లేదా 1 ఉండాలి
అది నిజమైన మరియు నిజమైన ఉండాలి వుంటుంది.
కానీ ఇక్కడ మేము తప్పుడు కలిగి మరియు నిజమైన, 0 లేదా 1.
ఇప్పుడు మళ్ళీ, మేము 1 ఆంపర్సండ్ చిహ్నం కలిగి ఉంటే 0, చాలా, 0 అవతరిస్తుంది అని,
మరియు మేము 1 ఆంపర్సండ్ 1 కలిగి ఉంటే, చివరకు మేము ఒక 1 బిట్ ఉన్నాయి.
కాబట్టి ఇతర మాటలలో, మేము చేయడం లేదు ఈ ఆపరేటర్లు ఆసక్తికరమైన ఏదైనా
ఇంకా, ఈ ఆంపర్సండ్ చిహ్నం ఆపరేటర్లు.
ఇది bitwise మరియు ఆపరేటర్ యొక్క.
కానీ ఈ పదార్థాలు ఇది ద్వారా మేము చేయవచ్చు
మేము వెంటనే చూస్తారు వంటి ఆసక్తికరమైన విషయాలు.
>> ఇప్పుడు కేవలం ఒకే చూద్దాం ఇక్కడ కుడివైపు పైగా నిలువు బార్.
నేను ఒక 0 బిట్ మరియు నేను కలిగి ఉంటే OR దానితో, bitwise
OR ఆపరేటర్లు, మరొక 0 బిట్, నాకు 0 ఇస్తుంది జరగబోతోంది.
నేను ఒక 0 బిట్ మరియు OR దానితో తీసుకోకపోతే ఒక 1 బిట్, అప్పుడు నేను 1 పొందడానికి వెళుతున్న.
నిజానికి, కేవలం స్పష్టత, నాకు తిరిగి వెళ్ళి తెలపండి
కాబట్టి నా నిలువు బార్లు 1 యొక్క పొరపాటు లేదు.
నాకు అన్ని తిరిగి లెట్ నా 1 కొంచెం వార్తలు
నేను ఉంటే స్పష్టంగా, కాబట్టి మేము తదుపరి చూడండి ఒక 1 లేదా 0, ఒక 1 చేస్తాడు చేశారు,
నేను 1 OR 1 ఒక కలిగి ఉంటే, చాలా, ఒక 1 అవతరిస్తుంది.
కాబట్టి మీరు తార్కికంగా చూడండి లేదా ఆ చేయవచ్చు ఆపరేటర్లు చాలా భిన్నంగా ప్రవర్తిస్తుంది.
, ఈ 0 నాకు ఇస్తుంది లేదా 0 నాకు 0 ఇస్తుంది కానీ ప్రతి ఇతర కలిపి నాకు 1 ఇస్తుంది.
సో లాంగ్ నేను ఒక 1 కలిగి ఫార్ములా, ఫలితంగా 1 అవతరిస్తుంది.
>> మరియు దీనికి విరుద్ధంగా ఆపరేటర్లు, ఆంపర్సండ్ చిహ్నం
నేను రెండు 1 యొక్క ఉంటే సమీకరణం, నేను నిజానికి ఒక 1 బయటకు వస్తుందా.
ఇప్పుడు కొన్ని ఇతర ఉంది నిర్వాహకులు అలాగే.
వాటిలో ఒకటి ఒక చిన్న మరింత సంక్లిష్టమైంది.
నాలో ముందుకు వెళ్లి వేయండి చూద్దాం ఈ కొన్ని ఖాళీని.
మరియు యొక్క పరిశీలించి తెలియజేయండి కేవలం ఒక క్షణం కేరెట్ చిహ్నం.
ఇది సాధారణంగా ఉంది పాత్ర మీరు టైప్ చేయవచ్చు
మీ కీబోర్డ్ హోల్డింగ్ Shift మరియు మీ సంయుక్త పైన సంఖ్యలు ఒకటిగా
కీబోర్డు.
>> కాబట్టి ఈ ప్రత్యేకమైన OR ఆపరేటర్లు, ప్రత్యేకమైన OR.
కాబట్టి మేము కేవలం OR ఆపరేటర్లు చూసింది.
ఈ ప్రత్యేకమైన OR ఆపరేటర్.
నిజానికి తేడా ఏమిటి?
Well యొక్క కేవలం సూత్రం చూద్దాం మరియు చివరికి పదార్థాలు ఉపయోగించడానికి.
0 XOR 0.
నేను చెప్పడానికి వెళుతున్నాను ఎల్లప్పుడూ 0 ఉంది.
ఆ XOR యొక్క నిర్వచనం ఉంది.
0 XOR 1 1 అవతరిస్తుంది.
1 XOR 0, 1 అవతరిస్తుంది మరియు 1 XOR 1 అవతరిస్తుంది?
తప్పు?
లేక కుడి?
నాకు తెలీదు.
0.
ఇప్పుడు ఇక్కడ ఏమి జరుగుతుందో?
గురించి అనుకుంటున్నాను ఈ ఆపరేటర్లు పేరు.
ప్రత్యేకమైన OR, కాబట్టి పేరు రకమైన, సూచిస్తుంది
సమాధానం మాత్రమే అవతరిస్తుంది ఒక 1 ఇన్పుట్లను ప్రత్యేకమైనవి ఉంటే,
ప్రత్యేకంగా వివిధ.
కాబట్టి ఇక్కడ ఇన్పుట్లను ఉన్నాయి అదే, కాబట్టి అవుట్పుట్ 0.
ఇక్కడ ఇన్పుట్లను ఉన్నాయి అదే, కాబట్టి అవుట్పుట్ 0.
ఇక్కడ ఉద్గాతాలు వారు భిన్నంగా ఉంటాయి ప్రత్యేకమైనవి, మరియు అందువలన అవుట్పుట్ 1 ఉంది.
కాబట్టి దానికి సమానమైన మరియు, అది చాలా పోలి ఉంది
లేదా బదులుగా పోలిన వార్తలు OR, కానీ మాత్రమే ఒక ప్రత్యేక విధంగా.
ఈ ఒక, ఇకపై ఒక 1 మేము రెండు 1 యొక్క ఎందుకంటే,
మరియు ప్రత్యేకంగా కాదు వాటిలో కేవలం ఒకటి.
అయితే సరే.
ఇతరులు గురించి?
బాగా టిల్డ్, మరోవైపు, ఉంది నిజానికి nice మరియు సాధారణ, కృతజ్ఞతగా.
మరియు ఈ ఒక unary ఉంది అంటే ఆపరేటర్లు,
అది మాత్రమే ఇన్పుట్ వర్తించబడుతుంది ఒక operand, మాట్లాడటానికి.
Not a ఎడమ మరియు కుడి కు.
ఇతర మాటలలో, మీరు టిల్డ్ తీసుకుంటే 0, సమాధానం సరసన ఉంటుంది.
మరియు మీరు 1 టిల్డ్ తీసుకుంటే, సమాధానం సరసన ఉంటుంది.
కాబట్టి టిల్డ్ ఆపరేటర్ ఒక బిట్ వ్యతిరేకంగా ఒక మార్గం,
లేదా నుండి ఒక బిట్ వేగంగా కదలటం 0 1, లేదా 0 1.
>> మరియు ఆ చివరకు మాకు ఆకులు కేవలం రెండు ఆఖరి ఆపరేటర్లు,
ఎడమ షిఫ్ట్ అని పిలవబడే, మరియు కుడి షిఫ్ట్ ఆపరేటర్ అని పిలవబడే.
యొక్క ఎలా ఆ పని వద్ద ఒక లుక్ తీసుకుందాం.
వ్రాసిన ఎడమ షిఫ్ట్ ఆపరేటర్లు, ఆ వంటి రెండు బ్రాకెట్లు తో,
క్రింది విధంగా నిర్వహిస్తోంది.
ఉంటే ఎడమ నా ఇన్పుట్, లేదా నా operand, షిఫ్ట్ ఆపరేటర్ చాలా సరళంగా ఒక 1 ఉంది.
నేను అప్పుడు కంప్యూటర్ చెప్పండి 1, ఏడు స్థానాలు పేర్కొన్నట్లు షిఫ్ట్,
ఫలితంగా నేను అయితే గా ఉంది ఆ 1 పడుతుంది, మరియు తరలించే
పైగా ఏడు స్థానాలు ఎడమ, సిద్ధ,
మేము ఊహించుకోవటం చూడాలని కుడివైపున ఉన్న ప్రదేశాన్ని
సున్నాలు తో మందంగా కావడం.
ఇతర మాటలలో, 1 షిఫ్ట్ 7 అన్నారు ఎడమ తరువాత, 1 నాకు ఇవ్వాలని ద్వారా 1, 2, 3,
4, 5, 6, 7 సున్నాలు.
ఒక విధంగా, అది మీరు అనుమతిస్తుంది 1 వంటి చిన్న సంఖ్య పడుతుంది
మరియు మరింత స్పష్టంగా అది చేయడానికి ఈ విధంగా చాలా పెద్ద, చాలా,
కానీ మేము నిజంగా చూడండి చూడాలని అది మరింత తెలివైన విధానాలు
బదులుగా, అలాగే,
>> అయితే సరే.
ఆ వారం మూడు అంతే.
మేము మీరు ఈసారి చూస్తారు.
ఈ CS50 ఉంది.
>> [సంగీతాన్ని]
>> SPEAKER 1: అతను అల్పాహారం వద్ద ఉంది ఒక హాట్ ఫడ్జ్ సండే తినడం బార్.
అతను తన ముఖం మీద అన్ని వచ్చింది.
అతను ఒక గడ్డం వంటి ఆ చాక్లెట్ వేసుకొని
SPEAKER 2: మీరు ఏం చేస్తున్నారు?
SPEAKER 3: మ్?
ఏమిటి?
>> SPEAKER 2: మీరు కేవలం డబుల్ డిప్ తెలుసా?
మీరు డబుల్ చిప్ ముంచిన.
SPEAKER 3: ఎక్స్క్యూజ్.
SPEAKER 2: మీరు, మీరు చిప్ ముంచిన ఒక కాటు పట్టింది, మరియు మీరు మళ్ళీ ముంచిన.
SPEAKER 3:
SPEAKER 2: ఆ వంటింది కాబట్టి డిప్ లో మీ మొత్తం నోరు కుడి.
ఈసారి మీరు, ఒక చిప్ పడుతుంది కేవలం ఒకసారి అది ముంచుట, మరియు అది ముగుస్తుంది.
>> SPEAKER 3: మీరు, డాన్ ఏమి?
మీరు ముంచు కావలసిన విధంగా ముంచుట.
నేను ముంచుట కావలసిన విధంగా ముంచుట చేస్తాము.