首页 > 其他 > 详细

学习笔记【第五章】

时间:2019-05-04 23:06:32      阅读:138      评论:0      收藏:0      [点我收藏+]

Part.A 小结&感悟

  想起来在这个学期开始前认识的一个学长曾经对我说过,你们下学期会学到一个叫做二叉树的东西,当年我可是饱受折磨啊……

  学习之前一直以为是很难理解的一个东西,但是现在发现这一章的知识总体来看非常条理和具体,同时二叉树的数据结构本身确实是存在其难理解的地方的,对于这一章中屡屡出现的递归算法,我总是需要花费大量的时间才能够理解,在想明白之后又开始对人类的智慧产生浓浓的敬佩…

       关于这里大量的概念和术语,我这里简单做了一点整理,

技术分享图片

 

Part B 反思&计划

  在整理知识结构的过程中也顺便回想了一遍这些知识和概念,其实这些都是最最基础的东西,只要理解了就很容易记住,想学好这部分的内容还是需要大量的编程练习,熟练地实现对应的算法,然后加强对于递归算法的理解和运用能力。

  这一章我印象很深刻的编程题目,深入虎穴,老师上课也进行了详细的讲解,我最开始的想法也是构造二维数组,但是这样的算法造成了极大的空间浪费(可以利用类似稀疏矩阵的算法节省空间)这是我没有考虑到的,一个好的程序需要有优秀的空间利用能力,实现效率的最大化,这道题目是一道看似不难实则不容易实现的题目,这也是我的一个问题,光有想法是不行的,需要每一步都能对应实现,就像这道题,在真正上手编程之后屡屡卡住,以后要更加注意思路的梳理。也暴露出我对前面所学知识的综合利用能力还不强(完全没想到利用稀疏矩阵……)

  遗憾的是,我最终没能独立完成这道题的编程,以后还会回头再来多回顾这道题目的。

             

Part C   一些想法&疑问

  这是我随手写的一个小小的递归算法

1  void GoThrough(Node T)   
2  {
3      if(!EmptyTree T) break;   //EmptyTree 判断树是否为空
4      GoThrough(T.Lchild);
5      GoThrough(T.Rchild);
6  }

  那么如果把3、4行的内容对换,会造成什么样的影响,谢谢老师的解答(我在对递归算法的理解上始终不通顺,希望老师别介意问题太低级了哈哈哈)

 

学习笔记【第五章】

原文:https://www.cnblogs.com/52Herz/p/10810121.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!