Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Generalization of BSTs
Suitable for disk
MST of order n:
S1 S2. Sm , m n
E.G.M. Petrakis
B-trees
n=4
n=3
E.G.M. Petrakis
B-trees
Cons:
E.G.M. Petrakis
B-trees
Operations on MSTs
E.G.M. Petrakis
B-trees
Important Issues
E.G.M. Petrakis
B-trees
index
storage
Search Algorithm
MST *search (MST *tree, int n, keytype key, int *position) {
MST *p = tree;
while (p != null) {
i = nodesearch(p, key); // search for i in a node pos : i > key
if (i < numtrees(p) 1 && key == key(p, i))
{ *position = i; return p; }
p = son(p, i);
}
position = -1;
return(-1);
}
E.G.M. Petrakis
B-trees
E.G.M. Petrakis
B-trees
10
Complexity of Search
N: number of elements
b: page size
E.G.M. Petrakis
B-trees
11
Insertions
b)
c)
E.G.M. Petrakis
B-trees
12
insert: 70 75 82 77 71 73 84 86 87 85
70
75
82
n=4
max 3 keys/node
70
71
75
73
82
77
84
86
87
85
E.G.M. Petrakis
B-trees
13
MST Deletions
If the key has right or/and left subtrees => find its successor or
predecessor
E.G.M. Petrakis
B-trees
14
60
30 50
153
n=4
180 300
150
170
220 280
173
162
178
187
202
30 50
187 300
153 170
162
E.G.M. Petrakis
173
220 280
178
B-trees
202
15
E.G.M. Petrakis
B-trees
16
22
n=3
9 17
30 40
18
12 13
13
9 12
17
18
4 8 9 12 13 17
E.G.M. Petrakis
12 13
25
70
18
22
50
12 13
n=5
27 30
32
n=7
22 25 27 30 32
B-trees
17
B-Tree Insertions
E.G.M. Petrakis
B-trees
18
n=5
E.G.M. Petrakis
B-trees
19
n=4
E.G.M. Petrakis
B-trees
20
B-trees
21
n=5
E.G.M. Petrakis
B-trees
22
Advantages
E.G.M. Petrakis
B-trees
23
B-Tree Deletions
Two cases:
a) Merging: If less than n/2 keys in left and right
node then, sum of keys + separator key in father
node < n
the two nodes are merged,
one node is freed
b) Borrowing: if after deletion the node has less
than n/2 keys and its left (or right) node has
more than n/2 keys
find successor of separator key
put separator in the place of the deleted key
put the successor as separator key
E.G.M. Petrakis
B-trees
24
n = 4
n = 5
E.G.M. Petrakis
B-trees
25
n=5
E.G.M. Petrakis
B-trees
26
Performance
n
10
50
100
150
disc
accesses
E.G.M. Petrakis
B-trees
27
Performance (cont.)
Insertions/Deletions: Cost
proportional to 2h
E.G.M. Petrakis
B-trees
28
Problem
E.g., search(30)
search(20-30)
E.G.M. Petrakis
B-trees
29
B+-Trees
index
data pages
E.G.M. Petrakis
B-trees
31
Performance
E.G.M. Petrakis
B-trees
32
Insertions
E.G.M. Petrakis
B-trees
33
Deletions
E.G.M. Petrakis
B-trees
34
46
index
19 31 46
13
19
28
31
69
61 69
41
46
50
53
61
82
66
69
75
79
82
84
88
data pages
data pages: min 2, max 3 records
index pages: min 2, max 3 pointers
B+ order: n = 4, n/2 =2
E.G.M. Petrakis
B-trees
35
61
69
55
61
E.G.M. Petrakis
82
88
B-trees
36
46
28
41
46
E.G.M. Petrakis
free
page
B-trees
37
Many variants:
E.G.M. Petrakis
B-trees
38
B+/B-Trees Comparison
E.G.M. Petrakis
B-trees
39