Kas yra kompiuteriniai algoritmai ir kaip jie veikia?

Turinys:

Kas yra kompiuteriniai algoritmai ir kaip jie veikia?
Kas yra kompiuteriniai algoritmai ir kaip jie veikia?

Video: Kas yra kompiuteriniai algoritmai ir kaip jie veikia?

Video: Kas yra kompiuteriniai algoritmai ir kaip jie veikia?
Video: My First Day in GEORGIA! 🇬🇪 | Walking Tour | Solo Travel Batumi | Georgia Travel Vlog (Ep. 1) - YouTube 2024, Balandis
Anonim
Jei nebūsite matematikos ar programavimo, žodis "algoritmas" gali būti jums graikų kalbos, tačiau jis yra vienas iš visų dalykų, kuriuos naudojate perskaityti šį straipsnį. Štai greitas paaiškinimas, kas jie yra, ir kaip jie veikia.
Jei nebūsite matematikos ar programavimo, žodis "algoritmas" gali būti jums graikų kalbos, tačiau jis yra vienas iš visų dalykų, kuriuos naudojate perskaityti šį straipsnį. Štai greitas paaiškinimas, kas jie yra, ir kaip jie veikia.

Atsakomybės apribojimas: aš nesu matematikos ar kompiuterių mokslo mokytojas, todėl ne visi mano vartojami terminai yra techniniai. Taip yra todėl, kad bandau paaiškinti viską paprastąja anglų kalba, nes žmonėms matematika nėra visiškai patogi. Tai sakant, yra keletas matematikos, ir tai neišvengiama. Matematikos geeksai, pasistenkite ištaisyti ar geriau paaiškinti komentaruose, bet prašome palikti jį paprastą matematiškai nepasitikėję tarp mūsų.

Vaizdas pagal Ian Ruotsala

Kas yra algoritmas?

Žodis "algoritmas" turi etimologiją, panašią į "algebra", išskyrus tai, kad tai yra pats arabų matematikas, al-Khwarizmi (tiesiog įdomus tibetas). Algoritmas tarp mūsų esančių neprogramuotojų yra instrukcijų rinkinys, kuris imasi įvesties, A ir pateikia išvestį B, kuris tam tikru būdu pakeičia duomenis. Algoritmai turi platų programų spektrą. Matematiškai jie gali padėti apskaičiuoti funkcijas iš taškų duomenų rinkinyje, tarp daug daugiau pažengusių dalykų. Nepaisant to, kad jie naudojami programuojant save, jie atlieka pagrindinius vaidmenis tokiose srityse kaip failų suspaudimas ir duomenų šifravimas.

Pagrindinis instrukcijų rinkinys

Tarkime, kad jūsų draugas susitinka su tavo parduotuvių parduotuvėje ir nukreipi jį į tave. Jūs sakote tokius dalykus kaip "eikite per dešinę pusę", "praeikite žuvų sekciją kairėje" ir "jei pamatysite pieną, tu mane išlaikei". Tokie algoritmai veikia taip. Mes galime naudoti srautų schemą, kad iliustruotume instrukcijas, paremtas kriterijais, kuriuos žinome anksčiau, arba išsiaiškinome proceso metu.

(paveikslėlis "Icebreaking Routine" EDIT: mandagumo "Trigger" ir "Freewheel")
(paveikslėlis "Icebreaking Routine" EDIT: mandagumo "Trigger" ir "Freewheel")

Nuo START galite nukristi į kelią ir, priklausomai nuo to, kas atsitiks, atlikite "srautą" iki galutinio rezultato. Diagrama yra vizuali priemonė, kuri suprantamesnė gali būti kompiuterių instrukcijų rinkinys. Panašiai algoritmai taip pat padeda atlikti daugiau matematikos modelių.

Grafikai

Leiskite naudoti diagramą, kad pademonstruotume įvairius būdus, kaip galėtume duoti nurodymus.

Šią diagramą galime išreikšti kaip ryšį tarp visų jo taškų. Kad atkurtume šį vaizdą, mes galime pateikti instrukcijų rinkinį kam nors kitam.
Šią diagramą galime išreikšti kaip ryšį tarp visų jo taškų. Kad atkurtume šį vaizdą, mes galime pateikti instrukcijų rinkinį kam nors kitam.

1 metodas

