@MISC{Ben-amram07theeuler, author = {Amir M. Ben-amram}, title = {The Euler Path to Static Level-Ancestors}, year = {2007} }

Bookmark

OpenURL

Abstract

Suppose a rooted tree T is given for preprocessing. The level-ancestor problem is to answer quickly queries of the following form. Given a vertex v and an integer i> 0, find the ith vertex on the path from the root to v. Algorithms that achieve a linear time bound for preprocessing and a constant time bound for a query have been published by Dietz (1991), Alstrup and Holm (2000), and Bender and Farach (2002). The first two algorithms address dynamic versions of the problem; the last addresses the static version only and is the simplest. The purpose of this note is to expose another simple algorithm that lies under a complicated PRAM algorithm by Berkman and Vishkin (1990,1994). We further show that its simplicity allows for an easy extension of its functionality, adding queries for descendants and level successors as well as ancestors, extensions for which the former algorithm is less suitable. 1