22
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

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

  • Upload
    dotty

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

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. Orthogonal Range Queries. y t. y b. x l. x r. Priority Search Tree [McCreight’75] . Space: O( n ). - PowerPoint PPT Presentation

Citation preview

Page 1: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

Dynamic Planar Range Maxima Queries

(presented at ICALP 2011)

Gerth Stølting BrodalAarhus University

Kostas Tsakalidis

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

Page 2: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

2

Orthogonal Range Queries

xl

yb

xr

yt

Page 3: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

3

Priority Search Tree [McCreight’75]

Recursively move up maximum y

Space: O(n)Update:

O(log n)

y

1-Sidedreporting: O(1+t)

Page 4: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

4

3-Sided Reporting Queries

O(log n) trees

O(log n + t )

xl xr

yb

Priority search

tree

Page 5: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

5

Orthogonal Range MAXIMA Reportingalias “Generalized Planar SKYLINE Operator”

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

Contour Maxima QueriesReport all maximal points among points with x in (-∞, xr]

3-Sided Maxima QueriesReport all maximal points among points with x in [xl, xr] and y in [yb,+∞)

4-Sided Maxima QueriesReport all maximal points among points with x in [xl, xr] and y in [yb,yt]

Maximal Points

Maximal Point

xl

yb

xl

yb

xr

yb

xl xl xr

yb

yt

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

Page 6: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

6

Dynamic Range Maxima Reporting

Space Insert DeleteOvermars, 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 nKapoor ‘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

Page 7: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

7

Overmars, van Leeuwen [JCSS ’81]

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

Page 8: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

8

Our Structure - Tournament Tree

Copy UpMaximum y

Right(u) = u

Page 9: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

9

MAX( )

Tournament TreeRight(u)u Find next point

to be reportedin O(1) time

y

Page 10: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

10

U

URUL

Computation of MAX(Right(u))

MAX(Right(uR))

MAX(Right(u))

MAX(Right(uL))[Sundar ‘89]Priority Queue with AttritionO(1) time

Page 11: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

11

Reco

nstr

uct Rollback

Update Operation

Priority Queue with Attritionwith Rollback

Space:O(n)Update:O(log n)

Page 12: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

12

Priority Queues with Attrition [Sundar, IPL ‘89]

Deletemin() InsertAndAttrite(element)

O(1) worst case time

Page 13: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

13

C B Df Dr

17 ≥ 4+2∙5

insertion order

Priority Queues with Attrition [Sundar, IPL ‘89]

Invariants1) C, B, Df sorted2) max C ≤ min (B ᴜ Df ᴜ Dr)3) |C|≥ |Df|+2|Dr|

Page 14: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

14C B Df Dr

Invariants1) C, B, Df sorted2) max C ≤ min (B ᴜ Df ᴜ Dr)3) |C|≥ |Df|+2|Dr|

BIAS≥ “+1”

12

3

32

1

Page 15: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

15

Df +1Dr -1

BDf -1A C

C=C+Df B=Df=0

DC +1B -1

AB

CD

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

Invariants1) C, B, Df sorted2) max C ≤ min (B ᴜ Df ᴜ Dr)3) |C|≥ |Df|+2|Dr|

BIAS≥ “+1”

Page 16: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

16

Dominance Range Maxima Queries

O(log n) trees

Query time O(log n + t )

Page 17: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

17

Contour Range Maxima Queries

O(log n) trees

Query time O(log n + t )

Page 18: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

18

3-Sided Range Maxima Queries

O(log n) trees

Query time O(log n + t )

Page 19: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

19

4-Sided Range MAXIMA Reporting and Rectangular Visibility Queries

Space Insert Delete

Overmars, Wood ‘88 n∙log n log2 n + tlog2 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

Page 20: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

20

4-sided Range Maxima Queries

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

Page 21: LIAFA,  Université  Paris  Diderot , France, November 22, 2011

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]

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

Thank You

Gerth Stølting BrodalAarhus 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