Tam jsou některé vlastnosti, které každý algoritmus by měl následovat.Existuje pět různých charakteristik, které se zabývají různými aspekty algoritmu.Jsou následující:
1.Zadaný vstup
2.Zadaný výstup
3.Definice
4.Účinnost
5. Konec
6.Nezávislé
podívejme se na tyto charakteristiky jeden po druhém.
vstupní data musí být transformována se během výpočtu k výrobě výstupu.Algoritmus by měl mít 0 nebo více dobře definované vstupy.Přesnost vstupu vyžaduje, abyste věděli, jaký druh dat, kolik a jakou formu by měla být data
2) zadaný výstup
výstupem jsou data vyplývající z výpočtu(zamýšlený výsledek). Algoritmus by měl mít 1 nebo více dobře definovaných výstupů a měl by odpovídat požadovanému výstupu.Přesnost výstupu také vyžaduje, abyste věděli, jaký druh dat, kolik a jakou formu by měl být výstup(nebo i když bude vůbec nějaký výstup!).
3)Určitost
Algoritmy musí určit každý krok a pořadí kroků musí být přijata v procesu.Určitost znamená určení pořadí operací pro soustružení vstupu do výstupu. Algoritmus by měl být jasný a jednoznačný.Podrobnosti o každém kroku musí být také vysvětleny (včetně toho, jak zacházet s chybami). měl by obsahovat vše kvantitativní a ne kvalitativní.
nemůžete očekávat, že počítač něco pochopit, pokud jste sami jsou nejednoznačné.Správně!
4)Účinnost
Pro algoritmus musí být efektivní, to znamená, že všechny ty kroky, které jsou nutné se dostat na výstup, musí být možné s dostupnými prostředky.To by nemělo obsahovat žádné zbytečné a redundantní kroky, které by mohly algoritmus neefektivní.
například,předpokládejme, že jste vaření recept, a vy si nakrájíme zeleninu, které nejsou použity v receptu, pak je to ztráta času.
5)Konečnosti
algoritmus se musí zastavit, nakonec.Zastavení může znamenat, že dostanete očekávaný výstup nebo dostanete odpověď, že žádné řešení není možné. Algoritmy musí být ukončeny po konečném počtu kroků.Algoritmus by neměl být nekonečný a vždy končit po určitém počtu kroků.
nemá smysl vyvíjet algoritmus, který je nekonečný, protože pro nás bude zbytečný.
6) nezávislý
algoritmus by měl mít pokyny krok za krokem, které by měly být nezávislé na jakémkoli programování code.It měl by být takový, aby mohl být spuštěn v kterémkoli z programovacích jazyků.
to jsou tedy vlastnosti, které by měl mít algoritmus pro svou plodnost.