n-й наименьший элемент BST - PullRequest
       13

n-й наименьший элемент BST

0 голосов
/ 24 февраля 2010

BST (дерево двоичного поиска) T как найти n-й наименьший элемент T?

Ответы [ 2 ]

2 голосов
/ 24 февраля 2010

Бинарное дерево поиска эффективно отсортировано, поэтому вам просто нужно пройтись по дереву по порядку и добраться до n-го места. Если дерево полностью сбалансировано, вы можете рассчитать место, до которого можно добраться.

0 голосов
/ 24 февраля 2010

Если бинарное дерево поиска не полностью сбалансировано, то вам нужно выполнить рекурсивный поиск, чтобы найти n-й наименьший элемент. Это может быть значительно ускорено за счет того, что каждый узел хранит количество подузлов, на которые указывает каждый из его указателей ветвления, эффективно превращая поиск в двоичный. Тем не менее, это добавляет накладные расходы на обновления дерева, так как теперь для каждой вставки или удаления требуется обход от листа к корню для обновления счетчиков узлов.

Кроме того, вы можете сохранить сбалансированное дерево и использовать ответ, приведенный выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...