Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Двоичные Б-деревья (ДБД) m=1

Определение. Двоичное Б-дерево состоит из страниц с одним или двумя элементами, страница содержит две или три ссылки на поддеревья.Пример: илиТак как имеем дело с оперативной
Двоичные Б-деревья (ДБД) m=1Б-деревья первого порядка не имеет смысла использовать для представления Определение. Двоичное Б-дерево состоит из страниц с одним или двумя элементами, страница Так как каждая страница может иметь не более трех потомков (содержать не Однако,Необходимо делать различия между горизонтальными и вертикальными ссылками;Необходимо следить, чтобы все листья Рассмотрим добавление вершины в ДБД. Различают 4 возможных ситуации, возникающие при росте левых и правых поддеревьев abcabcVR=0HR=1abcdabcd1000VR=1HR=0abc10abcd100 Алгоритм построения ДБДVR=1 HR=1B2INSERT(D, Vertex *&p)IF ( p=NULL )  , ELSE IF (p-->DataRight)        IF (VR=1) К У Р А П О В Е Л Н И Т К У Р А П О В Е Л Н И Т   Однако, при построении ДБД реже приходится переставлять вершины (повороты выполняются лишь
Слайды презентации

Слайд 2 Определение. Двоичное Б-дерево состоит из страниц с одним

Определение. Двоичное Б-дерево состоит из страниц с одним или двумя элементами,

или двумя элементами, страница содержит две или три ссылки

на поддеревья.
Пример: или


Так как имеем дело с оперативной памятью, то необходимо её эффективно использовать. Поэтому представление страницы в виде массива уже не подходит.
Решение – динамическое размещение на основе списочной структуры. Страница - список из одного или двух элементов.

• X •

• X • Y •

a

b

a

b

c


Слайд 3 Так как каждая страница может иметь не более

Так как каждая страница может иметь не более трех потомков (содержать

трех потомков (содержать не более трех ссылок), то попытаемся

объединить ссылки на потомков и ссылки внутри страницы (вертикальные и горизонтальные).
Тогда страницы Б-дерева теряют свою целостность. Элементы начинают играть роль вершин в двоичном дереве.

a

b

a

b

c

X

X

Y


Слайд 4 Однако,
Необходимо делать различия между горизонтальными и вертикальными ссылками;
Необходимо

Однако,Необходимо делать различия между горизонтальными и вертикальными ссылками;Необходимо следить, чтобы все

следить, чтобы все листья были на одном уровне.
Введем логические

переменные HR и VR – горизонтальный и вертикальный рост дерева.
Показатель баланса Bal = 0 или 1



Bal помещаем в структуру дерева,
переменные HR и VR – глобальные.

a

b

c

X

Y

1

0




Слайд 5 Рассмотрим добавление вершины в ДБД.
Различают 4 возможных

Рассмотрим добавление вершины в ДБД. Различают 4 возможных ситуации, возникающие при росте левых и правых поддеревьев

ситуации, возникающие при росте левых и правых поддеревьев


Слайд 6 a
b
c
a
b
c
VR=0
HR=1
a
b
c
d
a
b
c
d
1
0
0
0
VR=1
HR=0
a
b
c
1
0
a
b
c
d
1
0
0

abcabcVR=0HR=1abcdabcd1000VR=1HR=0abc10abcd100

Слайд 7 Алгоритм построения ДБД
VR=1 HR=1
B2INSERT(D, Vertex *&p)
IF ( p=NULL

Алгоритм построения ДБДVR=1 HR=1B2INSERT(D, Vertex *&p)IF ( p=NULL ) , p-->Data

) , p-->Data =

D,
p-->Left = p-->Right = NULL, p-->Bal = 0, VR = 1
ELSE IF ( p-->Data > D) B2INSERT(D, p-->Left)
IF ( VR=1 )
IF (p-->Bal=0) q=p-->Left, p-->Left=q-->Right, q-->Right=p,
p=q, q-->Bal=1, VR=0, HR=1
ELSE p-->Bal=0, VR=1, HR=0
FI
ELSE HR=0
FI

Слайд 8 ELSE IF (p-->DataRight)

ELSE IF (p-->DataRight)    IF (VR=1) p-->Bal=1, HR=1, VR=0

IF (VR=1) p-->Bal=1, HR=1, VR=0

ELSE IF (HR=1)
IF(p-->Bal=1) q=p-->Right, p-->Bal=0,
q-->Bal=0, p-->Right=q-->Left,
q-->Left=p, p=q, VR=1, HR=0
ELSE HR=0
FI
FI
FI
FI
FI


Слайд 9 К У Р А П О В Е

К У Р А П О В Е Л Н И Т

Л Н И Т


Слайд 10 К У Р А П О В Е

К У Р А П О В Е Л Н И

Л Н И Т
Очевидно, что двоичные Б-деревья представляют

собой альтернативу критерию АВЛ-сбалансированности.

  • Имя файла: dvoichnye-b-derevya-dbd-m1.pptx
  • Количество просмотров: 133
  • Количество скачиваний: 0