Mik azok a számítógépes algoritmusok, és hogyan működnek?

Tartalomjegyzék:

Mik azok a számítógépes algoritmusok, és hogyan működnek?
Mik azok a számítógépes algoritmusok, és hogyan működnek?

Videó: Mik azok a számítógépes algoritmusok, és hogyan működnek?

Videó: Mik azok a számítógépes algoritmusok, és hogyan működnek?
Videó: 5 Resume Mistakes You MUST Avoid (with real examples)! - YouTube 2024, Április
Anonim
Hacsak matematikába vagy programozásba nem jársz, az "algoritmus" szó görög lehet, de ez az egyik építőköve mindaznak, amiket használsz a cikk olvasásához. Íme egy gyors magyarázat arról, hogy ők, és hogyan működnek.
Hacsak matematikába vagy programozásba nem jársz, az "algoritmus" szó görög lehet, de ez az egyik építőköve mindaznak, amiket használsz a cikk olvasásához. Íme egy gyors magyarázat arról, hogy ők, és hogyan működnek.

Felelősség kizárása: Nem vagyok matematika vagy számítástechnikai tanár, tehát nem minden technikai megoldás. Ez azért van, mert mindent megpróbálok elmagyarázni egyszerű angol nyelven, mert az emberek nem eléggé kényelmesek a matematikával. Ezt mondják, van valamilyen matematika, és ez elkerülhetetlen. Math geeks, nyugodtan kijavíthatja vagy magyarázhatja meg a megjegyzéseket, de kérem, egyszerűen tartsuk meg a matematikailag disinclined közöttünk.

Kép: Ian Ruotsala

Mi az algoritmus?

Az "algoritmus" szónak olyan etimológiája van, mint az "algebra", kivéve, hogy maga az arab matematikus, az al-Khwarizmi (csak egy érdekes dolog). Az algoritmus a nem programozók között olyan utasítások halmaza, amelyek egy bemenetet (A) tartalmaznak, és egy B kimenetet adnak, amely valamilyen módon módosítja az adatokat. Az algoritmusok számos alkalmazást tartalmaznak. A matematikában segítenek kiszámolni a funkciókat az adatkészlet pontjai közül, a sokkal fejlettebb dolgok között. Eltekintve attól, hogy használják-e a programozásban, fontos szerepet játszanak például a fájlok tömörítésében és az adatok titkosításában.

Az utasítások alapvető készlete

Tegyük fel, hogy a barátja találkozik Önnel egy élelmiszerboltban, és maga felé vezeti. Olyan dolgokat mondasz, mint "jöjj be a jobb oldali ajtókon", "menj át a bal oldalon lévő halrészen", és "ha látod a tejet, átmentél." Az algoritmusok így működnek. Használhatunk egy folyamatábra illusztrálását olyan utasítások alapján, amelyekre korábban ismertek, vagy a folyamatban.

("Icebreaking Routine" címû kép: EDIT: a Trigger és a FreeWheel jóvoltából)
("Icebreaking Routine" címû kép: EDIT: a Trigger és a FreeWheel jóvoltából)

A START-tól kezdve leállsz az úton, és attól függően, hogy mi történik, követed az "áramlást" egy végeredményhez. A folyamatábrák olyan vizuális eszközök, amelyek érthetőbb módon a számítógépek által használt utasításokat tartalmazzák. Hasonlóképpen, az algoritmusok ugyanúgy segítenek több matematikai modellekkel.

grafikonok

Használjunk egy grafikont, hogy illusztráljuk a különféle módokat.

Ezt a gráfot az összes pontja összekapcsolásaként fejezhetjük ki. A kép reprodukálásához utasításokat adhatunk valaki másnak.
Ezt a gráfot az összes pontja összekapcsolásaként fejezhetjük ki. A kép reprodukálásához utasításokat adhatunk valaki másnak.

1. módszer

Ezt pontok sorozataként ábrázolhatjuk, és az információ követi a grafikon {{x1, y1}, (x2, y2), …, (xn, yn)} általános formáját.

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

Nagyon egyszerű a pont egymás után történő ábrázolása, és összekapcsolni őket az előző ponttal. Azonban képzelj el egy olyan grafikont, amelyen ezer pont vagy több szegmens van, amely minden irányban megy. A listának sok adata van, ugye? És akkor mindegyiket összekötni kell, egyenként, fájdalom lehet.

2. módszer

Egy másik dolog, amellyel megtehetjük, hogy kiindulási pontot adjon a vonal lejtése között és a következő pont között, és jelezze, hol kell a következõ pontot a grafikon standard formájával = {(kiindulási pont), [m1, x1, h1 ], [Mn, xn, hn]} Itt az "m" változó a vonal lejtését jelöli, az "x" azt a irányt jelöli, amelyre számít (x vagy y), és a "h" sokan számíthatnak az adott irányba, és emlékezhetünk arra, hogy minden egyes mozgás után pontot rajzolunk.

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]}

Ugyanazt a grafikont kapja. Láthatjuk, hogy az utolsó három kifejezés ebben a kifejezésben ugyanaz, ezért lehet, hogy lecsökkenthetjük azt, ha valamilyen módon "háromszor ismételjük". Tegyük fel, hogy bármikor megjelenik az "R" változó, ez azt jelenti, hogy megismételjük az utolsó dolgot. Meg tudjuk csinálni:

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

Mi van, ha az egyes pontok nem igazán számítanak, és csak a grafikon van? Összevonhatjuk az utóbbi három szekciót, így például:

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

Egy kicsit lerövidíti a dolgokat, ahonnan korábban voltak.

3. módszer

Próbáljuk meg ezt más módon.

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

