[MUSIC ప్లే] ZAMYLA చాన్: మీరు వాటిని మొదటి విషయం కనుగొనడానికి గురించి నోటీసు అని మేము ఇప్పటికే కోడ్ మాకు వ్రాశారు. ఈ పంపిణీ కోడ్ అంటారు. కాబట్టి మేము మా సొంత రాయడం లేదు ఇకపై మొదటి నుండి కోడ్. అయితే, మేము శూన్యాలు పూరించి చేస్తున్నారు కొన్ని ముందుగా ఉన్న కోడ్ లో. find.c కార్యక్రమం సంఖ్యలు చేయమని గడ్డివాము పూరించడానికి, శోధిస్తుంది ఒక యూజర్ సమర్పించిన సూది కోసం గడ్డివాము, మరియు విధమైన కాల్ మరియు ద్వారా ఈ చేస్తుంది శోధన, విధులు నిర్వచించిన helpers.c లో. కాబట్టి find.c ఈశ్వర్. మీ ఉద్యోగ సహాయకులు వ్రాయండి. కాబట్టి మేము ఏమి చేస్తున్నావు? మేము రెండు విధులు అమలు చేస్తున్నారు. నిజమైన తిరిగి శోధన, విలువ తిరిగి, గడ్డివాము కనుగొనబడింది తప్పుడు విలువ ఉంటే కాదు గడ్డివాము. మరియు తర్వాత మేము కూడా విధమైన అమలు చేస్తున్నారు ఇది విలువలు అనే రకాల శ్రేణి. కాబట్టి యొక్క శోధన పరిష్కరించడానికి వీలు. శోధన ప్రస్తుతం ఒక అమలుపరచబడుటుంది సరళ శోధన, కానీ మీరు చాలా చేయవచ్చు దీనికన్నా. లీనియర్ శోధన O అమలవుతుంది n సమయం, ఇది చాలా నెమ్మదిగా ఉంది. , ఇది శోధించవచ్చు ఇచ్చిన ఏ జాబితా. మీ ఉద్యోగ బైనరీ శోధన అమలు చేయడం లాగ్ n యొక్క సమయం O అమలు ఇది. ఆ అందమైన వేగవంతమైనది. కానీ ఒడంబడిక ఉంది. బైనరీ శోధన మాత్రమే శోధించవచ్చు ముందు క్రమబద్ధీకరించబడింది జాబితాలు ద్వారా. ఎందుకు అని? Well యొక్క ఒక ఉదాహరణ చూద్దాం. విలువలు వ్యూహం కారణంగా, గడ్డివాము, మేము చూస్తున్న కావడం ఒక సూది కోసం. మరియు ఈ ఉదాహరణ, పూర్ణాంక మూడు. బైనరీ శోధన పనిచేసే విధంగా అని మేము మధ్యలో విలువ సరిపోల్చండి చాలా వంటి సూది యెరే, ఎలా మేము మధ్య ఒక ఫోన్ పుస్తకం ప్రారంభించారు వారం సున్నా లో పేజీ. కాబట్టి మధ్య విలువ పోల్చడం తర్వాత సూది, మీరు విసర్జించును ఎడమ లేదా యెరే యొక్క కుడి సగం మీ హద్దులు కఠినతరం చేయడం. ఈ సందర్భంలో, మూడు నుండి మా సూది, కంటే తక్కువ 10, మధ్య విలువ ఉంది కుడి కట్టుబడి తగ్గిపోతుంది. కానీ మీ హద్దులు చేయడానికి ప్రయత్నించండి వీలైనంత గట్టిగా. మధ్య విలువ సూది లేకపోతే, మీరు అవసరం లేదు తెలుసు మీ శోధన లో ఉంటాయి. కాబట్టి మీరు సరైన కట్టుబడి ఉన్నాము బిగించి చేయవచ్చు కేవలం ఒక చిన్న బిట్ మరింత శోధన హద్దులు, అందువలన న మొదలగునవి వరకు మీరు మీ సూది కనుగొనేందుకు. కాబట్టి ఏమి pseudocode ఎలా చేస్తుంది? మేము ఇంకా చూస్తున్న బాగా అయితే జాబితా మరియు ఇప్పటికీ అంశాలను కలిగి లో చూడండి, మేము, జాబితా మధ్యలో తీసుకుని మరియు ఆ మధ్య విలువ సరిపోల్చండి మా సూది. వారు సమాన ఉన్నారు, ఆ ఉన్నాను అర్థం సూది దొరకలేదు మరియు మేము నిజమైన తిరిగి. లేకపోతే, సూది కంటే తక్కువ ఉంటే మధ్య విలువ, మనము అర్థం కుడి సగం తొలగించాలనుకుంటున్నారా మరియు కేవలం చేయవచ్చు యెరే యొక్క ఎడమ వైపు అన్వేషణ. లేకపోతే, మేము శోధన చేస్తాము యెరే యొక్క కుడివైపు. మరియు చివరిలో, మీరు ఏ లేదు మరింత అన్వేషణ ఎడమ అంశాలు కానీ మీరు మీరు, ఇంకా మీ సూది దొరకలేదు తప్పుడు తిరిగి ఎందుకంటే సూది ఖచ్చితంగా గడ్డివాము కాదు. ఈ pseudocode గురించి ఇప్పుడు ఒక చక్కని విషయం బైనరీ శోధన ఇది చేయవచ్చు పునరుత్థాన గాని వ్యాఖ్యానించబడింది లేదా పునరావృత అమలు. మీరు అని చేస్తే ఇది పునరావృత ఉంటుంది శోధన శోధన ఫంక్షన్ అర్రే గాని సగం లో పనిచేయడం. మేము ఒక బిట్ తర్వాత సూత్రం కవర్ చేస్తాము అయితే, కాని అది ఒక అని తెలుసు ఎంపిక ప్రయత్నించండి చెయ్యాలనుకుంటే. ఇప్పుడు విధమైన చూద్దాం. క్రమీకరించు వ్యూహం మరియు పూర్ణాంక పడుతుంది శ్రేణి యొక్క పరిమాణం n,. ఇప్పుడు వివిధ రకాల ఉన్నాయి రకాల, మరియు మీరు కొన్ని చూడవచ్చు ప్రదర్శనలు మరియు వివరణలు కోసం లఘు చిత్రాలు. కోసం తిరిగి టైప్ మా విధమైన ఫంక్షన్ నిరర్ధకమయినది. కాబట్టి మేము వెళ్ళి లేదు అర్థం విధమైన నుండి ఏ వ్యూహం తిరిగి. మేము నిజంగా చాలా మార్చడానికి వెళుతున్న మాకు లోకి ఆమోదించింది ఆ శ్రేణి. శ్రేణుల ఉంటాయి ఎందుకంటే ఆ అవకాశం మేము ఇప్పుడు C. నేర్పుతున్న చేస్తాము జారీ ఈ గురించి మరింత చూడండి, కానీ పాస్ మధ్య ముఖ్యమైన వ్యత్యాసం పూర్ణాంకం ఉత్తీర్ణతకు లాగ వ్యూహంలో, అని మీరు పూర్ణాంకం లో పాస్, సి కేవలం అన్నారు ఆ పూర్ణాంక ఒక కాపీని మరియు పాస్ ఫంక్షన్ కి. అసలు వేరియబుల్ మారుస్తున్నారని ఫంక్షన్ పూర్తి ఒకసారి. వ్యూహం తో, మరోవైపు, ఇది ప్రతిని సిధ్ధంగా, మరియు మీరు కాదు నిజానికి సవరణ చాలా శ్రేణి కూడా. కాబట్టి విధమైన ఒకటి రకం ఎంపిక విధమైన. ఎంపిక విధమైన మొదలుపెడుతూ పనిచేస్తుంది మీరు iterate అప్పుడు ప్రారంభంలో, మరియు మరియు చిన్న మూలకం కనుగొనేందుకు. ఆపై మీరు స్వాప్ చిన్న మొదటి ఒక మూలకం. మరియు మీరు రెండవ మూలకం తరలించడానికి , తదుపరి చిన్న కనుగొనేందుకు అప్పుడు మూలకం, మరియు స్వాప్ తో శ్రేణి రెండవ మూలకం ఎందుకంటే మొదటి మూలకం ఇప్పటికే క్రమబద్ధీకరించబడింది. అందువలన మీరు ప్రతి కొనసాగుతుందని చిన్న గుర్తించడం మూలకం విలువ మరియు దీనిని ఇచ్చిపుచ్చుకోవడం. నేను 0, మొట్టమొదటి అంశం సమానం కోసం n మైనస్ 1 చేయడానికి, మీరు పోల్చి చూడాలని ప్రతి తదుపరి ఆ తర్వాత విలువ మరియు కనుగొనడానికి కనీస విలువ యొక్క సూచిక. మీరు కనీస విలువ ఇండెక్స్ కనుగొనడానికి, మీరు శ్రేణి విలువ స్వాప్ చేయవచ్చు కనీస యెరే I. విధమైన మరొక రకం అని మీరు అమలు బబుల్ సార్ట్ ఉంది. జాబితా పై బబుల్ సార్ట్ iterates ప్రక్కనే అంశాలు మరియు పోల్చడం అంశాలు ఇచ్చిపుచ్చుకోవడంతో తప్పు క్రమంలో ఉంటాయి. మరియు ఈ విధంగా అతిపెద్ద మూలకం బబుల్ చివర రెడీ. మరియు జాబితా ఒకసారి ఎక్కువ క్రమబద్ధీకరించబడింది ఎలిమెంట్లను మార్చుకున్నారు కలిగి. కాబట్టి ఆ విధమైన రెండు ఉదాహరణలు మీరు అమలు చేసే అల్గోరిథంలు కనుగొనండి కార్యక్రమం. మీరు విధమైన పూర్తి, మరియు మీరు ఒకసారి శోధన పూర్తి, పనయ్యాక. నా పేరు Zamyla ఉంది, మరియు ఈ CS50 ఉంది. [MUSIC ప్లే]