Optimal Search Trees with 2-Way Comparisons
Abstract
In 1971, Knuth gave an -time algorithm for the classic problem of finding an optimal binary search tree. Knuth's algorithm works only for search trees based on 3-way comparisons, while most modern computers support only 2-way comparisons (e.g., , and ). Until this paper, the problem of finding an optimal search tree using 2-way comparisons remained open -- poly-time algorithms were known only for restricted variants. We solve the general case, giving (i) an -time algorithm and (ii) an -time additive-3 approximation algorithm. Also, for finding optimal binary split trees, we (iii) obtain a linear speedup and (iv) prove some previous work incorrect.
Cite
@article{arxiv.1505.00357,
title = {Optimal Search Trees with 2-Way Comparisons},
author = {Marek Chrobak and Mordecai Golin and J. Ian Munro and Neal E. Young},
journal= {arXiv preprint arXiv:1505.00357},
year = {2021}
}
Comments
ERRATUM: The proof of Theorem 3 of the ISAAC'15 paper (v4 here) is incorrect. Version v5 here contains: a full erratum, proofs of the other results, and pointers to journal versions expanding those results