Finding an optimal path without growing the tree - Chen, Danny Z.; Daescu, Ovidiu; Hu, Xiaobo (Sharon); Xu, Jinhui (Journal of algorithms, 2003)
For problems on computing an optimal path as well as its length in a certain setting, the “standard” approach for finding an actual optimal path is by building (or “growing”) a single-source optimal path tree. In this paper, we study a class of optimal path problems with the following phenomenon: The space complexity of the algorithms for reporting the lengths of single-source optimal paths for these problems is asymptotically smaller than the space complexity of the “standard” tree-growing algorithms for finding actual optimal paths. We present a general and efficient algorithmic paradigm for finding an actual optimal path for such problems without having to grow a single-source optimal path tree. Our paradigm is based on the “marriage-before-conquer” strategy, the prune-and-search technique, and a new data structure called clipped trees. The paradigm enables us to compute an actual path for a number of optimal path problems and dynamic programming problems in computational geometry, graph theory, and combinatorial optimization. Our algorithmic solutions improve the space bounds (in certain cases, the time bounds as well) of the previously best known algorithms, and settle some open problems. Our techniques are likely to be applicable to other problems.