01 1. 如图所示的二叉排序树,查找成功时的平均查找长度是( )。 A. 21/7 B. 28/7 C. 15/6 D. 21/6 答案:C 2. 在一棵平衡二叉树中,每个结点的平衡因子的取值范围是( ) 。 A. -1~1 B. -2~2 C. 1~2 D. 0~1 答案:A 3. (判断题)查 ...
分类:
其他好文 时间:
2020-05-29 23:00:23
阅读次数:
389
周数 专业学习目标 专业学习时间 新增代码 博客发表量 知识技能总结 第八周 掌握数据结构与算法 6h 150h 1 了解二叉树的创建与遍历的递归思想 第九周 掌握数据结构与算法 8h 130h 1 掌握二叉树的查找 第十周 掌握数据结构与算法 7h 160h 1 学习l哈尔曼树 第十一周 掌握数据 ...
分类:
其他好文 时间:
2020-05-26 20:29:45
阅读次数:
61
多路查找树 特点:没个结点的孩子可以有多与两个孩子,且每个结点处可存放多个元素,所以元素之间存在某种特定的排序关系 2-3树 多路查找树中每个结点都具有两个或三个子结点,称为2-3树。 一个结点拥有两个子结点,称为2结点,拥有三个子结点,称为3结点 与二叉排序树类似,左子树包含元素小于结点元素,右子 ...
分类:
其他好文 时间:
2020-05-13 20:27:58
阅读次数:
85
二叉排序树 插入,删除和查找的效率都比较高(创建时与二叉树相同) 二叉排序树又称为二叉排序树,若不为空树,则有以下性质: 若左子树不为空,则左子树上所有结点值均小于根节点的值 若右子树不为空,则右子树上所有结点值均小于根节点的值 他的左右子树也是二叉树排序树(递归) 查找:二叉树的中序遍历(从小到大 ...
分类:
编程语言 时间:
2020-05-11 23:36:00
阅读次数:
80
静态查找 数据集合稳定,不需要添加,删除元素的查找 对于静态查找:可以用线性表结构组织数据,这样便可使用顺序查找算法,如果再对关键字进行排序,则可使用折半查找法或斐波那契查找法等来提高效率 动态查找 数据集合在查找的过程中需要同时添加或删除元素的查找 对于动态查找:可考虑使用二叉排序树的查找技术,另 ...
分类:
其他好文 时间:
2020-05-11 15:11:36
阅读次数:
82
题目非常简单,之所以记录一下是因为总是忽略中序遍历的特性:排序二叉树中序遍历会得到一个有序数组。该特性很实用也很神奇,就像一颗满二叉排序树的根节点必然是对应有序数组的中点一样。该特性可以帮助我们更好的理解排序树的结构。 List<Integer> re=new LinkedList<Integer> ...
分类:
其他好文 时间:
2020-05-11 01:04:03
阅读次数:
56
解题(失败) 思路 分别遍历左右子树,用pre存储上一个节点,作比较 代码 本想把左右子树判断函数合并,但运行结果是错的,问题复杂化了,思路有问题 优解 思路 中序遍历时,判断当前节点是否大于中序遍历的前一个节点,如果大于,说明满足BST,继续遍历;否则直接返回false 代码 小结 做题前缺乏思考 ...
分类:
编程语言 时间:
2020-05-05 23:22:34
阅读次数:
84
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 思路: ...
分类:
其他好文 时间:
2020-05-05 11:11:57
阅读次数:
65
一、二叉查找/搜索/排序树BST (binary search/sort tree) 或者是一棵空树; 或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值; 若它的右子树上所有结点的值均大于它的根节点的值; 它的左、右子树也分别为二叉排序树。 二、平衡二叉树( ...
分类:
其他好文 时间:
2020-05-04 21:26:00
阅读次数:
67
二叉排序树 二叉排序树是为了实现数据的有序排列,并可方便的对树中的数据进行插入和删除操作,提高查找效率。 性质: 若它的左子树不为空,则左子树上的所有值均小于根结点的值 若它的右子树不为空,则右子树上的所有值均大于根结点的值 它的左右子树也分别为二叉排序树 下面说说二叉排序树的查找,插入,删除操作实 ...
分类:
编程语言 时间:
2020-05-02 18:31:34
阅读次数:
55