cs215 - lec 10 b trees and hashing

28

Upload: arab-open-university-and-cairo-university

Post on 29-Jun-2015

419 views

Category:

Education


4 download

DESCRIPTION

BTrees and Hashing: Insert elements into a Btree

TRANSCRIPT

� Multilevel Index in form of B trees.

� Hashing

Dr. Hussien M.

Sharaf2

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.

Sharaf5

B-tree Example

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.

Dr. Hussien M.

Sharaf9

Example for order = 4

Dr. Hussien M.

Sharaf10

Inserting X

Dr. Hussien M.

Sharaf11

Inserting X

Dr. Hussien M.

Sharaf12

Example of Insertions

Dr. Hussien M.

Sharaf13

Example for order = 4

Dr. Hussien M.

Sharaf14

Example for order = 4

Dr. Hussien M.

Sharaf15

Example for order = 4

Dr. Hussien M.

Sharaf16

Example for order = 4

Dr. Hussien M.

Sharaf17

Example for order = 4

Dr. Hussien M.

Sharaf18

Example for order = 4

Dr. Hussien M.

Sharaf19

Example for order = 4

Dr. Hussien M.

Sharaf20

Example for order = 4

Dr. Hussien M.

Sharaf21

Example for order = 4

Dr. Hussien M.

Sharaf22

Example for order = 4

Dr. Hussien M.

Sharaf23

Properties of B trees

Dr. Hussien M. Sharaf 24

� 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