Presentation is loading. Please wait.

Presentation is loading. Please wait.

Purely Functional Worst Case Constant Time Catenable Sorted Lists Gerth Stølting Brodal University of Aarhus Joint work with Christos Makris Kostas Tsichlas.

Similar presentations


Presentation on theme: "Purely Functional Worst Case Constant Time Catenable Sorted Lists Gerth Stølting Brodal University of Aarhus Joint work with Christos Makris Kostas Tsichlas."— Presentation transcript:

1 Purely Functional Worst Case Constant Time Catenable Sorted Lists Gerth Stølting Brodal University of Aarhus Joint work with Christos Makris Kostas Tsichlas University of Patras ESA’06, Zürich, Switzerland, September 13, 2006

2 2 Catenable Sorted Lists Insert(T,x) Delete(T,x) Search(T,x) Join(T 1,T 2 ) Split(T,x) T 1 = 2,5,7,8,10,11 T 2 = 13,17,19,34,58,79 Join(T 1,T 2 ) = 2,5,7,8,10,11,13,17,19,34,58,79 This talk

3 3 Catenable Sorted Lists: Search Trees (2,4-trees, red-black trees…) T1T1 T2T2 1 3 2 Search Link Rebalance

4 4 Catenable Sorted Lists: Search Trees (2,4-trees, red-black trees…) T1T1 T2T2 1 3 2 Search Link Rebalance 1 2 3 Worst-case O(1) Worst-case O(log |T 1 |) Worst-case O(log |T 2 |) or amortized O(1) or O(loglog |T 2 |) or worst-case O(1) or amortized O(1)

5 5 Catenable Sorted Lists Search trees Kaplan Tarjan’96 This talk Searchlog n Insert/Deletelog n Joinlog n 1*loglog n s 1 Splitlog nlog n s - n = |T| n s = min(|T 1 |,|T 2 |) * amortized

6 6 O(1) Join and O(log n) Search The ideas….

7 7 Problem: Nodes of arbitrary degree Idea 1: Linking By Size T1T1 T2T2 height O(log n)

8 8 Idea 2: Represent Nodes by Weight-Balanced Trees Problem: Does not support linking by size in O(1) time O(log n)

9 9 Idea 3: Tree-Collections and Lazy Join Tree collection k trees k levels Weight- balanced tree

10 10 Idea 3 (cont.): Lazy Join Weight balanced trees with top-down rebalancing [Bent, Sleator, Tarjan 1985] Old tree collection New tree collection k trees k levels

11 11 Catenable Sorted Lists OperationWorst-case time SearchO(log n) JoinO(1)

12 12 Supporting Insertions: Buckets 2,4-tree O(log n)

13 13 Supporting Deletions: The ideas… Delete leaf Rebalance weight-balanced trees on root-to-leaf path Join O(1) weight-balanced trees in O(log n) time

14 14 Functional Catenable Sorte Lists Functional setting = no side effects allowed Data structures are automatically persistent Idea: Represent spines by functional catenable lists [Kaplan, Tarjan 1995]

15 15 Conclusion Search treesThis talk ♪ Searchlog n Insert/Deletelog n Joinlog n 1*1 Splitlog n- * amortized ♪ purely functional


Download ppt "Purely Functional Worst Case Constant Time Catenable Sorted Lists Gerth Stølting Brodal University of Aarhus Joint work with Christos Makris Kostas Tsichlas."

Similar presentations


Ads by Google