Що таке бінарне дерево пошуку?
Бінарне дерево пошуку (Binary Search Tree, BST) - це особливий вид двійкового дерева, у якому елементи розташовані за законом впорядкованості:
Правило
Для будь-якого вузла дерева виконується:
- усі значення в лівому піддереві - менші за значення вузла,
- усі значення в правому піддереві - більші за значення вузла.
Приклад
javascript
8
/ \
3 10
/ \ \
1 6 14
/ \ /
4 7 13Тут:
- у
8ліве піддерево{1,3,4,6,7}< 8, - праве піддерево
{10,13,14}> 8.
Основні операції
- Пошук - O(h), де h - висота дерева (у середньому O(log n));
- Вставка - знаходить правильне місце за тим самим принципом і вставляє вузол;
- Видалення - вимагає акуратної перебудови піддерев.
Особливості
- Ефективне при збалансованому дереві (пошук за O(log n)).
- За незбалансованості (наприклад, якщо дані йдуть за зростанням) перетворюється на список - складність O(n).
Підсумок
Бінарне дерево пошуку - це структура, де дані зберігаються у вигляді дерева з чітким порядком, що дає змогу швидко шукати, додавати й видаляти елементи порівняно з лінійними структурами.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.