informatika:maturita:16a
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| informatika:maturita:16a [26. 05. 2020, 13.21] – [Eratosthenovo síto] xdostal | informatika:maturita:16a [11. 02. 2026, 09.47] (aktuální) – xwolf4 | ||
|---|---|---|---|
| Řádek 15: | Řádek 15: | ||
| ===== Vlastnosti algoritmu ===== | ===== Vlastnosti algoritmu ===== | ||
| - | * **Determinovanost** (Určenost) | + | * **Determinovanost** (Určenost) |
| - | * **Obecnost** | + | * Binární vlastnost - Odpovídá na otázku: "Je výsledek algoritmu vždy stejný pro stejné vstupní hodnoty?" |
| - | * **Finitivnost** (Konečnost) | + | * Algoritmus není determinovatelný pokud má vnitřní stav (například počítá kolikrát algoritmus byl spuštěn) nebo pokud používá skutečně náhodné hodnoty. |
| - | * **Resultativnost** (Výslednost) | + | * Základní kámen funkcionálního programování |
| - | * **Korektnost** (Správnost) | + | * **Obecnost** |
| - | * **Efektivita** | + | * Popisuje pro jakou množinu vstupů algoritmus funguje. |
| - | + | * Analogií obecnosti algoritmu je definiční obor funkce. | |
| + | * Algoritmus by měl řešit typovou úlohu co nejvíce obecně, například implementace kosinové věty je obecnější než implementace pythagorovy věty (funguje pro větší množinu úhlů). | ||
| + | * **Finitivnost** (Konečnost) | ||
| + | * Binární vlastnost - Odpovídá na otázku: "Skončí algoritmus | ||
| + | * **Resultativnost** (Výslednost) | ||
| + | * Binární vlastnost - Odpovídá jestli má pro daný vstup algoritmus | ||
| + | * Algoritmus není resultativní pokud vrací void a neměnní vnější proměnné. | ||
| + | * **Korektnost** (Správnost) | ||
| + | * Binární vlastnost - Vydá algoritmus | ||
| + | * **Efektivita** | ||
| + | * Dělí se na paměťovou efektivitu (náročnost na paměť) a výpočetní efektivitu (náročnost na výpočet), tyto dvě vlastnosti jsou často | ||
| + | * Primárně se určuje pomocí velké O notace. | ||
| + | * Sekundárně se určuje podle praktických záležitostí (například cache miss nebo CPU branch prediction) | ||
| + | {{: | ||
| ===== Známé algoritmy ===== | ===== Známé algoritmy ===== | ||
| Řádek 38: | Řádek 50: | ||
| Krok 4: Seznam prvočísel obsahuje všechna prvočísla od 2 po n | Krok 4: Seznam prvočísel obsahuje všechna prvočísla od 2 po n | ||
| + | |||
| + | Časová složitost: O(n log(log(n))) | ||
| + | |||
| + | Paměťová složitost: O(1) | ||
| Řádek 53: | Řádek 69: | ||
| * Nyní zopakujeme první krok, ale s dělením menšího čísla zbytkem po dělení (15 = 3 * 5 + **0**) | * Nyní zopakujeme první krok, ale s dělením menšího čísla zbytkem po dělení (15 = 3 * 5 + **0**) | ||
| * Vyšel nám zbytek 0, takže NSD je rovno 5, pokud by nám nevyšel zbytek 0 aplikovali bychom znovu krok jedna | * Vyšel nám zbytek 0, takže NSD je rovno 5, pokud by nám nevyšel zbytek 0 aplikovali bychom znovu krok jedna | ||
| + | |||
| + | Časová složitost: O(log(min(a, | ||
| + | |||
| + | Paměťová složitost: O(1) | ||
| [[http:// | [[http:// | ||
| Řádek 68: | Řádek 88: | ||
| * Algoritmus pak jako výstup vydá nejrychlejší cestu do požadovaného bodu B. | * Algoritmus pak jako výstup vydá nejrychlejší cestu do požadovaného bodu B. | ||
| + | Nejhorší možná časová složitost: O(V^2) | ||
| - | {{:informatika: | + | Nějhorší možná paměťová složitost: O(V + H) |
| + | V = počet vrcholů | ||
| + | |||
| + | H = počet hran | ||
| + | |||
| + | {{: | ||
| - | Pravděpodobnostní algoritmy: | + | ===== Pravděpodobnostní algoritmy: |
| ==== Algoritmus Las Vegas ==== | ==== Algoritmus Las Vegas ==== | ||
informatika/maturita/16a.1590492093.txt.gz · Poslední úprava: autor: xdostal
