Лучшие вопросы
Таймлайн
Чат
Перспективы

Сортировка с помощью двоичного дерева

универсальный алгоритм сортировки, заключающийся в построении двоичного дерева поиска по ключам массива Из Википедии, свободной энциклопедии

Сортировка с помощью двоичного дерева
Remove ads

Сортировка с помощью двоичного дерева (сортировка двоичным деревом, сортировка деревом, древесная сортировка, сортировка с помощью бинарного дерева, англ. tree sort) — универсальный алгоритм сортировки, заключающийся в построении двоичного дерева поиска по ключам массива (списка), с последующей сборкой результирующего массива путём обхода узлов построенного дерева в необходимом порядке следования ключей. Данная сортировка является оптимальной при получении данных путём непосредственного чтения из потока (например, файла, сокета или консоли).

Thumb
Пример двоичного дерева
Remove ads

Алгоритм

  1. Построение двоичного дерева.
  2. Сборка результирующего массива путём обхода узлов в необходимом порядке следования ключей.

Эффективность

Процедура добавления объекта в бинарное дерево имеет среднюю алгоритмическую сложность порядка . Соответственно, для n объектов сложность будет составлять , что относит сортировку с помощью двоичного дерева к группе «быстрых сортировок». Однако, сложность добавления объекта в разбалансированное дерево может достигать , что может привести к общей сложности порядка .

При физическом развёртывании древовидной структуры в памяти требуется не менее чем ячеек дополнительной памяти (каждый узел должен содержать ссылки на элемент исходного массива, на родительский элемент, на левый и правый лист), однако, существуют способы уменьшить требуемую дополнительную память.

Remove ads

Примеры реализации

См. также

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads