У меня есть задание по оптимальным бинарным деревьям поиска, и при его выполнении возникло несколько вопросов. Я нашел много ссылок в Интернете полезными (только из поиска Google), но мне было интересно...
Почему ключи должны быть изначально отсортированы?
Если я получаю более низкую стоимость (для оптимального BST), когда ключи не отсортированы, означает ли это, что в моем коде должна быть ошибка?
Должен ли оптимальный BST быть полным/идеальным? (используя определения полного и совершенного из Википедии)
Идеальное бинарное дерево — это полное бинарное дерево, в котором все листья находятся на одной глубине или на одном уровне. [1] (Его также неоднозначно называют полным бинарным деревом.)
Полное бинарное дерево — это бинарное дерево, в котором все уровни, за исключением, возможно, последнего, полностью заполнены, а все узлы находятся максимально слева. [2]
Что касается последнего вопроса, я бы предположил, что оптимальное дерево должно быть полным/идеальным, но некоторые онлайн-апплеты заставляют меня думать иначе. Я не могу объяснить, почему, хотя...