рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Типи бінарних дерев

Типи бінарних дерев - раздел Образование, Графи P Очевидно, Що Дерева, Що Складаються З N Вершин, Можуть Бути Побудовані По-Різ...

Очевидно, що дерева, що складаються з n вершин, можуть бути побудовані по-різному. У залежності від того, як будуються дерева, розрізняють: ідеально збалансовані дерева, збалансовані і не збалансовані дерева.

ІДЕАЛЬНО ЗБАЛАНСОВАНІ ДЕРЕВА.Дерево називається ідеально збалансованим, якщо число вершин у його лівих і правих піддеревах відрізняється не більше ніж на одну вершину. Таке дерево має мінімальну глибину (кількість рівнів). Мінімальна глибина досягається, якщо на всіх рівнях, крім останнього, міститься максимально можливе число вершин. Цього просто домогтися, якщо при побудові дерева розміщати вершини нарівно ліворуч і праворуч від кожної вершини. У результаті, у випадку, коли при побудові дерева подавати, наприклад, такі дані: A, B, C, D, E, F, G, то будуть виходити дерева структури, як на рис. 7.27.

 

 

Рис. 7.27. Порядок побудови збалансованого дерева

 

Правило рівномірного розподілу для заздалегідь відомого числа вершин n можна сформулювати так:

1). Взяти одну вершину як корінь.

2). Побудувати ліве піддерево з nl = (n DIV 2) вершинами.

3). Побудувати праве піддерево з nr = (nnl – 1) вершинами.

Наприклад, якщо при побудові дерева з 21 вершиною на вхід надходять такі дані: 8 9 11 15 19 20 21 7 3 2 1 5 6 4 13 14 10 12 17 16 18, то збалансоване дерево, буде мати вигляд як показано на рис. 7.28.

 

 

Рис. 7.28. Ідеально збалансоване дерево

У програмному прикладі 7.3 подано функцію, що дозволяє по заданому nпобудувати ідеально збалансоване дерево.

{===== Програмний приклад 7.3 =======}

Function build_tree(n:integer):TreePtr

Var newnode: TreePtr;

x, nl, nr:integer;

Begin

if n=0 then newnode:=nil else

begin

nl:=n div 2; nr:=n-nl-1;

readln(x); new(newnode);

newnode^.data:=x; newnode^.lptr:= build_tree(nl);

newnode^.rptr:= build_tree(nr);

end; end;

У програмному прикладі 7.4 наведено процедуру виводу вмісту дерева на зразок змісту книг.

{===== Програмний приклад 7.4 =======}

Procedure Printtree(t:TreePtr; n:integer)

Var i:integer;

Begin {друк дерева t з отступом n}

if t<>nil then

Begin

Printtree(t^.lptr, n+1;

for i:=1 to n do write(‘ ‘);

writeln(t^.data:6);

Printtree(t^.rptr, n+1);

end; end;

 

ЗБАЛАНСОВАНІ ДЕРЕВА.Дерево називається збалансованим, якщо висоти лівих і правих піддерев кожної з її вершин відрізняються не більше ніж на одиницю. Дерева, що задовольняють такій умові, часто називають АВЛ-деревами (по імені їхніх відкривачів: Г.М.Адельсона-Вельського і Е.М.Ландіса). Помітимо, що всі ідеально збалансовані дерева є також і АВЛ-деревами. На рис. 7.29 наведені приклади збалансованих дерев.

 

Рис. 7.29. Збалансовані (АВЛ) дерева

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

У збалансованих деревах за час, що пропорційний О(log n) навіть у гіршому випадку, можна виконати такі операції: пошук вершини з заданим ключем, додавання нової вершини з заданим ключем, видалення вершини з зазначеним ключем. Такі твердження є наслідок доведеної Адельсоном-Вельским і Ландисом теореми, що гарантує, що збалансоване дерево ніколи не буде по висоті перевищувати ідеально збалансоване більше ніж на 45 % незалежно від кількості вершин.

НЕЗБАЛАНСОВАНІ ДЕРЕВА.Дерево, що не відповідає вимогам збалансованості є не збалансованим. На практиці частіше мають діло з деревами пошуку; воно росте під час виконання програми. Деревом пошуку називається дерево, для кожної вершини tiякого справедливе твердження, що усі ключи лівого піддерева ti менше ключа вузла ti, а усі ключи правого піддерева ti більше його. Наприклад, якщо при побудові дерева з 21 вершиною на вхід надходять такі дані: 8 9 11 15 19 20 21 7 3 2 1 5 6 4 13 14 10 12 17 16 18, то дерево пошуку буде мати вигляд як показано на рис. 7.30.

Рис. 7.30. Дерево пошуку

 

Алгоритми реалізації основних операцій над деревами пошуку значно простіше ніж над ідеально збалансованими та збалансованими деревами.

– Конец работы –

Эта тема принадлежит разделу:

Графи P

ДИНАМІЧНІ СТРУКТУРИ ДАНИХ R... Особливості динамічних структурP Лінійні зв язні списки P...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Типи бінарних дерев

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Особливості динамічних структур
  Динамічні структури даних по визначенню характеризуються: Ø відсутністю фізичної суміжності елементів структури в пам'яті, Ø мінливістю і непередбачу

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

Застосування лінійних списків
Лінійні списки знаходять широке застосування в додатках, де непередбачені вимоги на розмір пам'яті, необхідної для збереження даних; велике число складних операцій над даними, особливо операцій

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

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

Застосування списків
  Найбільше впровадження списки знайшли у мові програмування LISP. LISP – це мова обробки списків. Усі дані в LISP представляються у вигляді списків, структура елемента списку включає

Застосування списків
  Найбільше впровадження списки знайшли у мові програмування LISP. LISP – це мова обробки списків. Усі дані в LISP представляються у вигляді списків, структура елемента списку включає

Логічна структура, визначення
  Граф - це складна нелінійна багатозв’язна динамічна структура, що відображає властивості і зв'язки складного об'єкта і має наступні властивості: - на кожен елемент (вузол,

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

Алгоритми обробки графів
  Алгоритми обробки графів аналогічні алгоритмам обробки нелінійних списків, до яких можуть бути віднесені графи. Як приклад приведемо програму, що знаходить найкоротший шлях між двом

Основні визначення
Дерево - це граф, що характеризується наступними властивостями: - існує єдиний елемент (вузол, вершина), на який не посилається ніякий інший елемент - який називається корене

Логічне представлення і зображення дерев
Мається ряд способів графічного зображення дерев (див. рис. 7.17). 1). Використання діаграм Венна, що наочно показують вкладеність піддерев. 2). Спосіб,

Логічне представлення і зображення дерев
Мається ряд способів графічного зображення дерев (див. рис. 7.17). 1). Використання діаграм Венна, що наочно показують вкладеність піддерев. 2). Спосіб,

Бінарні дерева
Відрізняють m-арні дерева, тобто такі дерева в яких напівступінь виходу кожної вершини менше або дорівнює m (де m може дорівнювати 0,1,2,3 і т.д.). Якщо напівступінь виходу кожної вершини в точн

Основні операції над деревами
Над деревами визначені наступні основні операції: - обхід дерева у визначеному порядку, - пошук вузла з заданим ключем, - додавання нового вузла, - видалення вуз

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги