Charakteristika algoritmu, k čemu slouží, části, příklady

4255
Simon Doyle
Charakteristika algoritmu, k čemu slouží, části, příklady

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ů

  • 1 Charakteristika algoritmu
    • 1.1 Jasnost a přesnost
    • 1.2 Dobře definované vstupy
    • 1.3 Dobře definované výstupy
    • 1.4 Konečnost
    • 1,5 proveditelné
    • 1.6 Nezávislost jazyka
    • 1.7 Efektivní programy
  • 2 K čemu je algoritmus?
    • 2.1 Komprese souborů
    • 2.2 Šifrování dat
  • 3 Jak funguje algoritmus?
    • 3.1 Příklad případu
  • 4 Části algoritmu
    • 4.1 Získávání vstupních údajů
    • 4.2 Výpočet
    • 4.3 Výběr
    • 4.4 Iterace
    • 4.5 Zpráva o výsledcích nebo výstupu
  • 5 Druhy algoritmů
    • 5.1 Rekurzivní algoritmus
    • 5.2 Algoritmus rozděl a panuj
    • 5.3 Algoritmus dynamického programování
    • 5.4 Algoritmus hrubé síly
    • 5.5 Algoritmus zpětného sledování
  • 6 Příklady algoritmů
    • 6.1 Rekurzivní algoritmus
    • 6.2 Algoritmus dynamického programování
    • 6.3 Algoritmus zpětného sledování
    • 6.4 Různé příklady
  • 7 Reference

Charakteristika algoritmu

Jasnost a přesnost

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

Dobře definované vstupy

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.

Dobře definované výstupy

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.

Konečnost

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

Proveditelný

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.

Jazyková nezávislost

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.

Efektivní programy

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.

K čemu je algoritmus?

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.

Komprese souborů

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.

Šifrování dat

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.

Jak funguje algoritmus?

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.

Příklad případu

Ř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:

Říkej mi algoritmus

- Když letadlo přiletí, zavolej na můj mobilní telefon.

- Sejdeme se mimo oblast reklamace zavazadel.

Taxi algoritmus

- Přejděte na stanoviště taxi.

- Nasedněte do taxíku.

- Dejte řidiči moji adresu.

Algoritmus sběrnice

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

Algoritmus pronájmu vozidla

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

Části algoritmu

Získávání vstupních údajů

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.

Výpočet

Algoritmus musí mít určité zdroje, aby mohl provádět aritmetické výpočty, srovnání, kontrolovat logické podmínky atd..

Výběr

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

Opaková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.

Zpráva o výsledcích nebo výstupu

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.

Druhy algoritmů

Rekurzivní algoritmus

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

Algoritmus rozděl a panuj

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

Algoritmus dynamického programování

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

Algoritmus hrubé síly

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

Záložní algoritmus

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

Příklady algoritmů

Rekurzivní algoritmus

Tento pseudokód najde faktoriál nezáporného celého čísla „N“ pomocí algoritmu rekurze:

Algoritmus dynamického programování

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)

Záložní algoritmus

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

Různé příklady

- Algoritmus pro diagnostiku HIV.

Algoritmus pro diagnostiku HIV. Zdroj: Immunopedia / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)

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

Reference

  1. Lee Rainie (2017). Závislé na kódu: Klady a zápory věku algoritmu. Pew Research Center. Převzato z: pewresearch.org.
  2. Technické podmínky (2020). Algoritmus. Převzato z: techterms.com.
  3. Britannica (2020). Algoritmus. Převzato z: britannica.com.
  4. Educba (2020). Druhy algoritmů. Převzato z: educba.com.
  5. How to Geek (2016). Co jsou počítačové algoritmy a jak fungují? Převzato z: howtogeek.com.
  6. Jak věci fungují (2020). Co je to počítačový algoritmus? Převzato z: computer.howstuffworks.com.

Zatím žádné komentáře