Range Maxima Queries (presented at ICALP 2011) Gerth Stlting Brodal - - PowerPoint PPT Presentation

range maxima queries
SMART_READER_LITE
LIVE PREVIEW

Range Maxima Queries (presented at ICALP 2011) Gerth Stlting Brodal - - PowerPoint PPT Presentation

Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stlting Brodal Aarhus University Kostas Tsakalidis LIAFA, Universit Paris Diderot, France, November 22, 2011 Orthogonal Range Queries y t y b x l x r 2 Priority Search


slide-1
SLIDE 1

Dynamic Planar Range Maxima Queries

(presented at ICALP 2011)

Gerth Stølting Brodal Aarhus University

Kostas Tsakalidis

LIAFA, Université Paris Diderot, France, November 22, 2011

slide-2
SLIDE 2

2

Orthogonal Range Queries

xl yb xr yt

slide-3
SLIDE 3

3

Priority Search Tree [McCreight’75]

Recursively move up maximum y Space: O(n) Update: O(log n)

y

1-Sided reporting: O(1+t)

slide-4
SLIDE 4

4

3-Sided Reporting Queries

O(log n) trees

O(log n + t )

xl xr yb

slide-5
SLIDE 5

5

Orthogonal Range MAXIMA Reporting alias “Generalized Planar SKYLINE Operator”

Dominance Maxima Queries

Report all maximal points among points with x in [xl,+∞) and y in [yb,+∞)

Contour Maxima Queries

Report all maximal points among points with x in (-∞, xr]

3-Sided Maxima Queries

Report all maximal points among points with x in [xl, xr] and y in [yb,+∞)

4-Sided Maxima Queries

Report all maximal points among points with x in [xl, xr] and y in [yb,yt]

xl xr yt Static maximal points in O(n∙log n) time [Kung, Luccio, Preparata, J.ACM’75]

slide-6
SLIDE 6

6

Dynamic Range Maxima Reporting

Space Insert Delete

Overmars, van Leeuwen ‘81 n log n + t log2 n + t log2 n Frederickson, Rodger ‘90 n log n + t log2 n + t (1+t)log n log n log2 n Janardan ‘91 n log n + t log n log2 n Kapoor ‘00 n log n + t amo.

  • log n

B., Tsakalidis [ICALP ’11]

n log n / loglog n + t log n / loglog n n∙log n log2 n / loglog n + t log2 n / loglog n RAM

slide-7
SLIDE 7

7

Overmars, van Leeuwen [JCSS ’81]

O(log n + t ) Updates: O(log2 n)

slide-8
SLIDE 8

8

Our Structure - Tournament Tree

Copy Up Maximum y Right(u) = u

slide-9
SLIDE 9

9

MAX( )

Tournament Tree

Right(u) u Find next point to be reported in O(1) time

y

slide-10
SLIDE 10

10

U UR UL

Computation of MAX(Right(u))

MAX(Right(uR)) MAX(Right(u)) MAX(Right(uL)) [Sundar ‘89] Priority Queue with Attrition O(1) time

slide-11
SLIDE 11

11

Update Operation

Priority Queue with Attrition with Rollback Space:O(n) Update:O(log n)

slide-12
SLIDE 12

12

Priority Queues with Attrition [Sundar, IPL ‘89]

  • Deletemin()
  • InsertAndAttrite(element)

O(1) worst case time

slide-13
SLIDE 13

13

C B Df Dr

17 ≥ 4+2∙5 insertion order

Priority Queues with Attrition [Sundar, IPL ‘89]

Invariants 1) C, B, Df sorted 2) max C ≤ min (B ᴜ Df ᴜ Dr) 3) |C|≥ |Df|+2|Dr|

slide-14
SLIDE 14

14

C B Df Dr

Invariants 1) C, B, Df sorted 2) max C ≤ min (B ᴜ Df ᴜ Dr) 3) |C|≥ |Df|+2|Dr|

BIAS

≥ “+1” 1 2 3 3 2 1

slide-15
SLIDE 15

15

Df +1 Dr -1 B Df -1 A C C=C+Df B=Df=0 D C +1 B -1 A B C D

C B Df Dr C B Df Dr C B Df Dr C B Df Dr

Invariants 1) C, B, Df sorted 2) max C ≤ min (B ᴜ Df ᴜ Dr) 3) |C|≥ |Df|+2|Dr|

BIAS

≥ “+1”

slide-16
SLIDE 16

16

Dominance Range Maxima Queries

O(log n) trees Query time O(log n + t )

slide-17
SLIDE 17

17

Contour Range Maxima Queries

O(log n) trees Query time O(log n + t )

slide-18
SLIDE 18

18

3-Sided Range Maxima Queries

O(log n) trees Query time O(log n + t )

slide-19
SLIDE 19

19

4-Sided Range MAXIMA Reporting and Rectangular Visibility Queries

Space Insert Delete Overmars, Wood ‘88 n∙log n log2 n + t log2 n + t∙log n log2 n log3 n log2 n [ICALP ’11] n∙log n log2 n + t log2 n log2 n

4x

(+∞,+∞) (+∞,-∞) (-∞,+∞) (-∞,-∞)

Proximity Queries/Similarity Search 4-Sided Range Maxima Queries

slide-20
SLIDE 20

20

4-sided Range Maxima Queries

Query time O(log2 n + t), space O(n∙log n)

slide-21
SLIDE 21

21

RAM – O(log n/loglog n + t)

O(logε n) U

  • Height O(log n / loglog n)
  • MAX(Right(u)) maintained

using Q-heaps [Fredman, Willard, JCSS ´94]

slide-22
SLIDE 22

Thank You

Gerth Stølting Brodal Aarhus University

Space Query Insert/Delete

O(n) O(log n/loglog n + t) O(log n/loglog n) O(n∙log n) O(log2 n + t) O(log2 n/loglog n)

RAM