Двоичное дерево поиска
Sign in to saveAlso known as BST, ordered binary tree, sorted binary tree
структура данных в виде дерева с сортированными узлами
Key facts
- Type
- tree
- Invented by
- P.F. Windley, A.D. Booth , A.J.T. Colin , and T.N. Hibbard
- Operation
- Average
- Search
- Θ(log n )
- Insert
- Θ(log n )
- Delete
- Θ(log n )
- Space
- Θ( n )
via Wikipedia infobox
Wikidata facts
- Instance of
- data structure
- Subclass of
- binary tree
- Image
- Binary search tree.svg
Show 6 more facts
- Commons category
- Binary search trees
- time of discovery or invention
- 1960-00-00
- discoverer or inventor
- Andrew Donald Booth
- inception
- 1960-01-01
- Stack Exchange tag
- stackoverflow.com/tags/binary-search-tree
- studied by
- algorithmics
Sources (3)
via Wikidata · CC0
Article · Русский
Двоичное дерево поиска (англ. binary search tree, BST) — двоичное дерево, для которого выполняются следующие дополнительные условия (свойства дерева поиска): * оба поддерева — левое и правое — являются двоичными деревьями поиска; * у всех узлов левого поддерева произвольного узла X значения ключей данных меньше либо равны, нежели значение ключа данных самого узла X; * у всех узлов правого поддерева произвольного узла X значения ключей данных больше, нежели значение ключа данных самого узла X. Очевидно, данные в каждом узле должны обладать ключами, на которых определена операция сравнения меньше. Как правило, информация, представляющая каждый узел, является записью, а не единственным полем данных. Однако это касается реализации, а не природы двоичного дерева поиска. Для целей реализации двоичное дерево поиска можно определить так: * Двоичное дерево состоит из узлов (вершин) — записей вида (data, left, right), где data — некоторые данные, привязанные к узлу, left и right — ссылки на узлы, являющиеся детьми данного узла — левый и правый сыновья соответственно. Для оптимизации алгоритмов конкретные реализации предполагают также определения поля parent в каждом узле (кроме корневого) — ссылки на родительский элемент. * Данные (data) обладают ключом (key), на котором определена операция сравнения «меньше». В конкретных реализациях это может быть пара (key, value) — (ключ и значение), или ссылка на такую пару, или простое определение операции сравнения на необходимой структуре данных или ссылке на неё. * Для любого узла X выполняются свойства дерева поиска: key[left[X]] < key[X] ≤ key[right[X]], то есть ключи данных родительского узла больше ключей данных левого сына и нестрого меньше ключей данных правого. Двоичное дерево поиска не следует путать с двоичной кучей, построенной по другим правилам. Основным преимуществом двоичного дерева поиска перед другими структурами данных является возможная высокая эффективность реализации основанных на нём алгоритмов поиска и сортировки. Двоичное дерево поиска применяется для построения более абстрактных структур, таких, как множества, мультимножества, ассоциативные массивы.
Abstract from DBpedia / Wikipedia · CC BY-SA