Сложность указанных операций зависит от высоты дерева.
В хорошо сбалансированном бинарном дереве высота примерно равна log_2(n), где n - количество узлов.
Таблица временной сложности в среднем случае:
| Операция | Временная сложность |
|---|---|
| Вставка | O(log_2(n)) |
| Поиск | O(log_2(n)) |
| Удаление | O(log_2(n)) |
В вырожденном случае, когда дерево представляет собой связный список (например, все элементы отсортированы при вставке), высота дерева равна n.
Таблица временной сложности в худшем случае:
| Операция | Временная сложность |
|---|---|
| Вставка | O(n) |
| Поиск | O(n) |
| Удаление | O(n) |
Пример вырожденного дерева (дерево из одного "ребра" на каждом уровне):
cpp