Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
statnice:bakalar:b0b36prp [2026/06/14 11:53] – [Návratová hodnota] badinmicstatnice: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 node:+Pro oboustraný linked list, pouze přidáme zpětný pointer do struktury node:
 ```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->prev NULL a tail->next NULL.+v normálním spojovém seznamu má poslední prvek hodnotu next NULL, v obousměrném má head->prev NULL a tail->next NULL, a v kruhovém má head->prev hodnotu tail a tail->next hodnotu 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ů není určeno.+- Čistě strukturální strom, nezáleží na pořadí potomků. Příklad: Rodokmen (vazba "Brother - Mother(root) - Sister" je ekvivalentní "Sister - Mother(root) - Brother").
  
 ## Binární vyhledávací strom (BST) ## Binární vyhledávací strom (BST)
Line 492: Line 492:
  
 - Základní typy: - Základní typy:
-  - **Plný binární strom** – všechny listy na stejné hloubce. +  - **Plný binární strom** – každý vnitřní uzel má dva potomky.
-  - **Úplný binární strom** – každý vnitřní uzel má dva potomky.+
   - **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/2)` *(Platí pouze pro Úplný binární strom)*
  
 ## 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
Navigation

Playground

QR Code
QR Code statnice:bakalar:b0b36prp (generated for current page)