最优二叉搜索树
外观

计算机科学中, 一个最优二叉搜索树[1][2](Optimal BST),有时也被叫做重量平衡二叉树,[3] 是有可能在已知的一串序列中得到最短搜索时间的一棵二叉搜索树(或期望的搜索时间)。 最优二叉搜索树可分为两种:静态的和动态的。
静态的优化问题中,在完全被创建好之前,这棵树是不能被修改的。在这状况中,在这棵树中的每个节点都存在特定的设计,这些设计是依照每个节点被访问的几率去设计出会得到最短的搜索时间。不同的算法能依照每笔资料所给的访问几率去创建或逼近地做出一个静态的优化树。
动态的优化问题中,这棵树可以在任何时间被修改,是允许执行树旋转的。 这棵树有一个从树的根开始的指针,他可以借着移动并使用他去修改一棵树。在这状况里,一定会有一连串序列是有着最小的花费,使得这个指针要去走访整棵树去找出这个序列。 伸展树被推测和动态优化树在任何的情况下都有一个常量比率存在,虽然这还没有被证明出来。
参考来源
[编辑]- ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford. 算法导论. 由殷建平; 徐云; 王刚; 刘晓光; 苏明; 邹恒明; 王宏志翻译 第3版. 北京市: 机械工业出版社. 2013: 226. ISBN 978-7-111-40701-0 (中文(中国大陆)).
- ^ 胡昭民. 圖解資料結構x演算法:運用C語言. 新北市: 博硕文化股份有限公司. 2022: 6-51. ISBN 978-626-333-119-8 (中文(台湾)).
- ^ Tremblay, Jean-Paul; Cheston, Grant A. Data Structures and Software Development in an object-oriented domain. Prentice Hall. 2001. ISBN 0-13-787946-6.