informatika:maturita:22a
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:22a [24. 04. 2015, 15.37] – xmrnustik | informatika:maturita:22a [28. 05. 2020, 15.10] (aktuální) – [Merge sort] xdostal | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| ====== Třídění/ | ====== Třídění/ | ||
| - | ===== Třídění vs řazení ===== | + | ===== Třídění vs. řazení ===== |
| Třídění je uspořádání objektů podle podobných vlastností. Způsob třídění je vždy závislý na oboru, který s těmito objekty pracuje. | Třídění je uspořádání objektů podle podobných vlastností. Způsob třídění je vždy závislý na oboru, který s těmito objekty pracuje. | ||
| Řádek 7: | Řádek 7: | ||
| Řazení je způsob uspořádání objektů do specifikovaného pořadí. Řazení může být provozováno podle různých kritérií (abecedně, vzestupně, sestupně). | Řazení je způsob uspořádání objektů do specifikovaného pořadí. Řazení může být provozováno podle různých kritérií (abecedně, vzestupně, sestupně). | ||
| - | Tyto dva pojmy bývají často zaměňovány. | + | Oba pojmy bývají často zaměňovány. |
| ===== Složitost algoritmů ===== | ===== Složitost algoritmů ===== | ||
| Řádek 17: | Řádek 16: | ||
| {{: | {{: | ||
| - | Rozdíl mezi jednotlivými třídami složitosti se dá jednoduše pochopit na těchto dvou příkladech. Když máme první algoritmus se složitostí O(n) a druhý algoritmus se složitostí O(2n) stačí nám ten druhý spustit na dvakrát rychlejším stroji a rozdíl je smazán. Pokud však máme první algoritmus se složitostí O(n) a algoritmus se složitostí O(n< | + | Rozdíl mezi jednotlivými třídami složitosti se dá jednoduše pochopit na těchto dvou příkladech. Když máme první algoritmus se složitostí O(n) a druhý algoritmus se složitostí O(2n) stačí nám ten druhý spustit na dvakrát rychlejším stroji a rozdíl je smazán. |
| + | |||
| + | Pokud však máme první algoritmus se složitostí O(n) a algoritmus se složitostí O(n< | ||
| - | ===== Třídící | + | ===== Řadicí |
| ==== Bubble sort ==== | ==== Bubble sort ==== | ||
| **Princip: | **Princip: | ||
| - | - Dostanu | + | - Dostanu pole. |
| - | - Procházím pole, pokud je prvek vlevo menší než prvek vpravo prohodím je | + | - Procházím pole, pokud najdu prvek, který je menší než prvek vpravo, prohodím je. |
| - | - Opakuji dokud není pole seřazeno od největšího po nejmenší (zprava doleva) | + | - Opakuji, dokud není pole seřazeno od největšího po nejmenší (zprava doleva). |
| - | **Složitost: | + | **Složitost: |
| **Ukázka algoritmu: | **Ukázka algoritmu: | ||
| Řádek 88: | Řádek 89: | ||
| **Princip: | **Princip: | ||
| - | - Dostanu pole | + | - Dostanu pole. |
| - | - Procházím pole zleva doprava a vždy každý prvek zařadím na místo podle velikosti | + | - Procházím pole zleva doprava a vždy každý prvek zařadím na místo podle jeho velikosti. |
| - | - Dostávám pole seřazené zleva doprava od největšího po nejmenší | + | - Dostávám pole seřazené zleva doprava |
| - | **Složitost: | + | **Složitost: |
| **Ukázka algoritmu: | **Ukázka algoritmu: | ||
| Řádek 156: | Řádek 157: | ||
| ==== Merge sort ==== | ==== Merge sort ==== | ||
| + | https:// | ||
| + | |||
| **Princip: | **Princip: | ||
| - | - Dostaneme pole | + | - Dostaneme pole. |
| - | - Toto pole si rozdělíme na dvě podpole | + | - Pole rozdělíme na dvě zhruba stejně velká |
| - | - Dokud není pole rozděleno na jednoprvkové pole opakuj krok č.2 | + | - Získané podpole dále dělíme až na jednoprvkové pole (získáme n jednoprvkových polí). |
| - | - Jakmile máme jednoprvková pole spojíme | + | - Jakmile máme jednoprvková pole spojujeme |
| - | - Jakmile máme jenom dvě podmnožiny porovnáme vždy jednotlivé prvky množiny a vždy ten větší přidáme do finálního pole --> postupujeme až máme ve finálním poli prvky od největšího po nejmenší | + | - Jakmile máme jenom dvě podmnožiny, porovnáme vždy jednotlivé prvky množiny a vždy ten větší přidáme do finálního pole -> postupujeme až máme ve finálním poli prvky od největšího po nejmenší. |
| - | **Složitost: | + | **Složitost: |
| - | Protože to nejsem schopný naprogramovat ukázku máte [[https:// | + | Ukázka |
| ==== Quick sort ==== | ==== Quick sort ==== | ||
| **Princip: | **Princip: | ||
| - | - Dostaneme pole | + | - Dostaneme pole. |
| - | - Zvolíme si jeden prvek pole (pivot) a rozdělíme zbytek pole na prvky větší než pivot a na prvky menší než pivot | + | - Zvolíme si jeden prvek pole (pivot) a rozdělíme zbytek pole na prvky větší než pivot a na prvky menší než pivot (stejně velké prvky mohou být na libovolné straně). |
| - | - Pivota umístíme mezi tyto dvě množiny | + | - Pivota umístíme mezi tyto dvě množiny |
| - | - Kroky opakujeme, dokud nemáme všechny prvky seřazeny | + | - Kroky opakujeme, dokud nemáme všechny prvky seřazeny. |
| - | **Složitost: | + | **Složitost: |
| - | Protože to nejsem schopný naprogramovat ukázku máte [[http:// | + | Ukázka |
| ==== Selection sort ==== | ==== Selection sort ==== | ||
| **Princip: | **Princip: | ||
| - | - Dostaneme pole | + | - Dostaneme pole. |
| - | - Vyhledáme největší prvek pole a umístíme ho doleva | + | - Vyhledáme největší prvek pole a umístíme ho doleva. |
| - | - Toto opakujeme, dokud nemáme seřazeno | + | - Toto opakujeme, dokud nemáme seřazeno. |
| - | **Složitost: | + | **Složitost: |
| [[http:// | [[http:// | ||
| Řádek 191: | Řádek 194: | ||
| ===== Vyhledávací algoritmy ===== | ===== Vyhledávací algoritmy ===== | ||
| - | ==== Lineární hledání (také sekvenční hledání) ==== | + | ==== Lineární hledání (sekvenční hledání) ==== |
| - | **Princip: | + | **Princip: |
| **Složitost: | **Složitost: | ||
| - | ==== Binární hledání (též metoda půlení intervalů) ==== | + | ==== Binární hledání (metoda půlení intervalů) ==== |
| **Princip: | **Princip: | ||
| - | - Pole ve kterém se dá použít půlení intervalů musí být seřazeno (v tomto případě od největšího po nejmenší) | + | - Pole ve kterém se dá použít půlení intervalů, musí být seřazeno (v tomto případě od největšího po nejmenší). |
| - | - Podívám se na prostřední prvek pole | + | - Podívám se na prostřední prvek pole. |
| - | - Pokud je můj hledaný prvek větší opakuji to stejné vpravo, pokud menší tak vlevo | + | - Pokud je můj hledaný prvek větší opakuji to stejné vpravo, pokud menší tak vlevo. |
| - | - Opakuji dokud nenajdu | + | - Opakuji, dokud nenajdu |
| **Složitost: | **Složitost: | ||
| Řádek 207: | Řádek 210: | ||
| ==== Metoda binárního vyhledávacího stromu ==== | ==== Metoda binárního vyhledávacího stromu ==== | ||
| - | **Princip: | + | **Princip: |
| {{: | {{: | ||
| - | **Složitost: | + | **Složitost: |
| - | + | ||
| - | + | ||
| - | + | ||
informatika/maturita/22a.1429882660.txt.gz · Poslední úprava: autor: xmrnustik
