您的位置:首页 > 其它

最优二叉查找树

2017-08-14 08:39 344 查看


转自:http://www.cnblogs.com/liuzhen1995/archive/2017/02/26/6452519.html


1 问题描述

在了解最优二叉查找树之前,我们必须先了解何为二叉查找树?

引用自百度百科一段讲解:

二叉排序树(Binary Sort Tree)又称二叉查找树(Binary
Search Tree),亦称二叉搜索树

二叉排序树或者是一棵空树,或者是具有下列性质的二叉树

(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;

(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;

(3)左、右子树也分别为二叉排序树;

在二叉查找树的基础上,引出了一个最优二叉查找树的问题:它在查找树中所有节点的平均键值比较次数是最低的。(PS:如若对于最优二叉查找树的定义理解还是有点模糊,可以参考本文最后给出的参考资料中的链接)


 


2 解决方案

本文具体编码思想参考自《算法设计与分析基础》第三版,具体如下(PS:对于文中的具体思想,楼主自己是前后看了三四遍才整明白其具体思想,竟无语吟噎......,如若对于下面贴出的书中介绍无法理解,可以参考文末给出的参考资料的链接中,一位网友的博客讲解哦):















 

 

具体代码如下:

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: