Algorithms and Data Structures for External Memory
Algorithms and Data Structures for External Memory
Algorithms and Data Structures for External Memory
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