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.
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.
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
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!