Занесення елементів в дерево



       

procedureinsert ( x : integer ; var beg : tree ) ;

var P, p1, P2 : tree ;

Begin

New( P );

P^. info := x;

P^. left := Nil;

P^. right := Nil;

if   ( beg = Nil )   then beg := P

           else

           begin

           p1 := beg;

           while   p1<>Nil   do

           begin

              P2:=p1;

              if    x<p1^. info          then   p1 := p1^. left

                                     else p1 := p1^. right;

           end;

           if    x < P2^. info    then  p2^. left := p

                                     else   p2^. right := p;

           end;

end;

 

 

Обхід дерева.

 

Одержання мінімального значення в дереві 

 

function    Getmin ( beg : tree) : integer ;

var p : tree ;

Begin

p := nil;

while     beg <> Nil  do

begin

p := beg ;

beg := beg^. left ;

end;

if    p = nil    then    begin

                           writeln ('derevo pustoe');

                         Getmin := -1 ;

                       end

     else   Getmin := P^. info ;

end;

 

Одержання максимального значення

 

function   Getmax ( beg : tree ) : integer ;

var p : tree;

Begin

p := nil;

while   beg <> Nil     do

Begin

p := beg ;

beg := beg^. right ;

end;

if    p = nil  then   begin

           writeln ('derevo pustoe');

            Getmax := -1;

            end

     else  Getmax := P^. info;

end;

Бінарний пошук

 

Якщо масив невпорядкований, то використовується метод простого перебору всіх його елементів. На практиці досить часто здійснюється пошук у масиві, елементи котрого впорядковані за деяким критерієм. Для пошуку в таких масивах використовуються більш вдосконалені методи, один з них – метод бінарного пошуку, коли на першому кроці обирається середній елемент впорядкованого по зростанню масиву, з яким порівнюється зразок.

Можливі наступні результати порівняння:

1) Середній елемент дорівнює зразку  завдання вирішене.

2) Середній елемент < зразка пошук буде продовжено у верхній (правій) частині масиву.

3) Середній елемент > зразка  пошук буде продовжено у лівій частині масиву.

В двох останніх випадках знов обирається середній елемент, але вже із обраної частини масиву. Цей процес повторюється поки не буде знайдено елемент або не будуть переглянуті всі елементи.

 


Блок-схема алгоритму:

 

                      

 

                                           

 

 

                                                                                                         

 

 

Методичні вказівки з виконання та оформлення лабораторної роботи

 

Згідно до навчального плану студентам необхідно виконати чотири завдання по темі 1.

Завдання повинне включати наступні частини:

1. Теоретична частина. (Необхідно вивчити заданий у вашому варіанті метод сортування або пошуку).

2. Блок-схема алгоритму розв’язання завдання.

3. Програма мовою Pascal, яка відповідає розробленому в попередньому пункті алгоритму.

4. Результат роботи програми. (Результат повинен включати вивід на печатку/екран номеру варіанта, кількості елементів масиву, первісний масив, відсортований масив).

5. Список використаної літератури.

Студенти повинні строго дотримуватися свого варіанту, який вказаний викладачем.

Змістзавдань слід переписувати повністю, а розв’язання має супроводжуватись поясненнями. Лабораторна робота виконується тільки після вивчення відповідних розділів курсу. Рішення завдань повинні бути записані акуратно, з необхідними поясненнями, кресленнями та рисунками. Лабораторні роботи виконуються в термін, вказаний у графіку, але не пізніше, ніж за 5 днів до початку кожного модуля.

       Робота, яка виконана з порушеннями вказаних вимог, не зараховується і повертається студенту для переробки. Студент, що не виконав хоча б одну лабораторну роботу, до модуля та екзамену не допускається.

ЗАВДАННЯ ДО ТЕМИ 1.


Дата добавления: 2018-04-04; просмотров: 334; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!