Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis University of Primorska, October.

Slides:



Advertisements
Similar presentations
Turning Amortized to Worst-Case Data Structures: Techniques and Results Tsichlas Kostas.
Advertisements

Gerth Stølting Brodal University of Aarhus Monday June 9, 2008, IT University of Copenhagen, Denmark International PhD School in Algorithms for Advanced.
Orthogonal range searching. The problem (1-D) Given a set of points S on the line, preprocess them to build structure that allows efficient queries of.
Tight Bounds for Dynamic Convex Hull Queries (Again) Erik DemaineMihai Pătraşcu.
Priority Queues  MakeQueuecreate new empty queue  Insert(Q,k,p)insert key k with priority p  Delete(Q,k)delete key k (given a pointer)  DeleteMin(Q)delete.
An Optimal Dynamic Interval Stabbing-Max Data Structure? Pankaj K. Agarwal, Lars Arge and Ke Yi Department of Computer Science Duke University.
Augmenting Data Structures Advanced Algorithms & Data Structures Lecture Theme 07 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
An Improved Succinct Dynamic k-Ary Tree Representation (work in progress) Diego Arroyuelo Department of Computer Science, Universidad de Chile.
Msb(x) in O(1) steps using 5 multiplications Word size n = g∙g, g a power of 2 [M.L. Fredman, D.E. Willard, Surpassing the information-theoretic bound.
Dynamic Matchings in Convex Bipartite Graphs
Rank-Pairing Heaps Robert Tarjan, Princeton University & HP Labs Joint work with Bernhard Haeupler and Siddhartha Sen, ESA
Konstantinos Tsakalidis 1 Dynamic Data Structures: Orthogonal Range Queries and Update Efficiency Konstantinos Tsakalidis PhD Defense 23 September 2011.
Chapter 7 Data Structure Transformations Basheer Qolomany.
A Linear Time Algorithm for the k Maximum Sums Problem By Gerth S. Brodal and Allan G. Jørgensen.
I/O-Algorithms Lars Arge University of Aarhus February 21, 2005.
I/O-Algorithms Lars Arge Aarhus University February 27, 2007.
Binary Counters Integer Representations towards Efficient Counting in the Bit Probe Model (paper presented at TAMC 2011) Gerth Stølting Brodal (Aarhus.
Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis LIAFA, Université Paris Diderot,
Advanced Data Structures
O(log n) bits or atomic elements
Binary Counters Integer Representations towards Efficient Counting in the Bit Probe Model (presented at TAMC 2011) Gerth Stølting Brodal (Aarhus University)
Computer Science Day 2008 Algorithms and Data Structures for Faulty Memory Gerth Stølting Brodal Department of Computer Science, University of Aarhus,
Update 1 Persistent Data Structures (Version Control) v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Ephemeral query v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Partial persistence.
Purely Functional Worst Case Constant Time Catenable Sorted Lists Gerth Stølting Brodal University of Aarhus Joint work with Christos Makris Kostas Tsichlas.
I/O-Algorithms Lars Arge Aarhus University February 16, 2006.
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
Amortized Rigidness in Dynamic Cartesian Trees Iwona Białynicka-Birula and Roberto Grossi Università di Pisa STACS 2006.
Convex Hull Algorithms for Dynamic Data Kanat Tangwongsan Joint work with Guy Blelloch and Umut Acar (TTI-C)
I/O-Algorithms Lars Arge Aarhus University March 5, 2008.
Fully Persistent B-Trees 23 rd Annual ACM-SIAM Symposium on Discrete Algorithms, Kyoto, Japan, January 18, 2012 Gerth Stølting Brodal Konstantinos Tsakalidis.
I/O-Efficient Structures for Orthogonal Range Max and Stabbing Max Queries Second Year Project Presentation Ke Yi Advisor: Lars Arge Committee: Pankaj.
I/O-Algorithms Lars Arge Aarhus University March 9, 2006.
Comparison Based Dictionaries: Fault Tolerance versus I/O Efficiency Gerth Stølting Brodal Allan Grønlund Jørgensen Thomas Mølhave University of Aarhus.
I/O-Algorithms Lars Arge University of Aarhus March 7, 2005.
1 Geometric index structures April 15, 2004 Based on GUW Chapter , [Arge01] Sections 1, 2.1 (persistent B- trees), 3-4 (static versions.
Compressed Index for a Dynamic Collection of Texts H.W. Chan, W.K. Hon, T.W. Lam The University of Hong Kong.
Strict Fibonacci Heaps Gerth Stølting Brodal Aarhus University George Lagogiannis Robert Endre Tarjan Agricultural University of Athens Princeton University.
Algorithms and Data Structures Gerth Stølting Brodal Computer Science Day, Department of Computer Science, Aarhus University, May 25, 2012.
Time O(log d) Exponential-search(13) Finger Search Searching in a sorted array time O(log n) Binary-search(13)
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
Path Minima on Dynamic Weighted Trees Pooya Davoodi Aarhus University Aarhus University, November 17, 2010 Joint work with Gerth Stølting Brodal and S.
Algorithms and Data Structures Gerth Stølting Brodal Computer Science Day, Department of Computer Science, Aarhus University, May 25, 2012.
I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis Pankaj K. Agarwal, Lars Arge, Ke Yi Duke University University of Aarhus.
Λίστα Εργασιών Data Structures for Tree Manipulation D. Harel and R.E. Tarjan. Fast Algorithms for finding nearest common ancestors. SIAM J. Computing,
Bin Yao (Slides made available by Feifei Li) R-tree: Indexing Structure for Data in Multi- dimensional Space.
Review for Exam 2 Topics covered (since exam 1): –Splay Tree –K-D Trees –RB Tree –Priority Queue and Binary Heap –B-Tree For each of these data structures.
Gerth stølting Brodal 1 Closing a Classical Data Structure Problem Gerth Stølting Brodal : Strict Fibonacci Heaps joint work with George Lagogiannis Robert.
Equivalence Between Priority Queues and Sorting in External Memory
Kinetic Heaps K, Tarjan, and Tsioutsiouliklis. Broadcast Scheduling Parametric and Kinetic Heaps Broadcast Scheduling Using a Kinetic Heap The Computational.
Optimal Planar Orthogonal Skyline Counting Queries Gerth Stølting Brodal and Kasper Green Larsen Aarhus University 14th Scandinavian Workshop on Algorithm.
Sorting Integers in the RAM Model Gerth Stølting Brodal Joint work with Djamal Belazzougui and Jesper Sindal Nielsen (to be presented at the 14th Scandinavian.
Internal Memory Pointer MachineRandom Access MachineStatic Setting Data resides in records (nodes) that can be accessed via pointers (links). The priority.
(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty.
X1x1 x2x2 top-k y 3-sided x1x1 x2x2 External Memory Three-Sided Range Reporting and Top-k Queries with Sublogarithmic Updates Gerth Stølting Brodal Aarhus.
arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
lsb(x) = Least Significant Bit ?
List Order Maintenance
Persistent Data Structures (Version Control)
Searching in Trees Gerth Stølting Brodal Aarhus University
Priority Queues MakeQueue create new empty queue
R-tree: Indexing Structure for Data in Multi-dimensional Space
Topics covered (since exam 1):
STACS arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
Closing a Classical Data Structure Problem Gerth Stølting Brodal
Strict Fibonacci Heaps
8th Workshop on Massive Data Algorithms, August 23, 2016
Melding Priority Queues
Presentation transcript:

Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis University of Primorska, October 10, 2011

2 Orthogonal Range Queries xlxl ybyb xrxr ytyt

3 Priority Search Tree [McCreight’75] Recursively move up maximum y Space: O(n) Update: O(log n) y 1-Sided reporting: O(t)

4 3-Sided Reporting Queries O(log n) trees O(log n + t ) xlxl xrxr ybyb Priority search tree

5 Orthogonal Range MAXIMA Reporting alias “Generalized Planar SKYLINE Operator” Dominance Maxima Queries Report all maximal points among points with x in [x l,+∞) and y in [y b,+∞) Contour Maxima Queries Report all maximal points among points with x in (-∞, x r ] 3-Sided Maxima Queries Report all maximal points among points with x in [x l, x r ] and y in [y b,+∞) 4-Sided Maxima Queries Report all maximal points among points with x in [x l, x r ] and y in [y b,y t ] Maximal Points Maximal Point xlxl ybyb xlxl ybyb xrxr ybyb xlxl xlxl xrxr ybyb ytyt Static maximal points in O(n∙log n) time [Kung, Luccio, Preparata, J.ACM’75]

6 Dynamic Range Maxima Reporting SpaceInsertDelete Overmars, van Leeuwen ‘81nlog n + tlog 2 n + tlog 2 n Frederickson, Rodger ‘90nlog n + t log 2 n + t log n(1+t) log nlog 2 n Janardan ‘91nlog n + tlog nlog 2 n Kapoor ‘00nlog n + t amo.-log n [ICALP ’11] nlog n / loglog n + tlog n / loglog n n∙log nlog 2 n / loglog n + tlog 2 n / loglog n RAM

7 Overmars, van Leeuwen [JCSS ’81] O(log n + t ) Updates: O(log 2 n)

8 Our Structure - Tournament Tree Copy Up Maximum y Right(u) = u

9 MAX( ) Tournament Tree Right(u) u Find next point to be reported in O(1) time y

10 U URUR ULUL Computation of MAX(Right(u)) MAX(Right(u R )) MAX(Right(u)) MAX(Right(u L )) [Sundar ‘89] Priority Queue with Attrition O(1) time

11 Reconstruct Rollback Update Operation Partially Persistent Priority Queue with Attrition O(1) time, space overhead per update step [Brodal ‘96] worst case amortized [Driscol et al. ‘89] Space:O(n) Update:O(log n)

12 Priority Queues with Attrition [Sundar, IPL ‘89]  Deletemin()  InsertAndAttrite(element) O(1) worst case time

13 Partial Persistent Data Structures [Driscoll et al., JCSS ’89]  “Persistent” = remember previous versions  Any pointer-based structure with O(1) indegree Version List [Brodal, NJC ’96]  O(1) worst case time overhead per access step  O(1) worst case time, space overhead per update step  “Rollback” = discard latest version in O(Update) time Queries only Queries & updates

14 Dominance Range Maxima Queries O(log n) trees Query time O(log n + t )

15 Contour Range Maxima Queries O(log n) trees Query time O(log n + t )

16 3-Sided Range Maxima Queries O(log n) trees Query time O(log n + t )

17 RAM – O(log n/loglog n + t) U … O(log ε n) Height O(log n / loglog n) MAX(Right(u)) maintained using Q-heaps [Fredman, Willard, JCSS ´94]

18 4-Sided Range MAXIMA Reporting and Rectangular Visibility Queries SpaceInsertDelete Overmars, Wood ‘88n∙log n log 2 n + t log 2 n + t∙log n log 2 n log 3 n log 2 n [ICALP ’11]n∙log nlog 2 n + tlog 2 n 4x4x (+∞,+∞) (+∞,-∞) (-∞,+∞) (-∞,-∞) Proximity Queries/Similarity Search 4-Sided Range Maxima Queries

19 4-sided Range Maxima Queries Query time O(log 2 n + t), space O(n∙log n)

Thank You Gerth Stølting Brodal Aarhus University SpaceQueryInsert/Delete O(n)O(log n/loglog n + t)O(log n/loglog n) O(n∙log n)O(log 2 n + t)O(log 2 n/loglog n) RAM