如图所示的二叉排序树 查找成功的平均查找长度为:∑(本层高度*本层元素个数)/节点总数=(1*1+2*2+3*3+3*4)/9 查找不成功的平均查找长度:∑(本层高度*本层补上的叶子个数)/补上的叶子总数=(2*1+3*3+4*6)/10 ...
在看二叉排序树查找分析时,对 二叉排序树查找不成功的平均查找长度 不是很理解,上网查了一下,稍微小结一下: 假如一棵二叉排序树如下: 那么查找不成功的平均查找长度是: 比如说一个数如果比 lt x lt ,那他应该是在 左接点,但是现在 左接点不存在,所以查找不成功,那么就是查找了 次。 你再查找x gt 的接点,他应该是在 右接点上,但是不存在,也是两次。所以由于 左右孩子不存在,查找 lt x ...
2012-12-16 14:28 1 13842 推荐指数:
如图所示的二叉排序树 查找成功的平均查找长度为:∑(本层高度*本层元素个数)/节点总数=(1*1+2*2+3*3+3*4)/9 查找不成功的平均查找长度:∑(本层高度*本层补上的叶子个数)/补上的叶子总数=(2*1+3*3+4*6)/10 ...
导论:首先,沿着二分查找的思路,我们构造一种二叉树来查找,这种二叉树的左子树结点都小于根节点,右子树节点都大于根节点,这样一来,所有结点算是都排好序了,接下来就可以查找 基于二叉排序树的查找 一.二叉排序树的定义 所谓二叉排序树是一个什么样的东西,我们得弄清楚,以下 ...
构造一棵二叉排序树的目的,其实并不是为了排序,而是为了提高查找和插入删除的效率。 那么什么是二叉排序树呢?二叉排序树具有以下几个特点。 1,若根节点有左子树,则左子树的所有节点都比根节点小。 2,若根节点有右子树,则右子树的所有节点都比根节点大。 3,根节点的左,右子树也分别为二叉排序树 ...
二叉排序树 二叉排序树的递归查找 二叉排序树的插入 二叉排序树的创建 二叉排序树的删除 提示:判断是否为二叉排序树时,根据二叉排序树的性质,在进行中序遍历的时候,当前结点的值总是大于前驱结点的值, 需要在遍历时保存前驱结点的值,这样有利于进行判断,基于这样的思路来进行解题。 ...
参考博客: http://www.cppblog.com/cxiaojia/archive/2012/08/09/186752.html 百度百科 二叉查找树(BST)是二叉树的一个重要的应用,它在二叉树的基础上加上了这样的一个性质:对于树中的每一个节点来说,如果有左儿子的话,它的左儿子的值 ...
一、定义 二叉排序树(BST)(二叉查找树)或者是一棵空树,或者是具有下列特性的二叉树: 1)若左子树非空,则左子树上所有的结点的值均小于根结点的值。 2)若右子树非空,则右子树上所有结点的值均大于根结点的值。 3)左右子树均是一棵二叉排序树 注意:由二叉排序树的定义可知,左子树结点值 ...
上一篇总结了索引查找,这一篇要总结的是二叉排序树(Binary Sort Tree),又称为二叉查找树(Binary Search Tree) ,即BSTree。 构造一棵二叉排序树的目的,其实并不是为了排序,而是为了提高查找和插入删除的效率。 什么是二叉排序树呢?二叉排序树具有以下几个特点 ...
) 写一个二叉排序树的类,里面应该有成员函数:获取根结点;中序遍历;递归查找;迭代查找;插入元素;最 ...