ASD_Lecture03
.pdfПриклад: інфіксний запис
+
/ |
/ |
1 |
3 |
* |
4 |
6 7
1 / 3 + 6 * 7 / 4
91
Лекція 3
Example:Postfix
Приклад: постфіксний запис
+
/ |
/ |
1 |
3 |
* |
4 |
6 7
Нагадування: Зворотний польський запис
1 3 / 6 7 * 4 / +
92
Лекція 3
Приклад: префіксний запис
+
/ |
/ |
1 |
3 |
* |
4 |
6 7
+ / 1 3 / * 6 7 4
93
Лекція 3
Види бінарних дерев
•Бінарне дерево — таке дерево, в якому кожна вершина має не більше двох дітей.
•Повне бінарне дерево — таке бінарне дерево, в якому кожна вершина має нуль або двох дітей.
•Ідеальне бінарне дерево — це таке повне бінарне дерево, в якому листя лежить на однаковій глибині (відстані від кореня).
94
Лекція 3
Бінарні дерева пошуку
Бінарне дерево пошуку (англ. binary search tree, BST) в інформатиці :
•Кожний вузол має унікальний ключ.
•Всі ключі лівого піддерева вузла є
меншими за значення ключа вузла.
•Всі ключі правого піддерева вузла є
меншими за значення ключа вузла.
95
Лекція 3
Приклад: ключ є цілим числом
43
31 |
64 |
20 |
40 |
56 |
89 |
28 |
33 |
47 |
59 |
96
Лекція 3
Додавання нового вузла
•Створити новий вузол для елемента.
•Знайти батьківський вузол.
•Приєднати новий вузол як листок.
97
Лекція 3
Приклад: додавання нового вузла
57
43
31 |
64 |
20 |
40 |
56 |
89 |
28 |
33 |
47 |
59 |
98
Лекція 3
Приклад: додавання нового вузла
57
43
31 |
64 |
20 |
40 |
56 |
89 |
28 |
33 |
47 |
59 |
57
99
Лекція 3
Почук
•якщо шуканий ключ є менишим за ключ біжучого вузла, здійснювати пошук у лівому піддереві.
•інакше, якщо шуканий ключ є більшим за ключ біжучого вузла, здійснювати пошук у правому піддереві.
•повернення:
–якщо знайдений, тоді вказівник на вузол, який містить шуканий ключ.
–інакше, вказівник NULL.
100
Лекція 3