ABSTRACT

This chapter deals with data structures in traditional algorithmic settings. Updates are handled by modifying data or their underlying pointers. Persistent data structures are used in functional programming. Further, in the case of purely functional programs, all data is immutable, therefore all data structures are automatically fully persistent. The data structure is fully persistent if view and modification are possible in all the versions. Path copy duplicates all nodes on the path containing the node about to be inserted or deleted. Functional Persistence model takes its name from functional programming where objects are immutable. Priority queues are data structures in which retroactive operations potentially create chain reactions but produce acceptable results. Temporal data structures are used to create timestamped indices of data and are useful in applications relevant to time travel operations. The chapter discusses basics of temporal data structures.