Mes galime atstovauti tai kaip taškų seriją, o informacija atitiks standartinę diagramos formą = {(x1, y1), (x2, y2), …, (xn, yn)}.

graph = {(0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1)}

Kiekvienas taškas yra gana lengvas, vienas po kito, ir prijunkite juos prie ankstesnio taško. Tačiau įsivaizduokite grafiką su tūkstančiais taškų arba keliais segmentais, kurie visi vyksta kiekvienu būdu. Tame sąraše būtų daug duomenų, tiesa? Ir tada, prijungti kiekvieną iš jų, po vieną, gali būti skausmas.

2 metodas

Kitas dalykas, kurį mes galime padaryti, yra atspirties taškas, linijos nuolydis tarp jo ir kito taško ir nurodykite, kur tikėtis kito taško, naudodamas standartinę diagramos formą = {(pradinis taškas), [m1, x1, h1 ], …, [mn, xn, hn]}. Čia kintamasis "m" žymi linijos nuolydį, "x" reiškia skaičiavimo kryptį (ar x arba y), o "h" nurodo, kaip daugelis gali suskaičiuoti šia kryptimi. Taip pat galite prisiminti, kad po kiekvieno judesio suplanuokite tašką.

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [-3,x,1], [-3,x,1]}

Jūs pateksite į tą pačią diagramą. Galite matyti, kad paskutiniai trys šio išraiško terminai yra vienodi, todėl galime juos sumažinti, tiesiog sakydami "pakartokite tris kartus" tam tikru būdu. Tarkime, kad visada, kai pasirodys kintamasis "R", tai reiškia pakartoti paskutinį dalyką. Mes galime tai padaryti:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [R=2]}

Ką daryti, jei atskiri taškai iš tiesų nėra svarbūs, ir tik pati schema? Galime sustiprinti tuos paskutinius tris skyrius taip:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,3]}

Tai sutrumpina dalykus šiek tiek nuo to, kur jie anksčiau.

3 metodas

Pabandykime tai padaryti kitu būdu.

y=0, 0≤x≤3 x=0, 0≤y≤3 y=x, 3≤x≤5 y=2.5x-7.5, 5≤x≤7 y=-3x+29, 7≤x≤8 y=-3x+29, 8≤x≤9 y=-3x+29, 9≤x≤10

Čia mes turime tai gryna algebrine prasme. Dar kartą, jei patys punktai nesvarbu, ir tik grafika, galime sujungti tris paskutinius elementus.

y=0, 0≤x≤3 x=0, 0≤y≤3 y=x, 3≤x≤5 y=2.5x-7.5, 5≤x≤7 y=-3x+29, 7≤x≤10

Dabar, koks pasirinktas metodas priklauso nuo jūsų sugebėjimų. Galbūt jūs puikiai naudojate matematiką ir grafiką, todėl pasirenkate paskutinę parinktį. Galbūt jūs gerai naršate, todėl pasirenkate antrą variantą. Tačiau kompiuterių srityje jūs atliekate daugybę įvairių užduočių, o kompiuterio galimybės iš tikrųjų nesikeičia. Todėl algoritmai yra optimizuoti užduotims, kurias jie baigia.

Kitas svarbus dalykas yra tai, kad kiekvienas metodas remiasi raktu. Kiekvienas instrukcijų rinkinys yra nenaudingas, nebent jūs žinote, ką daryti su jais. Jei nežinote, kad jūs turėtumėte suplanuoti kiekvieną tašką ir sujungti taškus, pirmasis taškų rinkinys nereiškia nieko. Jei nenorite žinoti, kas antrasis metodas reiškia kiekvieną kintamąjį, jūs nežinote, kaip juos taikyti, taip pat kaip ir šifro raktą. Šis raktas taip pat yra neatsiejama algoritmų naudojimo dalis, ir dažnai šis raktas randamas bendruomenėje arba per "standartą".

Failų suspaudimas

