假定有一组英语单词与其法语的翻译,要根据英语单词搜索其法语翻译;有以下两个条件
1. 单词的出现频率不同
2. 有些单词没有对应的法语单词,称为伪单词
在给定单词出现频率的前提下,如果组织一棵二叉搜索树,使得所有搜索操作访问的节点总数最少
问题形式化为
给定一个序列,有n个关键字组成:K =
{k1, k2, ..., kn},对每个关键字有其对应的搜索频率pi
另外有些K中的伪关键字,我们将其分为n+1个集合:D = {d0, d1, ..., dn},其中d0表示小于k1的值,dn表示大于kn的值,di表示在ki和ki+1之间的值,对应的也有搜索频率qi
从而 pi + qj = 1 i = 1, ...n j = 0, ...n