Fully Persistent Graphs - Which One To Choose?

9 years 4 months ago
Fully Persistent Graphs - Which One To Choose?
Functional programs, by nature, operate on functional, or persistent, data structures. Therefore, persistent graphs are a prerequisite to express functional graph algorithms. In this paper we describe two implementations of persistent graphs and compare their running times on different graph problems. Both data structures essentially represent graphs as adjacency lists. The first uses the version tree implementation of functional arrays to make adjacency lists persistent. An array cache of the newest graph version together with a time stamping technique for speeding up deletions makes it asymptotically optimal for a class of graph algorithms that use graphs in a single-threaded way. The second approach uses balanced search trees to store adjacency lists. For both structures we also consider several variations, for example, ignoring edge labels or predecessor information.
Martin Erwig
Added 08 Aug 2010
Updated 08 Aug 2010
Type Conference
Year 1997
Where IFL
Authors Martin Erwig
Comments (0)