Изменения

Перейти к: навигация, поиск

Красно-черное дерево

1016 байт добавлено, 20:32, 12 мая 2015
Преимущества красно-чёрных деревьев
== Преимущества красно-чёрных деревьев ==
Одно из основных преимуществ красно-чёрных деревьев заключается в том, что оно использует всего 1 бит дополнительной памяти для хранения цвета вершины. Также при При вставке выполняется не более <tex>O(1)</tex> вращений. Использует всего 1 бит дополнительной памяти для хранения цвета вершины. Но на самом деле в современных вычислительных системах память выделяется кратно байтам, поэтому это не является преимуществом относительно, например, АВЛ-дерева, которое хранит 2 бита. То есть используются целые числа, так как работа с битами требует дополнительных процессорных вычислений. Однако есть реализации красно-чёрного дерева, которые хранят значение цвета в бите. Пример {{---}} Boost Multiindex. Цель хранения цвета в бите {{---}} уменьшение потребления памяти красно-чёрным деревом. Бит цвета в такой реализации хранится не в отдельной переменной, а в одном из указателей узла дерева (этот прием опасен выходом за границу доступной памяти).
Красно-чёрные деревья являются наиболее активно используемыми на практике самобалансирующимися деревьями поиска. В частности, ассоциативные контейнеры библиотеки STL(map, set, multiset, multimap) основаны на красно-чёрных деревьях.
577
правок

Навигация