Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| statnice:bakalar:b0b36prp [2026/06/14 11:53] – [Návratová hodnota] badinmic | statnice:bakalar:b0b36prp [2026/06/14 12:41] (current) – [Indexování:] badinmic | ||
|---|---|---|---|
| Line 425: | Line 425: | ||
| ``` | ``` | ||
| - | Pro oboustraný linked list, pouze přidáme zpětný pointer do struktry | + | Pro oboustraný linked list, pouze přidáme zpětný pointer do struktury |
| ```c | ```c | ||
| typedef struct node { | typedef struct node { | ||
| Line 440: | Line 440: | ||
| } linked_list_t; | } linked_list_t; | ||
| ``` | ``` | ||
| - | v normálním spojovém seznamu má poslední prvek hodnotu next NULL, v obousměrném má head-> | + | v normálním spojovém seznamu má poslední prvek hodnotu next NULL, v obousměrném má head-> |
| Line 480: | Line 480: | ||
| ### Uspořádaný strom | ### Uspořádaný strom | ||
| - | - Potomci každého uzlu jsou uspořádáni (například podle klíče). | + | - Potomci každého uzlu jsou uspořádáni (například podle klíče), záleží na pořadí potomků. Príklad: Binární vyhledávací strom (vazba "Left - Root - Right" není stejná jako "Right - Root - Left"). |
| ### Neuspořádaný strom | ### Neuspořádaný strom | ||
| - | - Čistě strukturální strom, pořadí potomků | + | - Čistě strukturální strom, |
| ## Binární vyhledávací strom (BST) | ## Binární vyhledávací strom (BST) | ||
| Line 492: | Line 492: | ||
| - Základní typy: | - Základní typy: | ||
| - | - **Plný | + | - **Plný binární strom** – každý vnitřní uzel má dva potomky. |
| - | - **Úplný | + | |
| - **Vyvážený binární strom** – hloubka listů se liší maximálně o 1. | - **Vyvážený binární strom** – hloubka listů se liší maximálně o 1. | ||
| + | - **Úplný binární strom** – vyvážený binární strom plněný zleva. Pouze jeden poslední vnitřní uzel může mít jen 1 potomka. | ||
| ### Matematické vlastnosti | ### Matematické vlastnosti | ||
| - Počet uzlů: `n` | - Počet uzlů: `n` | ||
| - Hloubka stromu: `h` | - Hloubka stromu: `h` | ||
| - | - Minimální počet uzlů: `n = 2h + 1` | + | - Minimální počet uzlů: `n = 2h + 1` *(Platí pouze pro Plný binární strom)* |
| - | - Maximální počet uzlů: `n = 2(h+1) - 1` | + | - Maximální počet uzlů: `n = 2^(h+1) - 1` |
| - | - Počet listů: `ceil(n/2)` | + | - Počet listů: `ceil(n/ |
| ## Implementace binárního stromu v C | ## Implementace binárního stromu v C | ||
| Line 617: | Line 617: | ||
| - levý potomek: $2\cdot i + 1$ | - levý potomek: $2\cdot i + 1$ | ||
| - pravý potomek: $2\cdot i + 2$ | - pravý potomek: $2\cdot i + 2$ | ||
| - | - rodič: $(i - 1) / 2$ | + | - rodič: $(i - 1) / 2$ *(zaokrouhleno dolů)* |
| ### Základní operace haldy | ### Základní operace haldy | ||