singlepost

Способы реализации 2-3 дерева << На главную или назад  

Подскажите пожалуйста ссылки на литературу по 2-3 деревьям? (интересует литература, а не исходники)

пока понял, что 2-3 деревья обычно реализуются на основе B-деревьев, также то что АА-деревья являются изоморфными для 2-3 деревьев, означает ли это что АА-деревья можно использовать для построения 2-3? какой из методов реализации 2-3 деревьев проще?

p.s. в гугл ходил, гугл молчит

36 ответов в теме “Способы реализации 2-3 дерева”

  1. 11
    Веном Кац ответил:

    А зачем её сносить? ИМХО, тема интересна и полезна.

  2. 10
    Ildar Kamaletdinov ответил:

    ну во многих группах принято сносить темы чтобы не мусорить…

    оставлю…

  3. 9
    Ildar Kamaletdinov ответил:

    спасибо большое за помощь, еще уточню у преподавателя возможные реализации…

    нашел получше визуализатор многих типов деревьев если кому нужно: //people.ksp.sk/~kuko/bak/index.html

    p.s. тему снесу через полчаса, если никто ничего не добавит)

  4. 8
    Евгений Гаврин ответил:

    Для лабораторной, я бы сказал, что нет – не поймут. От Вас ожидают две различных реализации узла, а не надстройку над бинарным деревом.
    Хотя картинка занятная, но это, в первую очередь, все-таки бинарное дерево.

  5. 7
    Ildar Kamaletdinov ответил:

    спасибо большое, стало сразу понятнее, но отсюда возник еще вопрос:

    "Искусство программирования. 3 том" Кнут:
    >>Р. Байер (R. Bayer) [Proc. ACM-SIGFIDET Workshop (1971), 219-235] предложил интересное представление 2-3-деревьев в виде бинарных деревьев. Взгляните на рис. 28, на котором показано такое представление дерева, изображенного на рис. 26. Один бит каждого узла используется для того, чтобы отличать "горизонтальные" правые ссылки RLINK от "вертикальных" Заметьте, что ключи в таком дереве расположены, как и в бинарном дереве поиска, в симметричном порядке слева направо. Оказывается, что при вставке нового ключа в деревья такого типа необ¬ходимо выполнить те же преобразования, что и при вставке в бинарное дерево, а именно — однократные и двукратные повороты (хотя в этом случае требуется только одна версия каждого поворота без отражений относительно вертикальной оси, необходимых для алгоритмов А и С).

    вот картинка:
    //s004.radikal.ru/i207/1002/89/1eadba321258.bmp

    а теперь вопрос: допустима ли реализация 2-3 дерева в таком виде?

  6. 6
    Евгений Гаврин ответил:

    является ли АА-дерево 2-3 деревом?
    Нет.

    Литература: //www.cs.ucr.edu/cs14/cs14_06win/slides/2-3_tre...

  7. 5
    Евгений Гаврин ответил:

    Пример: //www.cosc.canterbury.ac.nz/mukundan/dsal/TwoTh...
    Тыкать в кнопочки поочередно.

  8. 4
    Ildar Kamaletdinov ответил:

    Нам просто лабу задали, формулировка звучит так:

    Цель работы: изучение построения 2-3 деревьев. Оценка их быстродействия по сравнению с двоичными и AVL-деревьями.

    и далее не сказано каким образом строить это дерево…

    Почитал Кнута и Вирта у них указано, что иногда удобнее представлять 2-3 дерево в виде двоичного с доп флагом указания лежит ли узел по вертикали или горизонтали. И тогда балансировка в дереве сводится к поворотам.

    У Арне Андерсона описано, что АА деревья проигрывают по скорости немного B-деревьям, однако тесты в интернете показывают, что B-деревья медленнее немного, чем АА.

    я хочу получить ответ на вопрос является ли АА-дерево 2-3 деревом? вика говорит только, что они изоморфны…

    p.s. подкиньте еще пожалуйста литературы по построению настоящих 2-3 деревьев (B-деревьев степени 3) ибо гугл codesearch показал наличие многих различных вариантов и представлений…

  9. 3
    Павел Васильченко ответил:

    мужчина в своей жизни долженвыратить сына, построить дом и посадить дерево.

  10. 2
    Дмитрий Паращенко ответил:

    Для начала лучше ответить себе на вопрос, для чего ты собираешься использовать 2-3 деревья. Если они не самоцель, я бы просто использовал AA-дерево.

  11. 1
    Леонид Максимов ответил:

    о_О

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.