Typ grafu:
Matematický výraz: 3 * (5 + 6)
left +------+ right
+--- | * | ----+
| +------+ |
v V
left +------+ +------+
+----| + |---+ | 3 |
| +------+ | +------+
V V
+------+ +------+
| 5 | | 6 |
+------+ +------+
Bisekcia:
5
/ \
3 8
/ \ / \
2 4 7 9
/ / \
1 6 10
1 2 3 4 5 6 7 8 9 10
Zovšeobecnenie spojkového zoznamu, kde jeden prvok má viac smerníkov.
left +------+ right
+--- | 5 | ----+
| +------+ |
v V
left +------+ +------+
+----| 3 | | 10 |
| +------+ +------+
|
V
+------+
| 1 |
+------+
Akým spôsobom vieme strom zapísať do jedného riadka?
Naľavo, hodnota, napravo
3 * 5 + 6
Pozor na zátvorky !!!
hodnota, naľavo, napravo
naľavo, napravo, hodnota
5 6 + 3 *
Ak máme zadaný zápis v jednom riadku, akým spôsobom ho môžeme uložiť do stromu?
struct binary_tree {
int data;
struct binary_tree* left;
struct binary_tree* right;
};
(pre-order)
Vyhľadáme prvok so zadanou hodnotou.