Itt van tiszta algebrai kifejezés. Még egyszer, ha a pontok maguk nem számítanak, és csak a grafikon teszi, akkor összevonhatjuk az utolsó három elemet.

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

Most, melyik módszert választja, attól függ, milyen a képességeid. Talán nagyszerű a matematikával és a grafikonokkal, ezért választja az utolsó lehetőséget. Talán jó a navigációban, ezért választja a második lehetőséget. A számítógépek területén azonban sokféle feladatot végzel, és a számítógép képessége nem igazán változik. Ezért az algoritmusok az elvégzett feladatokhoz optimalizáltak.

Egy másik fontos szempont, hogy minden módszer egy kulcsra támaszkodik. Az utasítások mindegyike használhatatlan, hacsak nem tudja, hogy mit kell tennie velük. Ha nem tudod, hogy minden pontot el kell rajzolnod és összekötned kell a pontokat, az első pontok nem jelentenek semmit. Hacsak nem tudod, hogy mi a változó a második módszerben, akkor nem fogja tudni, hogyan kell alkalmazni őket, mint a titkosítás kulcsa. Ez a kulcs szintén az algoritmusok használatának szerves része, és gyakran ez a kulcs megtalálható a közösségben vagy egy "standard" -on keresztül.

Fájltömörítés

Ha letölt egy.zip fájlt, akkor kivonja a tartalmat, hogy bármit használjon benne.Napjainkban a legtöbb operációs rendszer merülhet be.zip fájlokba, mintha normál mappák lennének, és mindent megtennének a háttérben. A Windows 95 gépemen több mint egy évtizeddel ezelőtt kézzel kellett kivonnia mindent, mielőtt bármit is látnék, mint a fájlnevek. Ez azért van, mert a lemezen tárolt,.zip fájl nem volt használható formában. Gondolj egy kihúzható kanapéra. Ha ágyként szeretné használni, akkor el kell távolítania a párnákat, és ki kell nyitnia, ami több helyet foglal el. Ha nem kell, vagy el akarja szállítani, akkor vissza tudja húzni.

A tömörítési algoritmusokat a fájlok típusaihoz igazítják és optimalizálják. Az audio formátumok például eltérő módon használják az adatokat, amelyeket az audiokodek dekódolása esetén az eredeti hullámformához hasonló hangfájl ad. Ha többet szeretne tudni ezekről a különbségekről, nézze meg korábbi cikkünket, mi a különbség az összes ilyen hangformátum között? A veszteségmentes audió formátumok és a.zip fájlok közösek: mindketten az eredeti adatokat pontos formában hozták létre a dekompressziós folyamat után. A vesztes audiokodek más eszközöket használnak a lemezterület megtakarításáért, például az emberi fülhallgatók által hallható frekvenciacsökkentéshez, és a részalakok kiegyenlítéséhez a részleteket megszabadítva. Végül, bár nem lehet igazán hallani a különbséget az MP3 és a CD között, ott biztosan hiányzik az információ.

Adat titkosítás

Algoritmusokat használnak adat- vagy kommunikációs vonalak rögzítésekor is. Az adatok tárolása helyett kevesebb lemezterületet használ, hanem olyan módon tárolja, amelyet más programok nem érzékelnek. Ha valaki ellopja a merevlemezt, és elkezdi beolvasni, akkor még akkor is felveheti az adatokat, ha törli a fájlokat, mert maga az adat még mindig ott van, annak ellenére, hogy az átirányító hely elment. Amikor az adatok titkosítva vannak, a tárolt adatok nem úgy néznek ki, mint amilyenek. Általában véletlenszerűnek tűnik, mintha a széttöredezés idővel felgyorsulna. Adatokat is tárolhat, és megjelenítheti egy másik típusú fájlt. A képfájlok és a zenei fájlok ennek megfelelőek, mivel ezek meglehetősen nagyok lehetnek, például gyanú nélkül. Mindez matematikai algoritmusok segítségével történik, amelyek valamilyen bemenetet hoznak és átalakítják egy másik, nagyon specifikus kimenetnek. Ha többet szeretne tudni arról, hogy a titkosítás hogyan működik, nézze meg a HTG-magyarázatokat: Mi a titkosítás és hogyan működik?
Algoritmusokat használnak adat- vagy kommunikációs vonalak rögzítésekor is. Az adatok tárolása helyett kevesebb lemezterületet használ, hanem olyan módon tárolja, amelyet más programok nem érzékelnek. Ha valaki ellopja a merevlemezt, és elkezdi beolvasni, akkor még akkor is felveheti az adatokat, ha törli a fájlokat, mert maga az adat még mindig ott van, annak ellenére, hogy az átirányító hely elment. Amikor az adatok titkosítva vannak, a tárolt adatok nem úgy néznek ki, mint amilyenek. Általában véletlenszerűnek tűnik, mintha a széttöredezés idővel felgyorsulna. Adatokat is tárolhat, és megjelenítheti egy másik típusú fájlt. A képfájlok és a zenei fájlok ennek megfelelőek, mivel ezek meglehetősen nagyok lehetnek, például gyanú nélkül. Mindez matematikai algoritmusok segítségével történik, amelyek valamilyen bemenetet hoznak és átalakítják egy másik, nagyon specifikus kimenetnek. Ha többet szeretne tudni arról, hogy a titkosítás hogyan működik, nézze meg a HTG-magyarázatokat: Mi a titkosítás és hogyan működik?

Az algoritmusok olyan matematikai eszközök, amelyek sokféleképpen használják a számítógépes tudományt. Úgy működnek, hogy következetesen biztosítsanak egy utat egy kezdőpont és egy végpont között, és adják meg az utasításokat annak követésére. Többet tudsz, mint amit kiemeltünk? Ossza meg magyarázatait a megjegyzésekben!

Ajánlott: