Сортировка с помощью дерева двоичного поиска

Слайд 2

Основные понятия

Двоичные деревья – обычный способ хранения и обработки информации в компьютерных

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

Слайд 3

Рис. 1. Упорядоченный список: 1, 2, 4, 6, 7, 9

Рис. 2. Упорядоченный

Рис. 1. Упорядоченный список: 1, 2, 4, 6, 7, 9 Рис. 2.
список: 1, 2, 4, 6, 7, 8, 9

Слайд 4

procedure InsertItem(var node: PSortNode; new_value: Integer);
begin
if (node = nil) then
begin

procedure InsertItem(var node: PSortNode; new_value: Integer); begin if (node = nil) then
// Достигли листа.
// Вставка элемента в этом месте.
GetMem(node, SizeOf(TSortNode));
node^.Value := new_value;
end
else
if (new_value <= node^.Value) then
begin
// Левая ветвь.
InsertItem(node^.LeftChild,new_value);
end
else begin
// Правая ветвь.
InsertItem(node^.RightChild, new_value);
end; end;

Если вызванная процедура изменяет значение параметра node, в вызывающей процедуре указа­тель на потомка также автоматически обновляется, что добавляет созданный но­вый узел к дереву.
InsertItem(node^.RightChild,new_value);

Слайд 5

Симметричный обход упорядоченных деревьев

Алгоритм сортировки:
1. В сортированное дерево добавляется элемент.
2. Элементы выводятся

Симметричный обход упорядоченных деревьев Алгоритм сортировки: 1. В сортированное дерево добавляется элемент.
с помощью симметричного обхода.

8

4

9

2

7

5

6

Рис. 3. Симметричный обход сортированного дерева: 2, 4, 5, 6, 7,8,9

Слайд 6

Обход упорядоченных деревьев

1

6

5

2

3

4

При добавлении элементов в каком-либо определенном порядке, дерево может стать

Обход упорядоченных деревьев 1 6 5 2 3 4 При добавлении элементов
длинным и тонким.

Рис. 4. Дерево, образованное при добавлении элементов в порядке 1, 6, 5, 2, 3, 4