3-элементные дерева бинарного поиска

голоса
1

Я работаю через прошлое экзаменационных для моего продвинутого курса по программированию, и я застрял на этот вопрос

Какое свойство значения в бинарном дереве поиска должна удовлетворять? Сколько различных бинарный поиск деревья там, содержащий три значения 1 2 3? Поясните свой ответ.

Я могу ответить на первую часть достаточно легко , но второй бит, о числе возможных деревьев имеет меня в тупик. Мой первый инстинкт должен сказать , что есть только одно дерево можно с 2корнем , так как определение говорит так, но этот вопрос работы 8 баллов из в общей сложности 100 для всей работы, так что я могу только предположить , что это хитрый вопрос, и есть более тонкое объяснение, но нет ничего в конспектах , что объясняет это. Кто - нибудь знает , кто ответить на этот вопрос?

Задан 01/04/2011 в 11:31
источник пользователем
На других языках...                            


4 ответов

голоса
3

Вопрос не говорит о том, что дерево сбалансировано, так что думать о том, 1 или 3 может быть в корневом узле.

Ответил 01/04/2011 в 11:34
источник пользователем

голоса
2

Попытайтесь думать о всех возможных бинарных деревьев с этими тремя узлами. Сколько из этих деревьев выполнить свойство двоичного дерева поиска?

Ответил 01/04/2011 в 11:37
источник пользователем

голоса
1

Я думаю, что хитрость заключается в том, что дерево может быть вырожденным (эффективно, связанный список элементов):

1
 \
  2
   \
    3

И их разновидности.

Кроме того, эти деревья считаются одинаковыми?

  2        2
 / \      / \
3   1    1   3
Ответил 01/04/2011 в 11:37
источник пользователем

голоса
1

Если я правильно помню, корень дерева не должен быть «средний элемент». Таким образом, есть еще несколько комбинаций деревьев:

    2
1        3
or
1
    2
        3
or
1    
        3
    2
or
        3
    2
1
or
        3
1
    2

Может быть, я забыл немного, но я думаю, вы получите идею. Только для моей записи: Newline встречает спускайтесь в дереве, справа и слева от upperline showes, является ли он справа или слева от его родительского узла;)

Ответил 01/04/2011 в 11:38
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more