Book contents
7 - Data Structure Transformations
Published online by Cambridge University Press: 25 January 2011
Summary
Up to now we have described many specific data structures. There are also some general methods that add some additional capabilities or properties to a given data structure. Without any further knowledge about the structure, there is not much we can do, so in each case we need some further assumptions about the operation supported by the structure or its implementation. The two well-studied problems here are how to make a static structure dynamic and how to allow queries in old states of a dynamic data structure.
Making Structures Dynamic
Several of the structures we have discussed were static structures, like the interval trees: they are built once and then allow queries, but no changes of the underlying data. To make them dynamic, we want to allow changes in the underlying data. In this generality, there is not much we can do, but with some further assumptions, there are efficient construction methods that take the static data structure as a black box, which is used to build the new dynamic structure.
The most important such class is the decomposable searching problems. Here, the underlying abstract object is some set X, and in our queries we wish to evaluate some function f(X, query), and this function has the property that for any partition X = X1 ∪ X2, the function value f(X, query) can be constructed from f(X1, query) and f(X2, query).
- Type
- Chapter
- Information
- Advanced Data Structures , pp. 321 - 334Publisher: Cambridge University PressPrint publication year: 2008