第五章学习了二叉树:每个结点至多只有两颗子树,且子树有左右之分。 二叉树的遍历:几乎所有操作建立在遍历的基础上,利用递归完成二叉树前(根)序,中(根)序,后(根)序遍历。 void PreOrderTraverse(BiTree T) { If( T )//若二叉树非空 { cout<<T->dat ...
分类:
其他好文 时间:
2019-05-05 01:20:12
阅读次数:
140
本章我们学习了数据结构的一种——树。 相比于前面的内容来说,树的构造更为抽象、难懂,也是我们所接触的第一种非线性数据结构。 **前序遍历 中序遍历 后序遍历 本章的例题要求掌握树的运用。 给定一棵树,你应该按照从上到下,从左到右的顺序列出所有的叶子。 每个输入文件包含一个测试用例。对于每种情况,第一 ...
分类:
其他好文 时间:
2019-05-05 01:19:58
阅读次数:
161
树结构是一类重要的非线性数据结构 1、树的定义:树(Tree)是n(n>=0)个结点的有限集,它或为空树(n=0);或为非空树; 对于非空树: (1)有且仅有一个称之为根的结点; (2)除根结点以外的其余结点可分为m(m>0)个互不相交的有限集T1,T2,...,Tm,其中每个集合本身又是一颗树,并 ...
分类:
其他好文 时间:
2019-05-05 01:19:28
阅读次数:
138
1.在第五章我们学习了树和二叉树相关的存储结构和相关操作,在之前我们学习的都是比较规则的一对一的线性结构,较为容易理解和操作,而树和二叉树的存储结构为一对多,意味着这个的相关操作又要更加的复杂。在这章我们接触到了更加多的新的术语,例如树的深度,树的结点、兄弟、子孙层次等,这些都需要我们清楚地理解出各 ...
分类:
其他好文 时间:
2019-05-05 01:18:41
阅读次数:
117
本章学习了树和森林。因为之前对汉罗塔问题和费波纳兹数列问题理解不够透彻,自己对于递归思路不够清晰,再加上树的基本操作依赖于递归,所以感觉自己这一章学起来比较困难。这一章难点比较多,第一是新鲜的术语比较多,比如度,非终端结点,完全二叉树等等;第二是树的种类本身就比较多,树与树之间的基本操作遇到的问题可 ...
分类:
其他好文 时间:
2019-05-05 01:17:20
阅读次数:
168
第五章——树(生命不息,种树不止) 无序树:树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树; 有序树:树中任意节点的子结点之间有顺序关系,这种树称为有序树; 二叉树:每个节点最多含有两个子树的树称为二叉树; 完全二叉树 满二叉树 霍夫曼树:带权路径最短的二叉树称为哈夫曼树或最优 ...
分类:
其他好文 时间:
2019-05-05 01:16:57
阅读次数:
137
第五章学习了树与二叉树的相关知识,有二叉树及其存储结构,二叉树的前中后与层次遍历并且了解了哈夫曼树,最后学习了树与森林的转换。 以下是其中的一道实践题,老师在课堂上详细的给出了解题方法 7-2 深入虎穴 (30 分) 第五章学习了树与二叉树的相关知识,有二叉树及其存储结构,二叉树的前中后与层次遍历并 ...
分类:
其他好文 时间:
2019-05-05 01:13:50
阅读次数:
124
题目: 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是同构的。 输入格式: 输入 ...
分类:
其他好文 时间:
2019-05-05 01:11:11
阅读次数:
125
本章主要学习了树和二叉树相关知识,包括二叉树的性质和存储结构(双亲表示法、孩子表示法、孩子兄弟法),二叉树的前、中、后序遍历算法等,还了解了哈夫曼树和哈夫曼编码的构造方法,以及森林与二叉树之间的相互转换方法。 实验课老师带领我们做了“深入虎穴”这道题: 7-2 深入虎穴 (30 分) 7-2 深入虎 ...
分类:
其他好文 时间:
2019-05-05 01:04:52
阅读次数:
175
经过半个多学期的学习,终于从线性结构跨越到非线性结构了。 通过这一章的学习,我明白了原来非线性的逻辑结构也可以通过顺序存储方式反映出结点之间的逻辑关系。 当然,印象最深的还是深入虎穴~ #include <iostream> 2 #include <cstdio> 3 #include <queue ...
分类:
其他好文 时间:
2019-05-05 01:02:01
阅读次数:
148