Basic External Memory Data Structures
Zorieh Soltani
Yazd University
Fall-1389
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 1 / 50
Basic External Memory Data Structures Zorieh Soltani Yazd - - PowerPoint PPT Presentation
Basic External Memory Data Structures Zorieh Soltani Yazd University Fall-1389 Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 1 / 50 Content 2.3 B-trees 2.4 Hashing Based Dictionaries 2.5 Dynamization
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 1 / 50
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 2 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 3 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 4 / 50
B-trees
level : 0 Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 5 / 50
B-trees
level : 0 level : 1 Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 5 / 50
B-trees
level : 0 level : 1
level : 2
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 5 / 50
B-trees
level : 0 level : 1
level : 2
w(v) v Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 5 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 6 / 50
B-trees Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 7 / 50
B-trees
level : 0 Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 7 / 50
B-trees
1 2blk < w(v) < 2blk
level : 0 level : l Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 7 / 50
B-trees
1 2blk < w(v) < 2blk
level : 0 level : l level : l + 1
1 2bl+1k < w(v) < 2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 7 / 50
B-trees
1 2blk < w(v) < 2blk
level : 0 level : l
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 7 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 8 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 8 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 9 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 10 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 11 / 50
B-trees
b )
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 11 / 50
B-trees
b )
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 11 / 50
B-trees
b )
Z:The number of elements in [a,b]
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 11 / 50
B-trees
1 Optimal solution is based on hashing data structures that performs in
2 Optimal output sensitivity fails when query changes to ”report the
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 12 / 50
B-trees
1 2bl+1k...2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 13 / 50
B-trees
1 2bl+1k...2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 13 / 50
B-trees
1 2bl+1k...2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 13 / 50
B-trees
1 2bl+1k...2bl+1k An overweight node
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 13 / 50
B-trees
1 2bl+1k...2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 13 / 50
B-trees
1 2bl+1k...2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 13 / 50
B-trees
1 2bl+1k...2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 13 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 14 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 15 / 50
B-trees
1 2bl+1k...2bl+1k
1 2blk Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 16 / 50
B-trees
1 2bl+1k...2bl+1k
1 2blk
An underweight node
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 16 / 50
B-trees
1 2bl+1k...2bl+1k
1 2blk 1 2blk... 5 4blk Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 16 / 50
B-trees
4blk 1 2bl+1k...2bl+1k
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 16 / 50
B-trees
1 2bl+1k...2bl+1k
1 2blk
An underweight node
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 17 / 50
B-trees
1 2bl+1k...2bl+1k
1 2blk 5 4blk...2blk Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 17 / 50
B-trees
1 2bl+1k...2bl+1k
1 2blk 5 4blk...2blk
Share childern of two nodes
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 17 / 50
B-trees
1 2bl+1k...2bl+1k
7 8blk − 2bl−1k 7 8blk + 2bl−1k Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 17 / 50
B-trees
1 2bl+1k...2bl+1k
7 8blk − 2bl−1k 7 8blk + 2bl−1k Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 17 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 18 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 19 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 20 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 20 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 20 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 21 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 22 / 50
B-trees
Θ(B) Θ(M/B)
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 23 / 50
B-trees
Θ(B) Θ(M/B) root main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Θ(B) Θ(M/B) main memory
If there are too few or too many children rebalancing operations are performed
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 24 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 25 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 25 / 50
B-trees
N B M B ) I/Os per operation
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 25 / 50
B-trees
N B M B ) I/Os per operation
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 25 / 50
B-trees
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 26 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 27 / 50
B-trees
Θ(B) Θ(M/B) main memory
The buffer is not full
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 27 / 50
B-trees
Θ(B) Θ(M/B) main memory Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 27 / 50
B-trees
Θ(B) Θ(M/B) main memory All buffers on leftmost path are empty Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 27 / 50
B-trees
N B M B ) I/Os
N B M B ) I/Os per
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 28 / 50
B-trees
N B M B ) I/Os
N B M B ) I/Os per
N B M B ) I/Os
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 28 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 29 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 30 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 30 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 31 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 32 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 32 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 32 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 32 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 32 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 33 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 34 / 50
Hashing Based Dictionaries
1 Overflow area 2 Perfect hashing and extendible hashing Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 34 / 50
Hashing Based Dictionaries
1 Overflow area 2 Perfect hashing and extendible hashing
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 34 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 35 / 50
Hashing Based Dictionaries
1 Identify blocks that have overflown 2 Facilitate single I/O lookup of the elements hashing to these blocks Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 36 / 50
Hashing Based Dictionaries
1 Identify blocks that have overflown 2 Facilitate single I/O lookup of the elements hashing to these blocks
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 36 / 50
Hashing Based Dictionaries
1 Identify blocks that have overflown 2 Facilitate single I/O lookup of the elements hashing to these blocks
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 36 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 37 / 50
Hashing Based Dictionaries
1 The time and space needed to evaluate this hash functions is
2 It seems very difficult to obtain a dynamic version Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 37 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 38 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 39 / 50
Hashing Based Dictionaries
′ d for which all its keys map to
′ has run full,it is split into two blocks at
′ + 1 using hd′+1
′ = d we first need to double the size of the directory
′ with keys having the same function value
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 40 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 41 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 41 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 41 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 41 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 42 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 42 / 50
Hashing Based Dictionaries
N B M B ) I/Os
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 42 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 43 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 43 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 43 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 43 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 43 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 44 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 44 / 50
Hashing Based Dictionaries
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 44 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 45 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 46 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 46 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 46 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 47 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 47 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 47 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 48 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 49 / 50
Dynamization Techniques
Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 49 / 50
Dynamization Techniques Zorieh Soltani (Yazd University) Basic External Memory Data Structures Fall-1389 50 / 50