This paper is a study of persistence in data structures. Ordinary data structures are ephemeral in the sense that a change to the structure destroys the old version, leaving only the new version available for use. In contrast, a persistent structure allows access to any version, old or new, at any time. We develop simple, systematic, and efftcient techniques for making linked data structures persistent. We use our techniques to devise persistent forms of binary search trees with logarithmic access, insertion, and deletion times and O( 1) space bounds for insertion and deletion.
This paper is a study of persistence in data structures. Ordinary data structures are ephemeral in the sense that a change to the structure destroys the old version, leaving only the new version available for use. In contrast, a persistent structure allows access to any version, old or new, at any time. We develop simple, systematic, and efftcient techniques for making linked data structures persistent. We use our techniques to devise persistent forms of binary search trees with logarithmic access, insertion, and deletion times and O( 1) space bounds for insertion and deletion.
i=0 f i P j (z i)w(i) for some associated weight function w. These sorts of transforms nd important applications in areas such as medical imaging and signal processing. In this paper we present fast algorithms for computing discrete orthogonal polynomial transforms. For a system of N orthogonal polynomials of degree at most N ? 1 we give an O(N log 2 N) algorithm for computing a discrete polynomial transform at an arbitrary set of points instead of the N 2 operations required by direct evaluation. Our algorithm depends only on the fact that orthogonal polynomial sets satisfy a three-term recurrence and thus it may be applied to any such set of discrete sampled functions. In particular, sampled orthogonal polynomials generate the vector space of functions on a distance transitive graph. As a direct application of our work we are able to give a fast algorithm for computing subspace decompositions of this vector space which respect the action of the symmetry group of such a graph. This has direct applications to treating computational bottlenecks in the spectral analysis of data on distance transitive graphs and we discuss this in some detail. J. Driscoll, D. Healy supported in part by DARPA as administered by the AFOSR under contract AFOSR-90-0292. D. Rockmore supported in part by an NSF Math Sciences Postdoctoral Fellowship y
The relaxed heap is a priority queue data structure that achieves the same amortized time bounds as the Fibonacci heap-a sequence of m decrease^key and n delete_min operations takes time 0{m + n log n). A variant of relaxed heaps achieves similar bounds in the worst case-0(1) time for decrease^key and O(log n) for delete.min. Relaxed heaps give a processor-efficient parallel implemetxtation of Dijkstra's shortest path algorithm, and hence other algorithms in network optimization. A relaxed heap is a type of binomial queue that allows heap order to be violated.
INTRODUCTIONThe Fihonacci heap data structure of Fredman and Tarjan allows an optimal implementation of Dijkstra's shortest path algorithm [3]. It is central to the hestknown algorithm for minimum spanning trees [5] and many other algorithms. These applications are based on the fact that, with a Fihonacci heap, a sequence of m decrease-key and n delete-min operations takes time 0[m + n log n). Equivalently, Fibonacci heaps achieve an amortized time of 0(1] for decrease-key and O[log n) for delete-min.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.