Your SlideShare is downloading. ×
CS215 - Lec 10   b trees and hashing
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CS215 - Lec 10 b trees and hashing


Published on

BTrees and Hashing: …

BTrees and Hashing:
Insert elements into a Btree

Published in: Education, Technology, Business

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Multilevel Index in form of B trees. Hashing Dr. Hussien M. Sharaf 2
  • 2. Dr. Hussien M. Sharaf 3 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.
  • 3. Dr. Hussien M. Sharaf 4 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.
  • 4. Dr. Hussien M. Sharaf 5 B-tree Example
  • 5. Dr. Hussien M. Sharaf 6 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.
  • 6. Dr. Hussien M. Sharaf 7 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.
  • 7. Dr. Hussien M. Sharaf 8 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.
  • 8. Dr. Hussien M. Sharaf 9 Example for order = 4
  • 9. Dr. Hussien M. Sharaf 10 Inserting X
  • 10. Dr. Hussien M. Sharaf 11 Inserting X
  • 11. Dr. Hussien M. Sharaf 12 Example of Insertions
  • 12. Dr. Hussien M. Sharaf 13 Example for order = 4
  • 13. Dr. Hussien M. Sharaf 14 Example for order = 4
  • 14. Dr. Hussien M. Sharaf 15 Example for order = 4
  • 15. Dr. Hussien M. Sharaf 16 Example for order = 4
  • 16. Dr. Hussien M. Sharaf 17 Example for order = 4
  • 17. Dr. Hussien M. Sharaf 18 Example for order = 4
  • 18. Dr. Hussien M. Sharaf 19 Example for order = 4
  • 19. Dr. Hussien M. Sharaf 20 Example for order = 4
  • 20. Dr. Hussien M. Sharaf 21 Example for order = 4
  • 21. Dr. Hussien M. Sharaf 22 Example for order = 4
  • 22. Dr. Hussien M. Sharaf 23 Properties of B trees
  • 23. Dr. Hussien M. Sharaf 24
  • 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
  • 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
  • 26. 1. Direct-Address tables. 2. Hash tables. 3. Hash functions. 4. Open addressing. 5. Perfect hashing. Dr. Hussien M. Sharaf 27