Рисунок общего дерева
Продолжается подписка на наши издания! Вы не забыли подписаться? Вы когда-нибудь задавали себе вопрос — как устроены индексы в СУБД?
Бинарные деревья
В природе существует большое разнообразие деревьев, также как и большое разнообразие животных или птиц. Всё это огромное множество классифицируется по разным признакам. Но для художника важны особенности внешнего вида дерева.
Запустим обход в глубину из корня, который будет вычислять значения следующих величин:. Рассмотрим дерево на рисунке 1. Найдем наименьшего общего предка вершин, помеченных красным цветом. Список глубин, получающийся в результате обхода в глубину — [math][0, 1, 2, 1, 2, 1, 0, 1, 0].
В этой статье мы рассмотрим особенности реализации основных операций с бинарными поисковыми деревьями в исходном коде. Рекомендуется вначале ознакомиться с теорией и описаниями алгоритмов в псевдокоде см. Файл:Book iRunner BinTree. Реализация тех же деревьев на языке C похожа на Java-реализацию и обладает сопоставимой производительностью. Для простоты код на языке C в этой статье не приводится. Используется другой синтаксис указатели вместо ссылок , применяется ручное управление памятью освобождение памяти при удалении вершин , больше мест, где можно совершить трудноуловимую ошибку.