Zovšeobecnenie spojkového zoznamu, kde jeden prvok má viac smerníkov.
struct binary_tree {
int data;
struct binary_tree* left;
struct binary_tree* right;
};
left +------+ right
+--- | 5 | ----+
| +------+ |
v V
left +------+ +------+
+----| 3 | | 10 |
| +------+ +------+
|
V
+------+
| 1 |
+------+
https://www.cs.usfca.edu/~galles/visualization/BST.html
Matematický výraz: 3 * (5 + 6)
left +------+ right
+--- | * | ----+
| +------+ |
v V
left +------+ +------+
+----| + |---+ | 3 |
| +------+ | +------+
V V
+------+ +------+
| 5 | | 6 |
+------+ +------+
Naľavo, hodnota, napravo
3 * 5 + 6
Pozor na zátvorky !!!
hodnota, naľavo, napravo
* + 5 6 3
naľavo, napravo, hodnota
5 6 + 3 *
Reprezentácia hierarchických štruktúr
s pomocou binárneho vyhľadávacieho stromu
Akým spôsobom vieme strom zapísať do jedného riadka?
Ak máme zadaný zápis v jednom riadku, akým spôsobom ho môžeme uložiť do stromu?
(pre-order)
[info](https://cseweb.ucsd.edu//~kube/cls/100/Lectures/lec8.generics/lec8-33.html
Vkladanie prvkov v určitom poradí môže spôsobiť, že na jednej strane môže byť podstatne viac prvkov ako na druhej.
WARNING: Binárny strom sa môže degradovať na spojkový zoznam. operácia vyhľadávania bude mať lineárnu a nie logaritmickú zložitosť.
Výška 3
left +-----+
+--- | 1 |
| +-----+
v
left +------+
+----| 2 |
| +------+
V
+------+
| 3 |
+------+
To be continued....