第五章学习小结
1.本章学习小结:第五章继续学习了一种新的数据结构,树。而树的结构定义是一种递归的定义,即树的定义中又用到树的定义。一开始有一点难理解,但随着接触得多了,看的mooc的视频多了,而且后面在打代码时,树的许多操作如建立树,遍历树,复制树等等都有用到递归的操作,我对递归的理解也进一步加深了,这也有助于加深对树的定义的记忆。
二叉树是树的一种,也非常的常见,我们对树有了基本的概念后,先从二叉树学起,二叉树的性质有5种:
二叉树也被分为:满二叉树,完全二叉树与非完全二叉树。
二叉树还有两种存储结构:顺序存储与链式存储
当二叉树为非完全二叉树时,一般采用链式存储,因为用顺序存储会有很多数组空间没有用到,会造成存储空间极大的浪费。
二叉树的搜索路径有三种:一个是先上后下的层次遍历;一个是先左后右的遍历,这个根据根结点的位置的不同,分为:先序,中序与后序遍历;还有一种是先右后左的遍历。除了层次遍历,其他两种方法用的都是递归的思想来操作的。
接下来学习了树和森林,树的常用的存储结构有三种:双亲表示法,孩子表示法和孩子兄弟法。
森林则是由若干棵树组成的,每棵树之间都互为兄弟。
然后学习了哈夫曼树的构造。
2.心得体会:在看书或者看视频的时候,虽然有给出具体的代码,但是在学习的过程中还是不知道这段代码在整个程序里和其它代码的关系,直到看了带你打代码的视频才能联会贯通,这可能也是我今后看视频要思考的一个点吧。
3.目标:找个时间把之前的内容补一补,都快忘光了QAQ