View
419
Download
4
Tags:
Embed Size (px)
DESCRIPTION
BTrees and Hashing: Insert elements into a Btree
Citation preview
Dr. Hussien M.
Sharaf3
� When an Index gets very big, it can not be stored in RAM.� It should be stored on file, hence another level of index that can be loaded into memory is required.� Hence we need multilevel of indexing.
Dr. Hussien M.
Sharaf4
B-tree
� Allows searches, insertions, and deletions in O(Log n) .
� The B-tree is a generalization of a binary search tree.
� A Btree of order m is where each node contains (m) keys and (m+1) pointers for children.
� It is a balanced tree.
� Each node is a sorted index of keys.
Dr. Hussien M.
Sharaf6
Adding Records to a B Tree
� If global root still have empty slots then place the new record in sorted position in the appropriate root node.
Dr. Hussien M.
Sharaf7
Adding Records to a B Tree� If current node is full then:
1. Split the leaf node.
2. Place median key in the parent node in sorted order.
3. Records with keys < middle key go to the left leaf node.
4. Records with keys >= middle key go to the right leaf node.
Dr. Hussien M.
Sharaf8
Adding Records to a B Tree� If parent node is full then:
1. Split the parent node.
2. keys < middle key go to the left parent node.
3. key s >= middle key go to the right parent node.
4. The median key goes to the next (higher level) index.
5. IF the next level index node is full, continue splitting the index nodes.
� A hash table is an effective data structure for implementing dictionaries.
� A dictionary is an abstract data type composed of a collection of (key,value) pairs, such that each possible key appears at most once in the collection.
Dr. Hussien M. Sharaf 25
� A hash table uses a hash function as an algorithm to map identifying values, known as keys (e.g., a person's name), to their associated values (e.g., their telephone number).
Dr. Hussien M. Sharaf 26
1. Direct-Address tables.
2. Hash tables.
3. Hash functions.
4. Open addressing.
5. Perfect hashing.
Dr. Hussien M. Sharaf 27