Az algoritmusok általános tulajdonságai
Az algoritmusok fejlesztésében és alkalmazásában szerzett gazdag tapasztalatok számos közös tulajdonságot sugallnak, amelyek bármely algoritmusban rejlőek, beleértve a fent felsorolt algoritmusokat.
Olvashatóság algoritmus: Bármely algoritmus lehet tekinteni, mint egy folyamat egymást épület mennyiségek húzódó diszkrét időben egy bizonyos recept, az úgynevezett programot.
Az algoritmus hatékonysága: az algoritmus nem egyetlen feladatot, hanem egy hasonló feladat teljes osztályát oldja meg. Ebben a szempontban a szorzótáblázat nem egy algoritmus, de a többértékű számok oszlopával történő szorzás egy algoritmus. Például Euclid algoritmusában az a és b számok egy végtelen (számozható) egész számkészletből vannak kiválasztva.
Az algoritmus determinizmusa: a következő lépés befejezése után egyedileg határozza meg, hogy mit tegyen.
Elemi lépések az algoritmus: a megoldás van osztva szakaszaiban, amelyek mindegyike egyszerűnek kell lennie, és a helyi. Ez azt jelenti, hogy a megfelelő művelet elemi legyen az algoritmus (ember vagy gép) végrehajtójának. Például az euklideszi algoritmus található az összehasonlítás működés és kivonva a permutációs számok meglehetősen szabványos és megszokott. Ugyanakkor maga az euklideszi algoritmus egy összetettebb algoritmus elemi működésének is megjelenhet.
A hatékonyság az algoritmus: az algoritmus véges számú lépésben kell vezetnie megállt, ami azt jelzi, hogy a kívánt eredmény elérése. Tehát, ha keresi a módját, hogy állítsa le a labirintus jön sem elérhető honlapon, vagy amikor visszatér a kiindulási területre, ha a megadott cél nem érhető el. Különösen bárki, aki egy algoritmus megoldani egy bizonyos problémát, meg kell mutatni, hogy az algoritmus leáll véges számú lépés (mint mondják, konvergál) bármely xiz zadaniyaf területen. Azonban a hatékonyság (az algoritmus konvergenciája) ellenőrzése sokkal nehezebb, mint a többi tulajdonság.
Az algoritmusok meghatározásának módszerei
Az algoritmus a következő formában adható meg:
verbális formában;
mint LGSA (logikai folyamatábrája, az algoritmus) - grafikus formában tömbvázlat formájában;
a Nassi-Schneiderman strukturogramma formájában;
számítógépes program formájában.
A folyamatábra egy algoritmus grafikus ábrázolása. Az építkezés a tartalmát minden lépésben az algoritmus van írva önkényesen belül a blokk által képviselt mértani alakzat. A lépések sorrendjét a blokkokat összekötő nyilak jelzik. Különböző geometriai alakok használata tükrözi az elvégzett műveletek különbözőségét. Az alakzatok méretét és megjelenését a GOST 19.003-80 vagy ISO1028-73 szabályozza.
A téglalapban (a számítás blokkjában) a műveleteket rögzítik, aminek következtében az adatok megváltoztatják értékeit.
A rhombusban (az összehasonlító blokk) az ellenőrizendő feltételeket írja le, hogy kiválassza a számítás folytatásának lehetőségét.
A parallelogram (I / O block) információt tartalmaz a bemeneti és kimeneti adatokról.
Az ovális a számítási folyamat kezdetét vagy végét jelenti.
Az LHSA leggyakrabban használt szimbólumai
Módosító blokk (ciklus)
A folyamatábra megfelelnek a csúcsai a következő lépéseket az algoritmus, és a széleket - átmenetek lépések között. A csúcsok a tömbvázlata lehet a két típusa van: a felső, amely kilép az egyik szélétől (más néven üzemeltetők), és a csúcsa, amely elhagyja két széle (a továbbiakban logikai feltételek és predikátumok). Ezenkívül egyetlen végkezelő van, amelyből egyetlen széle és egyetlen indítású kezelő nem lép ki.
Fontos jellemzője a folyamatábra, hogy a kapcsolat, akkor írja le, és nem függ attól, hogy az elemi lépések vagy algoritmusok függetlenek, - mondta a programozók blokkokat. A blokkdiagramok segítségével számos algoritmust, blokknak tekinthetünk egy aggregált algoritmushoz. Az algoritmusok ilyen kombinációját algoritmusok összetételének nevezik. Ezzel szemben egy nagy algoritmus blokkokra osztható, amelyeket párhuzamosan fejlesztenek a különböző programozók, amelyeket széles körben használnak a programozásban.
A blokkdiagramban az algoritmus leírása és a végrehajtás folyamata közötti különbség jól látható. A leírás egy grafikon, a végrehajtási folyamat a görbe elérési útja. Az ugyanazon grafikon különböző útvonalait különböző adatokkal hozza létre, amelyek különböző döntési pontokon (fióktelepeken) különböző logikai feltételeket hoznak létre. A konvergencia hiánya azt jelenti, hogy a számítási folyamat során az algoritmus végére vezető feltételek nem jelennek meg, és a folyamat ciklusba kerül.
Az összes tisztaságát nyelvet kell tekinteni folyamatábrák, hogy az tükrözze a kapcsolat az egyes egységek kezeléséhez, hanem információkat. A folyamatábra csak azt jelzi, hogy mi a következő lépés, melyik blokk az ellenőrzött ellenőrzés. A folyamatábrák nem tartalmaznak adatot, memóriát vagy az elemi lépések használt készletét. Lényegében a folyamatábra nem nyelv, hanem eszköz az algoritmus determinizmusának leírására. Mint minden grafikai modell, elég kényelmes és vizuális eszköz. Nem szabad elfelejteni, hogy az elágazási pontokat lehet nem csak egy bináris (a két lehetőség közül választhat, attól függően, hogy igaz vagy hamis logikai viszonyok), hanem több értékes (a választás több lehetséges elágazás). Fontos, hogy egyetlen lehetséges útvonalat válasszon több lehetséges jelenlét közül.