Информатика
2.При поступлении каждая следующая запись сравнивается с корневой.
2.1.Если поступившая запись предшествует корневой, идти в левое поддерево.
2.2.Иначе — в правое поддерево.
3.Если того поддерева, в которое можно вставить новую запись не существует (на что указывает значение nil левой или правой связи), то новую запись надо вставить в этом месте (тем самым формируя новое поддерево, состоящее из единственной записи).
При этом для вставки новой записи нет необходимости изменять связи, указывающие на другие записи как для связывания списка.
Алгоритм просмотра входящих в упорядоченное дерево записей и изображения записей, отсортированных по выбранному ключу (prozm (kor)):
1.Изобразить записи левого поддерева и т. д., пока не будет встре- чено пустое поддерево — тогда никаких действий не предпринимать.
2.Изобразить корневую запись.
3.Напечатать записи правого поддерева, пока не будет встречено пустое поддерево.
Алгоритм двоичного поиска в упорядоченном дереве:
1.Если дерево не пусто, сравнить искомый ключ с тем, что в корне дерева.
2.Если ключи совпадают, поиск заверш¸н.
3.Если ключ в корне больше искомого, выполнить поиск в левом поддереве.
4.Если ключ в корне меньше искомого, выполнить поиск в правом поддереве.
5.Если дерево пусто (пройдены все элементы), поиск неудачен.
Рекурсивные алгоритмы работы с двоичными деревьями
Дадим рекурсивное определение дерева. Представим, что отдельные дуги дерева ведут к частям дерева, которые сами являются деревьями. Такая точка зрения приводит к рекурсивному определению дерева. Дерево — это пустая структура или узел, связанный дугами с конечным числом деревьев. Прохождение дерева заключается в обходе всех его
узлов. Рекурсивный алгоритм прохождения двоичного дерева будет таким:
1.Посетить корень.
2.Посетить левое поддерево.
3.Посетить правое поддерево.