Ссылка на фундаментальную теорему о вращениях деревьев


13

Два бинарных дерева поиска называются линейно эквивалентными, когда они сходятся в своих обходах по порядку. Следующая теорема объясняет, почему повороты деревьев так фундаментальны:

Пусть A и B - бинарные деревья поиска. Тогда A и B линейно эквивалентны тогда и только тогда, когда они связаны последовательностью поворотов дерева.

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

Доказательство простое и интуитивно понятное: поверните наименьший элемент до корневого положения вдоль левого корешка. По порядку инварианта это переставленное дерево не может иметь левого поддерева. Теперь вернитесь на правильное поддерево. Результат - нормальная форма для проверки линейной эквивалентности.

Хотя это базовая теорема, я никогда не сталкивался с ней в литературе. Я был бы очень признателен, если в следующий раз мне понадобится использовать этот результат.

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


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

Ответы:


10

Как указывает здесь Дэвид Эппштейн , неизвестно даже, чтобы найти кратчайший путь для бинарных деревьев. В комментариях к этому ответу он ссылается на лучшие текущие оценки


Я принимаю этот ответ, так как я узнал кое-что из этого. Тем не менее, я все еще хотел бы найти ссылку на структурную теорему, если кто-нибудь знает ее.
Per Vognsen

11

Ранняя статья, в которой это наблюдение было сделано явно - вращение сохраняет обходы по порядку, - это (на рисунке 2) Самонастраивающиеся деревья бинарного поиска Слеатора и Тарьяна 1983 года . Эвристика перехода к корню была изучена в статье Аллена и Манро 1978 года « Самоорганизующиеся деревья двоичного поиска» .


Интересное направление в эквивалентности Пера не в том, что повороты сохраняют порядок, а в том, что вы можете перемещаться между любыми двумя деревьями, которые имеют одинаковый порядок, используя повороты.
Раду GRIGore

Да - именно поэтому я включил перемещение в корень. Есть также еще одна статья Sleator, Tarjan & Thurston (Расстояние вращения, Триангуляции и Гиперболическая геометрия), в которой вычисляются расстояния между любыми двумя деревьями, которые я не включил в свой ответ. Я не думаю, что наблюдение Пера появляется в какой-то одной статье, как есть, но я бы хотел оказаться ошибочным.
Лев Рейзин

Правильное направление - это необходимая часть доказательств правильности деревьев AVL, 2-3 деревьев и т. Д. Противоположное направление глубже. Это говорит о том, что вам не нужны никакие преобразования, сохраняющие структуру, кроме поворотов дерева для полноты.
Пер Вогсен

5

Поскольку вас интересует структура поворотов деревьев, я думаю, что вас также может заинтересовать следующая статья, в которой показано, что график вращения бинарных деревьев с фиксированным числом узлов имеет гамильтонов цикл . На самом деле Лукас показал, что цикл может проходить с постоянной задержкой на дерево. (Вращение может быть выполнено вО(1) конечно, но априори не очевидно, что мы должны быть в состоянии решить, какой поворот выполнить в гамильтоновом цикле в О(1) время.) Естественно, вас также могут заинтересовать ссылки внутри.

Джоан М. Лукас, Граф вращения бинарных деревьев - гамильтонов, Журнал алгоритмов, том 8, выпуск 4, декабрь 1987, страницы 503-535, ISSN 0196-6774, DOI: 10.1016 / 0196-6774 (87) 90048-4 ,

Более простое и конструктивное доказательство более простого факта, что гамильтонов путь в графе вращения существует можно найти в этой более поздней статье, написанной в соавторстве с Лукасом и ее сотрудниками.

Lucas JM, Vanbaronaigien DR, Ruskey F., О вращениях и генерации двоичных деревьев, Журнал алгоритмов, том 15, выпуск 3, ноябрь 1993, страницы 343-366, ISSN 0196-6774, DOI: 10.1006 / jagm.1993.1045 .


-2

Более простое доказательство, также конструктивное, того факта, что путь гамильтониана существует в графе вращения, можно найти в последнем.


4
Ваш ответ кажется неполным?
Джереми
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.