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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

13<br />

Dynamic <strong>and</strong> Kinetic <strong>Data</strong> <strong>Structures</strong><br />

In this chapter, we consider two scenarios where data items change:<br />

dynamic (in which items are inserted <strong>and</strong> deleted) <strong>and</strong> kinetic (in which<br />

the data items move continuously along specified trajectories). In both<br />

cases, queries can be done at any time. It is often useful <strong>for</strong> kinetic<br />

data structures to allow insertions <strong>and</strong> deletions; <strong>for</strong> example, if the<br />

trajectory of an item changes, we must delete the old trajectory <strong>and</strong><br />

insert the new one.<br />

13.1 Dynamic Methods <strong>for</strong> Decomposable Search Problems<br />

In Chapters 10–12, we have already encountered several dynamic data<br />

structures <strong>for</strong> the problems of dictionary lookup <strong>and</strong> range search. In<br />

Chapter 12, we saw how to develop optimal EM range search data<br />

structures by externalizing some known internal memory data structures.<br />

The key idea was to use the bootstrapping paradigm, together<br />

with weight-balanced B-trees as the underlying data structure, in order<br />

to consolidate several static data structures <strong>for</strong> small instances of range<br />

searching into one dynamic data structure <strong>for</strong> the full problem. The<br />

bootstrapping technique is specific to the particular data structures<br />

119

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

Saved successfully!

Ooh no, something went wrong!