最佳化二元搜寻树
计算机科学中, 一个最佳二元搜寻树(Optimal BST),有时也被叫做重量平衡二元树,[1] 是有可能在已知的一串序列中得到最短搜寻时间的一棵二元搜寻树(或期望的搜寻时间)。 最佳化二元搜寻树可分为两种:静态的和动态的。
静态的最佳化问题中,在完全被创建好之前,这棵树是不能被修改的。在这状况中,在这棵树中的每个节点都存在特定的设计,这些设计是依照每个节点被存取的机率去设计出会得到最短的搜寻时间。不同的演算法能依照每笔资料所给的存取机率去创建或逼近地做出一个静态的最佳化树。
动态的最佳化问题中,这棵树可以在任何时间被修改,是允许执行树旋转的。 这棵树有一个从树的根开始的指标,他可以藉著移动并使用他去修改一棵树。在这状况里,一定会有一连串序列是有著最小的花费,使得这个指标要去走访整棵树去找出这个序列。 伸展树被推测和动态最佳化树在任何的情况下都有一个常数比率存在,虽然这还没有被证明出来。
参考来源
- ^ Tremblay, Jean-Paul; Cheston, Grant A. Data Structures and Software Development in an object-oriented domain. Prentice Hall. 2001. ISBN 0-13-787946-6.