B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点 ...
分类:
其他好文 时间:
2017-11-18 21:01:45
阅读次数:
143
这道题 错在了 交错树样例 , 少了4 分 ,谁知道什么原因的可以告诉我,感激不尽 7-2 二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值 ...
分类:
其他好文 时间:
2017-11-12 19:21:25
阅读次数:
266
一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值; 其右子树中所有结点的键值大于等于该结点的键值; 其左右子树都是二叉搜索树。 所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。 给定一个整数键值序列,现请你编写程序,判 ...
分类:
其他好文 时间:
2017-11-10 18:32:11
阅读次数:
153
要理解红黑数,先要了解二叉查找树,二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 下图中这棵树,就是一颗典型的二叉查找树: 1.查看根节点9: 2.由于10 > 9, ...
分类:
其他好文 时间:
2017-11-09 18:36:14
阅读次数:
123
题目链接 Danil and a Part-time Job 题意 给出一系列询问或者修改操作 pow x表示把以x为根的子树的所有结点的状态取反(0变1,1变0) get x表示求以x为根的子树中状态为1的结点数。 首先转dfs序,然后线段树操作一下。 具体问题转化为:区间翻转,区间求和。 ...
分类:
其他好文 时间:
2017-10-31 17:42:07
阅读次数:
140
概要 本章先对二叉树的相关理论知识进行介绍,然后给出C语言的详细实现。关于二叉树的学习,需要说明的是:它并不难,不仅不难,而且它非常简单。初次接触树的时候,我也觉得它似乎很难;而之所产生这种感觉主要是由于二叉树有一大堆陌生的概念、性质等内容。而当我真正的实现了二叉树再回过头来看它的相关概念和性质的时 ...
分类:
编程语言 时间:
2017-10-26 13:26:47
阅读次数:
223
许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。 二叉树的定义 1.二叉树的递归定义 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不 ...
分类:
其他好文 时间:
2017-10-13 18:03:38
阅读次数:
179
题意: 树的根节点为水源,编号为 1 。给定编号为 2, 3, 4, …, n 的点的父节点。已知只有叶子节点都是房子。 有 q 个操作,每个操作可以是下列两者之一: 初始所有房子都没有歹徒。对于每次变化后,要求删除最少的边,使得所有有歹徒的房子均无法与水源连通;同时,在此基础上要求受影响的普通房子 ...
分类:
编程语言 时间:
2017-10-08 15:32:19
阅读次数:
222
今天是第二天,今天遇到一个题:本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。 首先考虑这个题目本身不难,鉴于本人刚学习数据结构,题目中已给代码的单链表的创建值得我考虑。题目中给的是头插法代码如下:分析一下这段代码 首先是建立一个空单链表,接着输 ...
分类:
其他好文 时间:
2017-09-29 23:12:22
阅读次数:
393
如图所示为一颗二叉搜索树,二叉搜索树是具有下列性质的二叉树或空树: 1. 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2. 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 3. 任意节点的左、右子树也分别为二叉查找树。 4. 没有键值相等的节点。 补充 ...
分类:
其他好文 时间:
2017-09-27 22:32:34
阅读次数:
131