Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
23.03.2015
Размер:
224.77 Кб
Скачать

Практична робота № 5

Тема: специфікація і реалізація нелінійних структур даних (дерева)

До нелінійних структур відносяться багаторівневі списки, дерева, мережі. Серед нелінійних структур даних найбільш важливими є дерева, тому почнемо розгляд нелінійних С.Д. з дерев. Поняття дерев виникає там, де необхідно провести класифікацію, наприклад: дерева виникають при описі дерева гри в шахи, гра в Х і 0 і так далі.

Дерева дуже важливі при зберіганні інформації. для представлення таблиць.

Визначення: Деревом називається кінцева множина Т, що складається з одного або більш вузлів, таких, що є один спеціально виділений вузол, званий коренем цього дерева, а решта вузлів (виключаючи корінь) міститься в m>=0 попарно непересічні множинах Т1, Т2, Т3...Тm, кожне з яких у свою чергу є деревом.

Дерева Т1, Т2, Т3...Тm називаються піддеревами даного кореня. Це рекурсивне визначення непорожнього дерева.

Рекурсивність є природною характеристикою дерев як в інформатиці так і в природі. При роботі з деревами використовується своя термінологія. Ступінь вузла - кількість піддерев. Ступінь дерева - мах ступінь вузлів. Кінцевий вузол (лист) - вузол нульового ступеня. Регулярне дерево - це дерево, у якого всі вузли розгалуження мають один і той же ступінь. Порожнє дерево також вважатимемо деревом і позначати його NIL. Висотою дерева називається мах рівень вузла -1, тобто мах різниця рівнів. Якщо має значення відносний порядок піддерев, то дерево називається впорядкованим. Якщо порядок розташування піддерев даного вузла не істотний, то дерево орієнтоване, інакше - впорядковане. Впорядковані дерева, в яких для кожного вузла може бути 0,1,2 сина називається бінарним.

Існує багато способів представлення дерев. Приведемо найпоширеніші.

а) б)

(A(B(D)(E))(C(F)(G(K))(I)))

д)

ABD.E..CF.GK..I…

е) с)

Рис.1 Виды представления дерева.

Представлення е) зручно при введенні із зовнішніх носіїв. Тут крапка ставиться коли закінчилося поддерево якого - те рівня.

Також існує представлення дерева через використання індексації F-дерево; F[1]-перше піддерево; F[1][1]-перше піддерево першого піддерева.

Наприклад: матрицю можна представити у вигляді дерева

А

А[1] A[2] A[n]

A[1,1] A[1,2] ...

Десятинна система позначень Дьюї:

1. A-вся бібліотека

1.1. B-раздел. літератури

1.1.1.H-раздел кубинської літератури

1.1.2. J-раздел китайської літератури

1.2.c- наукова література

1.2.1. D

1.2.2. E

1.2.2.1. G

Ця система використовується для структур бібліотеки і книги.

Система позначень Дьюї має багато простих математичних властивостей та є корисним засобом при аналізі дерев.

Обхід дерева здійснюється з кореня. Про дерева можна говорити як про впорядковані дерева. У пам'яті впорядкованих дерев є поняття лісу. Вся ця термінологія йде з генеалогічного дерева. Існує два види таких дерев:

- родовід (показує прародителів даного вузла)

Чарльз

Єлізавета V Пилип

мати тато

Єлізавета Георгій IV

Пилип

Якщо дерево впорядковане, то ліва гілка жіноча, права - чоловіча.

  • родова схема (показує нащадків даної особи).

Гомер

Іофет

Ной

Хам

Сім

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

Вузли одного рівня – двоюрідними братами і т.п.

Іноді застосовується материнська термінологія або нейтральна нащадок – предок.

Файли алгебри перед тим, як відбувається компіляція, теж будуються у вигляді дерева:

a-b*(c/d+c/f)

5 4 3 1 2

Найбільш важливими є бінарні дерева.

Визначення: бінарне дерево - це або порожньо, або корінь і два поддерева (ліве і праве). Бінарне дерево є орієнтованим.

З кожним вузлом зв’язуються два покажчика – на лівого та правого сина. Якщо піддерево є порожнім, тоді така точка має назву точкою росту.

Лист – це вузол з двома точками росту.

Всі вузли бінарного дерева беруться з деякої множини на якому повинно бути визначена функція передування < , яка розташовує елементи цієї множини у вигляді послідовності

а1 < а2 < а3 < …. < аN

При цьому для не порожнього бінарного поддерева повинно виконуватися: для всіх вузлів бінарного дерева всі ключі лівого піддерева менше в деякому розумінні ключа кореня, а ключ кореня < ключа правого піддерева.

Бінарні дерева називаються деревами пошуку і є найпростішими деревами пошуку.