Combinatorial Merging and Huffman's Algorithm
Huffman's algorithm produces an optimal weighted r-ary tree on a given set of leaf weights, where the weight of any parent node is the maximum of the son weights plus some positive constant. If the weights are viewed as (parallel) completion times, the algorithm has useful applications to combinatorial circuit design— especially for merging, or "fanning-in," a set of inputs with varying ready times: the weight of the tree's root node is then the completion time of the whole merging process. In this note we give new, tight upper and lower bounds on the weight of this root node (extending some work of Golumbic), and briefly describe an application in multiplexor design which exercises both of these bounds.