Podstawy Informatyki Metody dostepu do danych cd

Transkrypt

Podstawy Informatyki Metody dostepu do danych cd
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Podstawy Informatyki
Metody dostępu do danych c.d.
dr inż. Alina MOMOT
[email protected]
http://zti.polsl.pl/AMomot/pi
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Plan wykładu
1
Wprowadzenie
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
2
Zadanie o optymalnej strukturze drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
3
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Bazy danych
Baza danych - uporządkowany zbiór danych przechowywany w
pamięci komputera.
Dane reprezentowane są przez rekordy danych stanowiące
uporządkowany zbiór elementów dowolnego typu umieszczony w
tzw. polach, które zawierają klucz rekordu oraz jego atrybuty.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Podstawowe problemy baz danych
1
Problem rozmieszczenia polega na podaniu takiego algorytmu A,
który na podstawie klucza Ki zawartego w rekordzie Ri przydzieli
miejsce (adres) dla tegoż rekordu w określonej strukturze S.
2
Problem odszukania rekordu Ri w strukturze S polega na ustaleniu
adresu tego rekordu, na podstawie klucza Ki i algorytmu A.
3
Problem wyszukania występuje, gdy na podstawie atrybutów
innych niż klucz należy wyszukać odpowiedni rekord1 .
1
rozwiązanie tego problemu polega na przetestowaniu pól wszystkich rekordów i
porównaniu ich zawartości z wartością zadanego atrybutu
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Struktury danych
Podstawowe struktury danych to:
struktury stałe
ich rozmiar jest niezależny od zebranych w nich elementów, ustalony
z góry i niezmienny w czasie wykonywania operacji na strukturze,
m.in. tablice
struktury dynamicznie zmienne
ich rozmiar zależy od liczby zgromadzonych w nich elementów, m.in.
listy, drzewa, sieci.
Rekordy w takich strukturach mają jedno lub kilka dodatkowych pól,
zwanych polami łącznikowymi lub wskaźnikowymi, zwykle
zawierające adresy elementów połączonych z danym rekordem.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Drzewa
Drzewo – struktura, w której element może posiadać wiele następników,
lecz tylko jednego poprzednika.
Drzewo binarne – liczba następników wynosi zero, jeden lub dwa.
Drzewo BST (ang. Binary Search Tree) – drzewo binarne, w
którym lewe poddrzewo każdego węzła zawiera wyłącznie elementy o
kluczach mniejszych niż klucz węzła a prawe poddrzewo zawiera
wyłącznie elementy o kluczach większych.
Drzewo AVL (Adelsona-Velskiego oraz Landisa) – zrównoważone
binarne drzewo poszukiwań (BST), w którym wysokość lewego i
prawego poddrzewa każdego węzła różni się co najwyżej o jeden.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Przykłady drzew binarnych
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Średni czas odszukania
Średni czas odszukania opisuje wzór:
L=
N
X
ci pi ,
i=1
gdzie:
ci – liczba prób wykonanych w celu odnalezienia i-tego rekordu,
pi – prawdopodobieństwo odwołania do i-tego rekordu,
N – wielkość przeszukiwanego zbioru danych.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Średni czas odszukania - wyszukiwanie liniowe
Założenia:
prawdopodobieństwo odwołania do każdego z rekordów jest
jednakowe.
L=
N
X
i=1
ci pi =
N
X
i
i=1
dr inż. Alina MOMOT
N
=
N +1
= O(N)
2
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Średni czas odszukania - wyszukiwanie binarne
Odszukanie rekordu w przypadku:
optymistycznym wymaga 1 próby,
pesymistycznym wymaga dlog2 (N + 1)e prób.
Średni czas odszukania rekordu:
L=
N
X
ci pi = O(log2 (N)).
i=1
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Średni czas odszukania - drzewo BST
Wyszukiwanie w drzewie binarnym w przypadku:
optymistycznym wymaga 1 próby,
pesymistycznym wymaga N prób
drzewo degeneruje się do listy, np. dla posortowanych danych.
Średnio liczba prób wynosi:
L = 2(log2 (N) + γ) − 3,
gdzie γ ≈ 0.577 jest stałą Eulera.
Drzewo wyważone skraca nam drogę poszukiwań średnio o 39%.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Drzewa binarne w pamięci dyskowej
Gdy drzewo binarne przechowywane jest na dysku,
z każdym krokiem związany dostęp do dysku.
Dla drzewa AVL - maksymalna liczba kroków log2 N (wysokość drzewa).
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Drzewa binarne w pamięci dyskowej
Gdy drzewo binarne przechowywane jest na dysku,
z każdym krokiem związany dostęp do dysku.
Dla drzewa AVL - maksymalna liczba kroków log2 N (wysokość drzewa).
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Drzewa binarne w pamięci dyskowej
Gdy drzewo binarne przechowywane jest na dysku,
z każdym krokiem związany dostęp do dysku.
Dla drzewa AVL - maksymalna liczba kroków log2 N (wysokość drzewa).
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Drzewa binarne w pamięci dyskowej
Gdy drzewo binarne przechowywane jest na dysku,
z każdym krokiem związany dostęp do dysku.
Dla drzewa AVL - maksymalna liczba kroków log2 N (wysokość drzewa).
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Drzewo wielokierunkowe
Własności drzewa:
dla każdego składnika, z wyjątkiem pierwszego istnieje dokładnie
jeden składnik poprzedni (poprzednik),
każdy składnik posiada co najwyżej n (n ­ 2) składników
następnych (następników),
pierwszy składnik (korzeń) nie posiada poprzednika,
wszystkie składniki ostatnie (liście) nie mają następnika.
Jeśli n = 2 to drzewo nazywamy drzewem binarnym.
Gdy n > 2, drzewo nazywamy wielokierunkowym rzędu n.
Każdą strukturę dającą się przedstawić w postaci drzewa
wielokierunkowego można także przedstawić w postaci równoważnego
drzewa binarnego.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Bazy danych
Struktury danych
Średni czas odszukania rekordu
Drzewa binarne w pamięci dyskowej
Drzewo wielokierunkowe
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Sformułowanie problemu
Zadanie o optymalnej strukturze drzewa wielokierunkowego
Znalezienie takiej struktury drzewa wielokierunkowego, by dla danej
objętości bazy V, czas odszukania rekordu danego kluczem był minimalny.
Oznaczenia:
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i,
TD – czas odczytu strony z dysku,
TP – czas realizacji operacji testu na danych w pamięci operacyjnej.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zależność objętości bazy od wysokości drzewa
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i.
V
=
m1 +
(m1 + 1) · m2
(m1 + 1) · (m2 + 1) · m3 +
(m1 + 1) · (m2 + 1) · (m3 + 1) · m4 +
...
(m1 + 1) · (m2 + 1) · (m3 + 1) · . . . · (mh−1 + 1) · mh
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zależność objętości bazy od wysokości drzewa
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i.
V
= (m1 + 1) +
(m1 + 1) · m2
(m1 + 1) · (m2 + 1) · m3 +
(m1 + 1) · (m2 + 1) · (m3 + 1) · m4 +
...
(m1 + 1) · (m2 + 1) · (m3 + 1) · . . . · (mh−1 + 1) · mh
−1
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zależność objętości bazy od wysokości drzewa
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i.
V
= (m1 + 1) · (1 +
m2
(m2 + 1) · m3 +
(m2 + 1) · (m3 + 1) · m4 +
...
(m2 + 1) · (m3 + 1) · . . . · (mh−1 + 1) · mh
)−1
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zależność objętości bazy od wysokości drzewa
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i.
V
= (m1 + 1) · (m2 + 1)
· (1+
m3 +
(m3 + 1) · m4 +
...
(m3 + 1) · . . . · (mh−1 + 1) · mh
)−1
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zależność objętości bazy od wysokości drzewa
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i.
V
= (m1 + 1) · (m2 + 1) · (m3 + 1)
· (1+
m4 +
...
. . . · (mh−1 + 1) · mh
)−1
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zależność objętości bazy od wysokości drzewa
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i.
V
= (m1 + 1) · (m2 + 1) · (m3 + 1) · . . . · (1 + mh ) − 1
=
h
Y
(mj + 1) − 1
j=1
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Maksymalny czas dostępu
Maksymalny czas dostępu wyraża się wzorem:
Tmax = h · TD + TP ·
h
X
mj .
j=1
Przy założeniu, że TD = αTP oraz TP = 1
Tmax = h · α +
h
X
j=1
mj =
h
X
(α + mj ).
j=1
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i,
TD – czas odczytu strony z dysku,
TP – czas realizacji operacji testu na danych w pamięci operacyjnej.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Maksymalny czas dostępu
Maksymalny czas dostępu wyraża się wzorem:
Tmax = h · TD + TP ·
h
X
mj .
j=1
Przy założeniu, że TD = αTP oraz TP = 1
Tmax = h · α +
h
X
j=1
mj =
h
X
(α + mj ).
j=1
h – liczba poziomów drzewa,
mi – liczba elementów na stronie poziomu i,
TD – czas odczytu strony z dysku,
TP – czas realizacji operacji testu na danych w pamięci operacyjnej.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zadanie o optymalnej strukturze drzewa
Znaleźć
min
m1 ,m2 ,...,mh ,h
Tmax =
min
m1 ,m2 ,...,mh ,h
h
X
(α + mj )
j=1
przy ograniczeniu
h
Y
(mj + 1) − 1 − V = 0
j=1
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zadanie o optymalnej strukturze drzewa
Znaleźć
min
m1 ,m2 ,...,mh ,h
Tmax =
min
m1 ,m2 ,...,mh ,h
h
X
(α + mj )
j=1
przy ograniczeniu
h
Y
(mj + 1) − 1 − V = 0
j=1
Jest to problem minimalizacji funkcji z ograniczeniami typu
równościowego, które rozwiązuje się metodą mnożników Lagrange’a.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
Sformułowanie problemu
Zależność objętości bazy od wysokości drzewa
Maksymalny czas dostępu
Zadanie o optymalnej strukturze drzewa
Zadanie o optymalnej strukturze drzewa - rozwiązanie
Zakładając, że wysokość drzewa h jest stała, struktura będzie optymalna,
gdy rozmiary stron na każdym z poziomów będą takie same. Wtedy:
V = (m + 1)h − 1
oraz
Tmax = h(α + m).
Podsumowując:
im większy współczynnik α tym bardziej opłaca się budować duże
strony, czyli obniżać wysokość drzewa,
większy rozmiar strony to większe zapotrzebowanie na pamięć
operacyjną,
konieczny jest rozsądny kompromis między zajętością pamięci a
czasem odszukiwania rekordu.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Wady drzew BST
Drzewa BST, nawet w wersjach zrównoważonych, nie najlepiej nadają się
do przechowywania na dysku komputera.
Specyfika pamięci dyskowej polega na tym, że
czas dostępu do niej jest znacznie (o kilka rzędów wielkości) dłuższy
niż do pamięci wewnętrznej (RAM),
odczyt i zapis danych dokonuje się większymi porcjami (zwanymi
blokami lub stronami).
Chaotyczne rozmieszczenie węzłów drzewa BST na dysku prowadzi
do większej niż to naprawdę konieczne liczby dostępów.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
B-drzewa - wprowadzenie
B-drzewa to drzewa poszukiwań wyższych rzędów wynalezione na
początku lat sześćdziesiątych XX wieku przez Bayera i MacCreighta.
W węźle drzewa poszukiwań rzędu n jest maksymalnie n wskaźników
do synów oraz n-1 kluczy, które rozdzielają elementy poszczególnych
poddrzew.
Rozmiar węzła w B-drzewie dobiera się zwykle tak, aby możliwie
dokładnie wypełniał on stronę na dysku.
Zachowanie zrównoważenia umożliwione jest dzięki zmiennemu
stopniowi wypełnienia węzłów.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
B-drzewa - definicja
B-drzewo klasy t(h, m) jest drzewem pustym lub musi spełniać
następujące własności:
1
korzeń jest liściem albo ma od 2 do 2m + 1 potomków,
2
wszystkie liście są na tym samym poziomie,
3
każdy węzeł wewnętrzny oprócz korzenia ma od m + 1 do 2m + 1
potomków i węzeł mający k potomków zawiera k-1 kluczy,
4
każdy liść zawiera od m do 2m kluczy.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
B-drzewa - wnioski
Warunki (3) i (4) gwarantują wykorzystanie przestrzeni dysku
przynajmniej w około 50%.
Warunek (2) zapewnia niewielką wysokość drzewa,
dla drzewa zawierającego N kluczy:
log2m+1 (N + 1) ¬ h ¬ 1 + logm+1
N +1
2
Koszt odszukania w B-drzewach jest co najwyżej proporcjonalny do
wysokości drzewa.
Duża liczba m (np. 1024) jest kluczowa dla wydajności B-drzew.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Odszukiwanie w B-drzewie
Poszukiwanie klucza X rozpoczynamy od korzenia.
W aktualnym węźle zawierającym klucze k1 < k2 < . . . < kn
szukamy klucza X (sekwencyjnie lub binarnie).
Jeśli to poszukiwanie kończy się niepowodzeniem, to:
jeśli aktualny węzeł jest liściem - klucza X w ogóle nie ma w drzewie
lub
mając wyznaczony indeks i o tej własności, że ki−1 < x < ki (przy
założeniu, że k0 = −∞ oraz kn+1 = ∞), rekurencyjnie poszukujemy
klucza x w poddrzewie o korzeniu wskazywanym przez pi .
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład odszukiwania w B-drzewie
Przykład B-drzewa klasy t(3,2)
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład odszukiwania w B-drzewie
Szukany rekord o kluczu 40
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład odszukiwania w B-drzewie
Szukany rekord o kluczu 15
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład odszukiwania w B-drzewie
Szukany rekord o kluczu 16
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Wstawianie w B-drzewie
Dołączanie poprzedzone jest algorytmem odszukania. Znany jest więc
węzeł, do którego ma być dołączony element.
Dołączenie może
być bezkolizyjne i element dołączany jest w ten sposób, by
zachować rosnące uporządkowanie wartości klucza na stronie,
spowodować przepełnienie strony, gdy na stronie zapamiętanych
jest już 2m elementów.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Wstawianie w B-drzewie
W przypadku przepełnienia stosuje się
metodę kompensacji,
gdy jedna ze stron sąsiadujących ze stroną z przepełnioną zawiera
mniej niż 2m elementów
metodę podziału przepełnionej strony na dwie,
co może wywołać potrzebę podziału na jeszcze wyższym poziomie i
tak aż do korzenia.
Konsekwencją podziału strony korzenia jest powiększenie wysokości
drzewa, dlatego w pierwszym rzędzie stosuje się metodę kompensacji.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład wstawiania w B-drzewie
Wstawiany rekord o kluczu 34 - odszukanie strony
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład wstawiania w B-drzewie
Wstawiany rekord o kluczu 34 - dołączenie bezkolizyjne
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład wstawiania w B-drzewie
Wstawiany rekord o kluczu 48 - przepełnienie
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład wstawiania w B-drzewie
Wstawiany rekord o kluczu 48 - metoda kompensacji
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład wstawiania w B-drzewie
Wstawiany rekord o kluczu 48 - przepełnienie
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład wstawiania w B-drzewie
Wstawiany rekord o kluczu 48 - metoda podziału
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Usuwanie w B-drzewie
Usuwanie w B-drzewie również zaczyna się od odszukania węzła z
kluczem do usunięcia.
Jeśli znaleziony węzeł jest liściem, to element jest z niego usuwany.
Jeśli znaleziony węzeł nie jest liściem, to
1
2
w miejsce usuwanego elementu, wpisywany jest element Emin o
najmniejszej wartości klucza z poddrzewa wskazywanego przez
wskaźnik, stojący bezpośrednio po prawej stronie usuwanego
elementu.
Element Emin jest następnie wstawiany w miejsce elementu
usuwanego i usuwany ze strony liścia.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Usuwanie w B-drzewie
Usunięcie elementu może spowodować niedomiar (liczba elementów na
stronie może spaść poniżej wartości m).
W przypadku niedomiaru stosuje się
metodę łączenia,
gdy jedna ze stron sąsiadujących ze stroną z niedomiarem zawiera
tylko m elementów,
metodę kompensacji.
Stosowanie operacji łączenia jest jedyną metodą zmniejszenia wysokości
drzewa.
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład usuwania w B-drzewie
Usuwany rekord o kluczu 38 - usunięcie bezkolizyjne
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład usuwania w B-drzewie
Usuwany rekord o kluczu 48 - problem niedomiaru
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład usuwania w B-drzewie
Usuwany rekord o kluczu 48 - metoda łączenia
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład usuwania w B-drzewie
Usuwany rekord o kluczu 25 - znaleziony węzeł nie jest liściem,
więc szukany jest element Emin w odpowiednim poddrzewie
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład usuwania w B-drzewie
Usuwany rekord o kluczu 25
krok 1 - w miejsce usuwanego elementu, wpisywany jest element Emin
dr inż. Alina MOMOT
Metody dostępu do danych
Plan wykładu
Wprowadzenie
Zadanie o optymalnej strukturze drzewa
B-drzewa
B-drzewa - wprowadzenie
Odszukiwanie w B-drzewie
Wstawianie w B-drzewie
Usuwanie w B-drzewie
Przykład usuwania w B-drzewie
Usuwany rekord o kluczu 25
krok 2 - ostateczne usunięcie jest bezkolizyjne
dr inż. Alina MOMOT
Metody dostępu do danych

Podobne dokumenty