Kai atsisiųsite.zip failą, ištrauksite turinį, kad galėtumėte naudoti viską, kas yra jo viduje.Šiuo metu dauguma operacinių sistemų gali pasinerti į.zip failus, kaip jie buvo įprasti aplankai, daro viską fone. Mano "Windows 95" aparate prieš dešimtmetį turėjau viską išgauti rankiniu būdu, kol aš negalėjau pamatyti daugiau nei failų pavadinimai. Tai, nes tai, kas buvo saugoma diske kaip.zip failas, nebuvo naudojama forma. Pagalvokite apie ištraukiamą sofą. Jei norite jį naudoti kaip lovą, turite pašalinti pagalvę ir ją atsukti, kad užtruks daugiau vietos. Kai jums to nereikia arba norite jį perkelti, galite jį sulankstyti.

Suspaudimo algoritmai yra koreguojami ir optimizuojami konkrečiai tų failų tipams, kuriems jie skirti. Pavyzdžiui, garso formatais naudojamas kitoks būdas saugoti duomenis, kurie, dekoduojami garso kodeku, duos garso failą, panašų į pradinę bangos formą. Norėdami gauti daugiau informacijos apie šiuos skirtumus, peržiūrėkite ankstesnį straipsnį, kokie skirtumai tarp visų šių garso formatų? Lossless garso formatais ir.zip failais yra vienas bendras dalykas: jie abu pradinius duomenis pateikia tikslia forma po dekompresijos proceso. Trūkstami garso kodekai naudoja kitas priemones, kaip taupyti disko vietos, pvz., Dažnius, kuriuos galima išgirsti žmogaus ausis, ir išlyginti skirsnyje esančią bangų formą, kad atsikratytų kai kurių detalių. Galų gale, nors mes galbūt negalėsime išgirsti skirtumo tarp MP3 ir kompaktinių plokštelių, tikrai yra informacijos trūkumas pirmojoje.

Duomenų šifravimas

Algoritmai taip pat naudojami saugant duomenis ar ryšių linijas. Užuot saugoję duomenis, kad būtų naudojama mažiau vietos diske, ji saugoma tokiu būdu, kurio negalima aptikti kitų programų. Jei kas nors pavogs kietąjį diską ir pradės jį nuskaityti, jis gali surinkti duomenis netgi ištrinant failus, nes pats jų duomenys vis dar yra, net jei peradresavimo vieta jai pasibaigė. Kai duomenys yra šifruojami, tai, kas yra saugoma, neatrodo, kokia ji yra. Paprastai ji atrodo atsitiktinai, tarsi susikaupė laikas. Taip pat galite saugoti duomenis ir rodyti jį kaip kitą failo tipą. Vaizdo failai ir muzikos failai yra naudingi, nes, pavyzdžiui, jie gali būti gana dideli. Visa tai daroma naudojant matematinius algoritmus, kurie imasi tam tikros įvesties ir konvertuoja jį į kitą, labai specifinį produkcijos tipą. Daugiau informacijos apie tai, kaip veikia šifravimas, žr. HTG Paaiškina, kas yra šifravimas ir kaip jis veikia?
Algoritmai taip pat naudojami saugant duomenis ar ryšių linijas. Užuot saugoję duomenis, kad būtų naudojama mažiau vietos diske, ji saugoma tokiu būdu, kurio negalima aptikti kitų programų. Jei kas nors pavogs kietąjį diską ir pradės jį nuskaityti, jis gali surinkti duomenis netgi ištrinant failus, nes pats jų duomenys vis dar yra, net jei peradresavimo vieta jai pasibaigė. Kai duomenys yra šifruojami, tai, kas yra saugoma, neatrodo, kokia ji yra. Paprastai ji atrodo atsitiktinai, tarsi susikaupė laikas. Taip pat galite saugoti duomenis ir rodyti jį kaip kitą failo tipą. Vaizdo failai ir muzikos failai yra naudingi, nes, pavyzdžiui, jie gali būti gana dideli. Visa tai daroma naudojant matematinius algoritmus, kurie imasi tam tikros įvesties ir konvertuoja jį į kitą, labai specifinį produkcijos tipą. Daugiau informacijos apie tai, kaip veikia šifravimas, žr. HTG Paaiškina, kas yra šifravimas ir kaip jis veikia?

Algoritmai yra matematiniai įrankiai, kurie teikia įvairius dalykus informacinių technologijų srityje. Jie stengiasi nuosekliai pateikti kelią tarp pradinio taško ir pabaigos taško ir pateikti instrukcijas, kaip jį sekti. Sužinok daugiau nei tai, ką paryškinome? Pasidalykite savo paaiškinimais komentaruose!

Rekomenduojamas: