A algoritmus je to sada pokynů určených k provedení konkrétního úkolu. To znamená, že jde o systematický postup, který v konečném počtu kroků vytvoří odpověď na otázku nebo řešení problému. Příkladem algoritmu je vyhledávací modul Google, ve kterém při vložení slova poskytuje několik výsledků ve formě webových stránek.
Může to být složitý proces, jako je přehrávání hudebního souboru, nebo jednoduchá operace, jako je přidání dvou čísel. V počítačovém programování jsou algoritmy vytvářeny jako funkce. Tyto funkce jsou malé programy, na které může odkazovat větší program.
Aplikace pro prohlížení obrázků může obsahovat knihovnu funkcí, z nichž každá používá určitý algoritmus k reprezentaci různých formátů obrazových souborů..
Program pro úpravu obrázků může obsahovat algoritmy určené ke zpracování obrazových dat. Některé příklady jsou oříznutí, změna velikosti, zostření, rozmazání, redukce červených očí a vylepšení barev..
Rejstřík článků
Algoritmus musí být jasný a jednoznačný. Každý z vašich kroků nebo akcí musí být přesně definován, ve všech ohledech důsledně jasný a musí mít jednoznačně pouze jeden význam..
Algoritmus má nulu nebo více vstupů převzatých z konkrétní sady objektů. Pokud algoritmus naznačuje, že by měla být přijata vstupní data, měla by být tato vstupní data dobře definována.
Algoritmus má vždy jeden nebo více výstupů, které mají vztah ke vstupům. Algoritmus musí jasně definovat, jaké výstupní informace budou produkovány, a musí být také dobře definován.
Algoritmus musí být konečný, to znamená, že musí vždy skončit v určitém okamžiku, po konečném počtu kroků, a nesmí být závislý na nekonečných smyčkách apod..
Algoritmus musí být chytrý a jednoduchý, aby mohl být proveden bez problémů s dostupnými prostředky. Proto nesmí obsahovat žádnou budoucí technologii.
Navrhovaný algoritmus musí být nezávislý na jazyce, to znamená, že musí sestávat pouze z jednoduchých instrukcí, které lze implementovat v jakémkoli programovacím jazyce, a výsledek je však vždy stejný, jak se očekávalo.
Vždy existují různé způsoby, jak provést konkrétní operaci v rámci programu. Proto se programátoři snaží vytvořit co nejefektivnější možné algoritmy..
Při použití velmi efektivních algoritmů lze zaručit, že programy běží při nejvyšší rychlosti s využitím minima systémových prostředků.
Algoritmy však nejsou vždy poprvé vytvořeny bezchybně. Z tohoto důvodu se vývojáři snaží je vylepšit a zahrnout je do budoucích aktualizací softwaru..
Proto vždy, když je známa nová verze aplikace s lepším výkonem, znamená to, že tato verze obsahuje efektivnější algoritmy.
Algoritmus je mimořádně užitečný nástroj, který se používá k provádění prací. Při práci na počítači výběr nejlepšího algoritmu zajistí, že počítač danou úlohu provede nejlepším možným způsobem.
Proto slouží k optimalizaci počítačového programu s dostupnými prostředky. To znamená, že když se rozhodnete vyřešit problém pomocí nejlepších algoritmů, potřebujete nejlepší kombinaci rychlosti programu a nižší spotřeby paměti.
Různé algoritmy, které lze studovat, jsou stejně rozmanité jako problémy, které řeší. Je však velmi pravděpodobné, že problém, který se pokoušíte vyřešit, je v některých ohledech podobný jinému problému..
Pochopením široké škály algoritmů můžete vybrat nejvhodnější pro problém a správně jej použít.
Tyto algoritmy jsou speciálně vyladěny a optimalizovány pro typy souborů, na které cílí. Každý zvukový formát například používá jiný způsob ukládání dat. Po dekódování zvukovým kodekem vygeneruje zvukový soubor podobný původnímu průběhu.
Algoritmy se také používají k ochraně datových nebo komunikačních linek. Namísto ukládání komprimovaných dat tak, aby zabíraly méně místa na disku, jsou ukládána způsobem, který ostatní programy nedokážou detekovat. Když jsou data šifrována, to, co je uloženo, nevypadá jako to, co je.
Chcete-li, aby počítač něco udělal, musíte napsat počítačový program. Chcete-li napsat tento program, musíte počítaču krok za krokem sdělit, co má dělat.
Počítač poté spustí program a každou instrukci provede automaticky, aby dosáhl konečného výsledku. Kromě označení toho, co dělat s počítačem, můžete také zvolit, jak to bude dělat, a to prostřednictvím algoritmu, který je základní technikou používanou při práci.
Řekněme, že máte přítele, který dorazí na letiště a potřebuje jet z letiště do našeho domu. K vyřešení této situace lze použít čtyři různé algoritmy:
- Když letadlo přiletí, zavolej na můj mobilní telefon.
- Sejdeme se mimo oblast reklamace zavazadel.
- Přejděte na stanoviště taxi.
- Nasedněte do taxíku.
- Dejte řidiči moji adresu.
- Odjíždíte z letiště autobusem číslo 70.
- Když se dostanete na hlavní ulici, jeďte autobusem 14.
- Vystupte na Elmo Street.
- Jděte dva bloky na sever k mému domu.
- Vezměte kyvadlovou dopravu na místo, kde si pronajímají auta.
- Pronajměte si vozidlo.
- Postupujte podle pokynů GPS a dostaňte se do mého domu.
Všechny čtyři algoritmy dosahují přesně stejného cíle, ale každý z nich to dělá jinak. Každý algoritmus má také jiné náklady a dobu cesty. Proto je algoritmus zvolen podle okolností.
Algoritmus musí mít určité zdroje, aby mohl číst hodnoty z externího zdroje. Většina algoritmů vyžaduje určité datové hodnoty k definování konkrétního problému. Například koeficienty polynomu.
Algoritmus musí mít určité zdroje, aby mohl provádět aritmetické výpočty, srovnání, kontrolovat logické podmínky atd..
Algoritmus musí mít určité prostředky, aby mohl na základě počátečních údajů, vstupů uživatele a / nebo vypočítaných výsledků volit mezi dvěma nebo více možnými způsoby jednání..
Algoritmus musí mít určité prostředky, aby bylo možné opakovaně vykonávat sadu instrukcí, buď pevně stanovený početkrát, nebo dokud není splněna nějaká logická podmínka.
Algoritmus musí mít určité zdroje, aby mohl uživatele informovat o výsledcích, které vypočítal, nebo aby mohl od uživatele požadovat další data.
Tento algoritmus je velmi zajímavý, protože se jako vstupní parametr volá s jinou hodnotou, kterou získal po vyřešení předchozího vstupního parametru. To znamená, že se opakovaně volá, dokud není problém vyřešen.
Problémy jako Hanojská věž nebo hloubkové prohledávání grafu lze snadno vyřešit pomocí těchto typů algoritmů..
V těchto algoritmech je rozdělena do dvou částí. V první části je dotyčný problém rozdělen na menší dílčí problémy stejného typu. Podobně jsou ve druhé části vyřešeny její dílčí problémy, poté je kombinace obou částí vytvořena tak, aby vzniklo konečné řešení úlohy..
Například s těmito algoritmy můžete provádět kombinované řazení a rychlé řazení.
Tyto algoritmy fungují tak, že si pamatují výsledky předchozího běhu a používají je k nalezení nových výsledků. To znamená, že řeší složité problémy tak, že je rozdělí na několik jednoduchých dílčích problémů a poté každý z nich vyřeší a později je uloží pro pozdější použití..
Tento algoritmus slepě prohledává všechna možná řešení, aby našel jedno nebo více řešení, která mohou vyřešit funkci. Hrubou silou si můžete představit použití všech možných kombinací čísel k otevření trezoru..
Tento algoritmus řeší problémy rekurzivně a pokouší se vyřešit problém vyřešením každé jeho části. Pokud řešení selže, je odstraněno a vráceno zpět, aby se našlo jiné řešení.
To znamená, že tento algoritmus řeší dílčí problém, ale pokud to nevyřeší celkový problém, zruší poslední krok a začne znovu hledat řešení problému..
Tento pseudokód najde faktoriál nezáporného celého čísla „N“ pomocí algoritmu rekurze:
Fibonacciho sekvence je dobrým příkladem algoritmu dynamického programování. Můžete to vidět v tomto pseudokódu:
- Pokud (N = 0 nebo N = 1), Fibonacci (N) = 0
- Pokud ne, Fibonacci (N) = Fibonacci (N-1) + Fibonacci (N-2)
Dobrým příkladem je problém s 8 královnami. Tento problém stanoví, že na šachovnici je 8 figurek královny a musí být umístěny takovým způsobem, aby žádná z královen nemohla po organizaci útočit na žádnou jinou..
- Algoritmus pro diagnostiku HIV.
- Vyhledávače na internetu používají proprietární algoritmy k zobrazení nejrelevantnějších výsledků ze svého vyhledávacího indexu pro konkrétní dotazy..
- Recepty, stejně jako matematické rovnice, jsou algoritmy.
- E-mail díky algoritmům ví, kam poslat.
- Obsah viděný na sociálních sítích vychází z algoritmů. Ve skutečnosti je vše, co se děje na webu, produktem algoritmů.
- Videohry jsou algoritmické vyprávění.
- Aplikace pro chytré telefony jsou jen algoritmy.
- Většina finančních transakcí se provádí pomocí algoritmů.
- Pokaždé, když je sloupec seřazen do tabulky, zasahují algoritmy.
Zatím žádné komentáře