Zip Trees

06/18/2018
by   Robert E. Tarjan, et al.
0

We introduce the zip tree, a form of randomized binary search tree. One can view a zip tree as a treap (Seidel and Aragon 1996) in which priority ties are allowed and in which insertions and deletions are done by unmerging and merging paths ("unzipping" and "zipping") rather than by doing rotations. Alternatively, one can view a zip tree as a binary-tree representation of a skip list (Pugh 1990). Doing insertions and deletions by unzipping and zipping instead of by doing rotations avoids some pointer changes and can thereby improve efficiency. Representing a skip list as a binary tree avoids the need for nodes of different sizes and can speed up searches and updates. Zip trees are at least as simple as treaps and skip lists but offer improved efficiency. Their simplicity makes them especially amenable to concurrent operations.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset