Download presentation
Presentation is loading. Please wait.
Published byDale Dwain Holt Modified over 9 years ago
1
Priority Search Trees Keys are pairs (x,y). Basic (search, insert, delete) and rectangle operations. Two varieties. Based on a balanced binary search tree such as a red-black tree. Red-black Priority Search Tree (RBPST) Based on a radix search tree. Radix Priority Search Tree (RPST)
2
Radix Priority Search Tree All x values are different, integral, and in the range [0, k – 1]. Each node of the priority search tree has exactly one element. Min tree on y. Radix tree on x.
3
Radix Priority Search Tree The y value of the element in node w is <= the y value of all elements in the subtree rooted at w (y values define a min tree). Root interval is [0,k). Interval for node w is [a,b). Left child interval is [a, floor((a+b)/2)). Right child interval is [floor((a+b)/2, b)).
4
Insert Start with empty RPST. k = 16. Root interval is [0,16). Insert (5,8). Insert (6,9). (5,8) remains in root, because 8 < 9. (6,9) inserted in left subtree, because 6 is in the left child interval. 5,8 [0,16) 5,8 6,9 [0,16) [0,8)
5
Insert Insert (7,1). (7,1) goes into the root, because 1 < 8. 5,8 6,9 [0,16) [0,8) 7,1 [0,16) 5,8 [0,8) 6,9 [4,8) (5,8) inserted in left subtree, because 5 is in the left child interval. (5,8) displaces (6,9), because 8 < 9. (6,9) inserted in right subtree, because 6 is in the right child interval.
6
Insert Insert (11,5). 7,1 [0,16) 5,8 [0,8) 6,9 [4,8) 7,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5
7
Properties Height is O(log k). Insert time is O(log k). 7,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5 2,12 [0,4)
8
Search Search time is O(log k). 7,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5 2,12 [0,4)
9
Delete Similar to delete min of min heap. Delete time is O(log k). 7,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5 2,12 [0,4)
10
minXinRectangle(x L,x R,y T ) minXinRectangle(6,12,7). Time is O(log k). 12,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5 2,12 [0,4) [12,16) 14,6
11
Complexity Profile of visited nodes. y ok y notOK y ok y notOK y ok
12
Complexity Yellow node is node closest to root with 2 examined children. y ok y notOK y ok y notOK y ok
13
Complexity No yellow node O(log k) examined nodes Yellow node unique y ok y notOK y ok y notOK y ok
14
Complexity No node in the yellow node’s subtree can have two children marked y ok. y ok y notOK y ok y notOK y ok
15
Complexity y ok y notOK y ok y notOK y ok # nodes visited < 4log k.
16
maxXinRectangle(x L,x R,y T ) maxXinRectangle(6,12,7). Time is O(log k). 12,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5 2,12 [0,4) [12,16) 14,6
17
minYinXrange(x L,x R ) minYinXrange(6,10). Time is O(log k). 12,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5 2,12 [0,4) [12,16) 14,6
18
enumerateRectangle(x L,x R,y T ) enumerateRectangle(6,12,8). Time is O(log k + s), where s is #points in rectangle. 12,1 [0,16) 5,8 [0,8) 6,9 [4,8) [8,16) 11,5 2,12 [0,4) [12,16) 14,6
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.