Presentation is loading. Please wait.

Presentation is loading. Please wait.

Priority Search Trees Keys are pairs (x,y). Basic (search, insert, delete) and rectangle operations. Two varieties.  Based on a balanced binary search.

Similar presentations


Presentation on theme: "Priority Search Trees Keys are pairs (x,y). Basic (search, insert, delete) and rectangle operations. Two varieties.  Based on a balanced binary search."— Presentation transcript:

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


Download ppt "Priority Search Trees Keys are pairs (x,y). Basic (search, insert, delete) and rectangle operations. Two varieties.  Based on a balanced binary search."

Similar presentations


Ads by Google