\documentclass{article} \usepackage{me} \setlength{\parindent}{0pt}
This material takes 1 hour.

Persistent Data Structures

Sarnak and Tarjan, "Planar Point Location using persistent trees", Communications of the ACM 29 (1986) 669--679

"Making Data Structures Persistent" by Driscoll, Sarnak, Sleator and Tarjan Journal of Computer and System Sciences 38(1) 1989

Idea: be able to query and/or modify past versions of data structure.

Goal: general technique that can be applied to any data structure.

Application: planar point location.

Persistent sorted sets:

We use partial persistence: updates only in “present”

Implement via persistent search trees.

Result: $O(n)$ space, $O(\log n)$ query time for planar point location.

Persistent Trees

Many data structures

Our goal: use simulation to transform any ephemeral data structure into a persistent one

Full copy bad.

Fat nodes method:

Path copying:

Combined Solution (trees only):

Power of twos: Like Fib heaps. Show binary tree of modifications.

Application: persistent red-black trees:

Improvement:

Result: $O(n)$ space, $O(\log n)$ query time for planar point location.

Extensions: