Year: 2015
4/22 [elc]   ELC Seminar (Prof. M. Golin)
Date: April 22nd
Time: 16:00 - 17:00

Optimal Binary Comparison Search Trees
Professor Mordecai Golin (CSE Dept, Hong Kong UST)

Historically, constructing optimal (minimum average search time)
binary search trees  (BSTs) is one of the canonical examples of 
dynamic programming.  In 1971, Knuth described how to solve this 
problem in O(n^2) time, with input specifying the probability of the 
different successful and unsuccessful searches.   While the trees 
constructed were binary, the comparisons used were ternary. 
Successful searches terminated at internal nodes and unsuccessful 
searches at leaves.

By contrast, in binary comparison trees  (BCSTs), internal nodes 
perform binary comparisons; the search branches left or right 
depending upon the comparison outcome and all searches terminating at 
leaves. Polynomial algorithms exist for solving the optimal BCST 
problem restricted to successful searches.  Hu and Tucker gave an O(n 
log n) algorithm when all comparisons are the inequality “<”;  
Anderson et. al. developed an O(n^4) algorithm when both “<” and “=” 
comparisons are allowed.

In this talk we present the first polynomial time algorithms for 
solving the optimal BCST  problem when unsuccessful searches are 
included in the input and any set of comparisons are permitted. Our 
running times depend upon the comparisons allowed.  If equality is 
not allowed, our algorithm runs in O(n log n) time; if equality is 
allowed, O(n^4). We also demonstrate O(n) time algorithms that yield 
almost optimal binary comparison trees, with tree cost within 
constant additive factor of optimal.

This is joint work with Marek Chrobak,  Ian Munro and Neal Young. 

(Host: Osamu Watanabe)



horiyama@al.ics.saitama-u.ac.jp