Исследование алгоритма поиска на бинарном дереве

Автор работы: Пользователь скрыл имя, 20 Октября 2014 в 20:48, курсовая работа

Краткое описание

Когда поиск некоторого элемента необходимо осуществить в упорядоченной по возрастанию или убыванию последовательности, тогда применим алгоритм двоичного (бинарного) поиска. Метод использует стратегию «разделяй и властвуй», а именно: заданная последовательность делится на две равные части и поиск осуществляется в одной из этих частей, которая потом также делится надвое, и так до тех пор, пока обнаружится наличие искомого элемента или его отсутствие.

Содержание

Введение 5
1. Общие сведения о бинарных деревьях 6
2.Описание интерфейса программы. 10
Заключение 11
Список использованных источников 12

Прикрепленные файлы: 1 файл

Курсач.doc

— 171.50 Кб (Скачать документ)

Begin

{ Нет элемента - результата ноль }

IF p = Nil Then Count: =0

Else Begin

{ Рассматриваются  варианты вызова функции с  соответствующими условием}

{ Первый вариант - либо left, либо right не равны Nil }

If ( (v = NeMensheOdnoj) and ( (p^. left <> Nil) or (p^. right <> Nil)))

or

{ Второй вариант - и left, и right не равны Nil }

( (v = Dve) and ( (p^. left <> Nil) and (p^. right <> Nil)))

or

{ Третий вариант - либо left, либо right равны Nil }

( (v = NeBolsheOdnoj) and ( (p^. left = Nil) or (p^. right = Nil)))

{ Какой-то из  вариантов сработал => ставим 1

и добавляем результаты рекурсивных вызовов левой и правой ветви}

Then Count: =1 + Count (p^. left,v) + Count (p^. right,v)

{ Иначе берём 0 и добавляем рекурсивные вызовы }

else Count: =0 + Count (p^. left,v) + Count (p^. right,v)

End;

End;

{----обход дерева----}

Begin ClrScr;

Writeln (Введите количество элементов дерева: ');

Readln (n);

randomize;

For i: =1 To n Do

Begin

Writeln (Введите количество элементов);

Read (c);

Vstavka (t,c);

End;

Print (t,0);

Writeln ('Количество вершин  c >= 1 не нулевые связи: ',Count (t,NeMensheOdnoj));

Writeln (' Количество вершин c 2 не нулевыми связями: ',Count (t,Dve));

Writeln (' Количество вершин c <= 1 не нулевые связи: ',Count (t,NeBolsheOdnoj));

Readkey;

End.

.ru

 

 

 


Информация о работе Исследование алгоритма поиска на бинарном дереве