树的一些基本术语:(针对我个人觉得要必要列出来的 结点的度:结点拥有的子树数。 树的度:树内各结点度的最大值。 非终端结点:度不为0的结点称为非终端结点或分支结点。除根结点外,非终端结点也称为内部结点。 层次:根为第一层,不是第零层。 树的深度:树中结点的最大层次,深度也称为高度。 森林:是m(m> ...
分类:
其他好文 时间:
2018-05-30 13:23:49
阅读次数:
183
1 #include <stdio.h> 2 #include <malloc.h> 3 typedef struct node1{ 4 char data; 5 struct node1 *lchild,*rchild; 6 }node1,BTCHINALR; 7 8 BTCHINALR *cre ...
分类:
编程语言 时间:
2018-05-25 19:26:19
阅读次数:
211
2-11 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序 遍历顺序 ,令所有遍历中的 根==NULL 遍历顺序都是 左右,即左节点先于右节点,不会改变顺序; 2- ...
分类:
其他好文 时间:
2018-05-16 20:53:02
阅读次数:
188
递归算法底层的实现使用的是栈存储结构,所以可以直接使用栈写出相应的非递归算法。 先序遍历的非递归算法 从树的根结点出发,遍历左孩子的同时,先将每个结点的右孩子压栈。当遇到结点没有左孩子的时候,取栈顶的右孩子。重复以上过程。实现代码函数: // 先序遍历非递归算法 void PreOrderTrave ...
分类:
其他好文 时间:
2018-05-16 10:53:36
阅读次数:
182
二叉树存储数据的优势 在实际使用时会根据链表和有序数组等数据结构的不同优势进行选择。有序数组的优势在于二分查找,链表的优势在于数据项的插入和数据项的删除。但是在有序数组中插入数据就会很慢,同样在链表中查找数据项效率就很低。综合以上情况,二叉树可以利用链表和有序数组的优势,同时可以合并有序数组和链表的 ...
分类:
其他好文 时间:
2018-05-09 12:06:06
阅读次数:
176
原文出处:http://mp.weixin.qq.com/s/feQDjby4uYGRLbYUJq7Lpg 0、排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a ...
分类:
编程语言 时间:
2018-03-26 19:49:06
阅读次数:
250
术语 1. 节点的度:一个节点含有的子树的个数称为该节点的度; 2. 叶节点或终端节点:度为零的节点; 3. 非终端节点或分支节点:度不为零的节点; 4. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 5. 兄弟节点:具有相同父节点的节点互称为兄弟节点; 6. 节点的层次 ...
分类:
其他好文 时间:
2018-03-26 19:48:07
阅读次数:
161
术语 1. 节点的度:一个节点含有的子树的个数称为该节点的度; 2. 叶节点或终端节点:度为零的节点; 3. 非终端节点或分支节点:度不为零的节点; 4. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 5. 兄弟节点:具有相同父节点的节点互称为兄弟节点; 6. 节点的层次 ...
分类:
其他好文 时间:
2018-03-18 14:53:25
阅读次数:
131
在二叉查找树中:(01) 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(02) 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(03) 任意节点的左、右子树也分别为二叉查找树。(04) 没有键值相等的节点(no duplicate nodes)。 在实际应 ...
分类:
其他好文 时间:
2018-03-08 20:20:20
阅读次数:
141
数据结构(十四)——二叉树一、二叉树简介1、二叉树简介二叉树是由n(n>=0)个结点组成的有序集合,集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。二叉树的五种形态:2、二叉树的存储结构模型树的另一种表示法:孩子兄弟表示法A、每个结点都有一个指向其第一个孩子的指针B、每个结点都有一个指向其第一个右兄弟的指针孩子兄弟表示法的特性:A、能够表示任意的树形结
分类:
其他好文 时间:
2018-03-05 18:46:22
阅读次数:
163