17.01.2013 Views

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

x<br />

x<br />

y1<br />

x 2<br />

(a) (b) (c) (d)<br />

y1<br />

x1<br />

x2<br />

y<br />

2<br />

y1<br />

x1<br />

x2<br />

101<br />

Fig. 12.1 Different types of 2-D orthogonal range queries: (a) Diagonal corner two-sided<br />

2-D query (equivalent to a stabbing query, cf. Section 12.3); (b) Two-sided 2-D query;<br />

(c) Three-sided 2-D query; (d) General four-sided 2-D query.<br />

we discuss some of the linear-space data structures used<br />

extensively in practice. None of them come close to satisfying<br />

Criteria 1 <strong>and</strong> 3 <strong>for</strong> range search in the worst case, but<br />

in typical-case scenarios they often per<strong>for</strong>m well. We devote<br />

Section 12.2 to R-trees <strong>and</strong> their variants, which are the<br />

most popular general-purpose spatial structures developed<br />

to date.<br />

• Since the lower bound applies only to general 2-D rectangular<br />

queries, are there any data structures that meet Criteria 1–3<br />

<strong>for</strong> the important special cases of 2-D range searching pictured<br />

in Figures 12.1(a), 12.1(b), <strong>and</strong> 12.1(c)? Fortunately<br />

the answer is yes. We show in Sections 12.3 <strong>and</strong> 12.4 how to<br />

use a “bootstrapping” paradigm to achieve optimal search<br />

<strong>and</strong> update per<strong>for</strong>mance.<br />

• Can we meet Criteria 1 <strong>and</strong> 2 <strong>for</strong> general four-sided<br />

range searching if the disk space allowance is increased<br />

to O � n(logn)/log(log B N +1) � blocks? Yes again! In Section<br />

12.5, we show how to adapt the optimal structure <strong>for</strong><br />

three-sided searching in order to h<strong>and</strong>le general four-sided<br />

searching in optimal search cost. The update cost, however,<br />

is not known to be optimal.<br />

In Section 12.6, we discuss other scenarios of range search dealing<br />

with three dimensions <strong>and</strong> nonorthogonal queries. We discuss the lower<br />

bounds <strong>for</strong> 2-D range searching in Section 12.7.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!