23 lines
694 B
Python
23 lines
694 B
Python
"""
|
|
Двоичное дерево поиска
|
|
|
|
Узел — словарь:
|
|
{'name': 'Имя', 'phone': '123', 'left': None, 'right': None}.
|
|
"""
|
|
|
|
def bst_insert(root, name, phone):
|
|
"""Итеративно вставляет, возвращает новый корень (если корень меняется)."""
|
|
|
|
|
|
def bst_find(root, name):
|
|
"""Поиск в ширину."""
|
|
|
|
def bst_delete(root, name):
|
|
"""Удаляет узел и возвращает новый корень."""
|
|
|
|
|
|
def bst_list_all(root):
|
|
"""Центрированный обход.
|
|
Рекурсивно собирает записи в отсортированном порядке."""
|
|
|
|
|