Разрешены ли дубликаты ключей в определении бинарных деревьев поиска? - PullRequest
118 голосов
/ 19 ноября 2008

Я пытаюсь найти определение бинарного дерева поиска, и я продолжаю находить разные определения везде.

Некоторые говорят, что для любого данного поддерева левый дочерний ключ меньше или равен корню.

Некоторые говорят, что для любого данного поддерева правый дочерний ключ больше или равен корню.

И в моей старой книге о структурах данных колледжа сказано, что «у каждого элемента есть ключ, а у двух элементов нет одинакового ключа».

Есть ли универсальное определение bst? Особенно в том, что делать с деревьями с несколькими экземплярами одного и того же ключа.

РЕДАКТИРОВАТЬ: Может быть, я неясно, определения, которые я вижу, являются

1) слева <= корень <справа </p>

2) слева

3) left

Ответы [ 11 ]

0 голосов
/ 19 ноября 2008

1.) Слева <= корень <справа </p>

2.) Слева

3.) Left

Возможно, мне придется пойти и выкопать мои книги по алгоритмам, но в верхней части моей головы (3) - каноническая форма.

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

...