Document Sample

2 3 4 2-3-4 Tree B- Tree Outline l d Search Trees Balanced S h • 2-3 Trees • 2 3 4 2-3-4 Trees • B-Tree CSCI 2720 Slide 2 2-3-4 Trees • similar to 2-3 trees • 4-nodes can have 3 items and 4 children 4-node CSCI 2720 Slide 3 2-3-4 Tree Example CSCI 2720 Slide 4 2-3-4 Tree: Insertion Insertion procedure: i il insertion i 2 3 trees • similar to i i in 2-3 • items are inserted at the leafs s ce ode ca o a e a o e e , • since a 4-node cannot take another item, 4-nodes are split up during insertion process Strategy • on the way from the root down to the leaf: split up all 4-nodes "on the way" insertion can be done in one pass (remember: in 2-3 trees, a reverse pass might be necessary) CSCI 2720 Slide 5 2-3-4 Tree: Insertion Inserting 60, 30, 10, 20, 50, 40, 70, 80, 15, 90, 100 CSCI 2720 Slide 6 2-3-4 Tree: Insertion Inserting 60, 30, 10, 20 ... ... 50, 40 ... CSCI 2720 Slide 7 2-3-4 Tree: Insertion Inserting 50, 40 ... ... 70, ... CSCI 2720 Slide 8 2-3-4 Tree: Insertion Inserting 70 ... ... 80, 15 ... CSCI 2720 Slide 9 2-3-4 Tree: Insertion Inserting 80, 15 ... ... 90 ... CSCI 2720 Slide 10 2-3-4 Tree: Insertion Inserting 90 ... ... 100 ... CSCI 2720 Slide 11 2-3-4 Tree: Insertion Inserting 100 ... CSCI 2720 Slide 12 2-3-4 Tree: Insertion Procedure Splitting 4-nodes during Insertion CSCI 2720 Slide 13 2-3-4 Tree: Insertion Procedure Splitting a 4-node whose parent is a 2-node during insertion CSCI 2720 Slide 14 2-3-4 Tree: Insertion Procedure Splitting a 4-node whose parent is a 3-node during insertion CSCI 2720 Slide 15 2-3-4 Tree: Deletion Deletion procedure: • similar to deletion in 2-3 trees • items are deleted at the leafs swap item of internal node with inorder successor • note: a 2-node leaf creates a problem Strategy (different strategies possible) • on the way from the root down to the leaf: turn 2-nodes (except root) into 3-nodes deletion can be done in one pass (remember: in 2-3 trees, a reverse pass might be necessary) CSCI 2720 Slide 16 2-3-4 Tree: Deletion Turning a 2-node into a 3-node ... Case 1: an adjacent sibling has 2 or 3 items "steal" item from sibling by rotating items and moving subtree 30 50 20 50 10 20 40 10 30 40 "rotation" 25 25 CSCI 2720 Slide 17 2-3-4 Tree: Deletion Turning a 2-node into a 3-node ... Case 2: each adjacent sibling has only one item "steal" item from parent and merge node with sibling (note: parent has at least two items, unless it is the root) 30 50 50 10 40 10 30 40 merging 25 35 25 35 CSCI 2720 Slide 18 2-3-4 Tree: Deletion Practice Delete 32, 35, 40, 38, 39, 37, 60 CSCI 2720 Slide 19 B-Trees • Large degree B-trees used to represent very large dictionaries that reside on disk. • Smaller degree B-trees used for internal-memory dictionaries to overcome cache-miss penalties. CSCI 2720 Slide 20 AVL Trees • n = 230 = 109 (approx) (approx). • 30 <= height <= 43. h h AVL tree resides on a di k up to 43 • When the A id disk, disk access are made for a search. • This takes up to (approx) 4 seconds. • Not acceptable. p CSCI 2720 Slide 21 Red-Black Trees • n = 230 = 109 (approx) (approx). • 30 <= height <= 60. h h d bl k id di k • When the red-black tree resides on a disk, up to 60 disk access are made for a search. • This takes up to (approx) 6 seconds. • Not acceptable. p CSCI 2720 Slide 22 m-way Search Trees • Each node has up to m – 1 pairs and m children. • m = 2 => binary search tree. > tree CSCI 2720 Slide 23 4-Way Search Tree 10 30 35 k< 10 < k 30 < k k> 10 < 30 < 35 35 CSCI 2720 Slide 24 Maximum # Of Pairs m nodes. • Happens when all internal nodes are m-nodes. • Full degree m tree. h-1 • # of nodes = 1 + m + m2 + m3 + … + mh 1 f d = (mh – 1)/(m – 1). • Each node has m – 1 pairs. pairs = mh – 1. • So, # of p , CSCI 2720 Slide 25 Capacity Of m-Way Search Tree m=2 m = 200 6 h=3 7 8 * 10 - 1 11 h=5 31 3.2 * 10 - 1 16 h=7 127 1.28 * 10 - 1 CSCI 2720 Slide 26 Definition Of B-Tree • Definition assumes external nodes (extended m-way search tree). ( d d h ) • B-tree of order m. – m-way search tree. py – Not empty => root has at least 2 children. – Remaining internal nodes (if any) have at least ceil(m/2) children. – External (or failure) nodes on same level. CSCI 2720 Slide 27 2-3 And 2-3-4 Trees • B-tree of order m. – m-way search tree. – Not empty => root has at least 2 children. – Remaining internal nodes (if any) have at least ceil(m/2) children. – External (or failure) nodes on same level. • 2-3 tree is B-tree of order 3. • 2-3-4 tree is B-tree of order 4.2720 CSCI Slide 28 B-Trees Of Order 5 And 2 • B-tree of order m. – m-way search tree. – Not empty => root has at least 2 children. – Remaining internal nodes (if any) have at least ceil(m/2) children. – External (or failure) nodes on same level. • B-tree of order 5 is 3-4-5 tree (root be 2-node th may b 2 d though). h) • B-tree of order 2 is full binary tree. CSCI 2720 Slide 29 Minimum # Of Pairs • n = # of pairs. • # of external nodes = n + 1. • Height = h => external nodes on level h + 1. level # of 1 nodes 1 2 >= 2 3 >= h+ 2*ceil(m/2) >= ( / ) 1 n + 1 >= 2*ceil(m/2)h- CSCI 2720 Slide 30 2*ceil(m/2) h-1 h 1 >= 1 Minimum # Of Pairs n + 1 >= 2*ceil(m/2)h-1 2* il( /2)h 1, h >= 1 • m = 200. heig # of ht 2 pairs p>= 3 >= 199 4 > 19 999 106 – 1 >= 2 * 19,999 5 >= 2 * 108 – 1 h <= log ceil(m/2) CSCI 2720 Slide 31 [(n+1)/2] + 1 Choice Of m • Worst-case search time. – (time to fetch a node + time to search node) * height ( g ) – (a + b*m + c * log2m) * h where a, b and c are constants. search sea c time 50 400 CSCI 2720 m Slide 32 Insert 8 4 15 20 1 5 9 16 17 30 40 3 6 Insertion into a full leaf triggers bottom up pass. bottom-up node splitting pass CSCI 2720 Slide 33 Split An Overfull Node m a0 p1 a1 p2 a2 … pm am • ai is a pointer to a subtree. • pi is a dictionary pair pair. ceil(m/2) 1 a0 p1 a1 p2 a2 … ceil(m/2)-1 pceil(m/2)-1 aceil(m/2)-1 m-ceil(m/2) aceil(m/2) pceil(m/2)+1 aceil(m/2)+1 … pm am • pceil(m/2) plus pointer to new node CSCI 2720 is inserted in parent. Slide 34 Insert 8 4 15 20 1 5 9 16 17 30 40 3 6 • Insert a pair with key = 2. • New pair goes into a 3-node. CSCI 2720 Slide 35 Insert Into A Leaf 3-node • Insert new pair so that the 3 keys are in ascending order. 123 • Split overflowed node around middle key. 2 1 3 • Insert middle key and pointer p to new node into parent. CSCI 2720 Slide 36 Insert 8 4 15 20 1 5 9 16 17 30 40 3 6 • Insert a pair with key = 2. CSCI 2720 Slide 37 Insert 8 4 2 15 20 3 1 5 9 16 17 30 40 6 • Insert a pair with key = 2 plus a pointer into parent. CSCI 2720 Slide 38 Insert 8 2 15 20 4 1 3 5 9 16 17 30 40 6 •Now, insert a pair with key = 18. CSCI 2720 Slide 39 Insert Into A Leaf 3-node i h h keys are in • Insert new pair so that the 3 k i ascending order. 16 17 18 node. • Split the overflowed node 17 16 18 • Insert middle key and pointer to new node into parent. p CSCI 2720 Slide 40 Insert 8 2 15 20 4 1 3 5 9 16 17 30 40 6 • Insert a pair with key = 18. CSCI 2720 Slide 41 Insert 8 17 2 15 20 18 4 1 3 5 9 16 30 40 6 • Insert a pair with key = 17 plus a p parent. pointer into p CSCI 2720 Slide 42 Insert 8 17 2 15 20 4 1 3 5 9 16 18 30 40 6 • Insert a pair with key = 17 plus a pointer into p p parent. CSCI 2720 Slide 43 Insert 8 17 2 15 20 4 1 3 5 9 16 18 30 40 6 • Now, insert a pair with key = 7. CSCI 2720 Slide 44 Insert 8 17 6 2 15 20 7 4 1 3 5 9 16 18 30 40 • Insert a pair with key = 6 plus a p parent. pointer into p CSCI 2720 Slide 45 Insert 8 17 4 6 2 15 20 5 7 1 3 9 16 18 30 40 • Insert a pair with key = 4 plus a p parent. pointer into p CSCI 2720 Slide 46 Insert 8 4 17 2 6 15 20 1 3 5 7 9 16 18 30 40 • Insert a pair with key = 8 plus a pointer into parent. • There is no parent. So, create a new 47 CSCI 2720 Slide root. Insert 8 4 17 2 6 15 20 1 3 5 7 9 16 18 30 40 1. • Height increases by 1 CSCI 2720 Slide 48

DOCUMENT INFO

Shared By:

Categories:

Tags:
2-3-4 Tree, B Tree

Stats:

views: | 29 |

posted: | 9/22/2012 |

language: | simple |

pages: | 48 |

OTHER DOCS BY tmkpe18

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.