zoukankan      html  css  js  c++  java
  • 20162306 2017-2018-1 《程序设计与数据结构》第7周学习总结

    20162306 2017-2018-1《程序设计与数据结构》 第7周学习总结

    教材学习内容总结

    • 1、 树:是非线性结构,其元素组织为一个层次结构。
      (1)由一组结点及一组边构成;
      (2)树的度表示树中任意结点的最大子节点数;
      (3)有m个元素的平衡n叉树的高度是lognM;

    • 2、 树的遍历
      (1)树的遍历有4种方法:先序遍历、中序遍历、后序遍历、层序遍历;

    • 3、树的实现策略
      (1)在数组中计算链:使用数组实现二叉树时,位于位置n的元素的左孩子在(2n+1)的位置,其右孩子在(2*(n+1))的位置;
      (2)在数组中保存链:树的基于数组的存储链实现方式可以占据数组中的连续位置,不管树是不是完全树;
      (3)链式结点;

    • 4、二叉树的性质
      若二叉树的根结点位于第一层,则
      (1)在二叉树的第i层最多有2i-1个结点;
      (2)深度为k的二叉树最多有2k-1个结点;
      (3)对任何一课二叉树,如果其叶结点个数为n0,度为2的结点数为n2,则有:n0 = n2 +1;

    • 5、两种特殊的二叉树:完全二叉树
      (1)满二叉树;
      (2)完全二叉树;

    • 6、决策树
      (1)结点表示判定点,结点的孩子表示那一刻可用的选择;
      (2)使用决策树可以设计专家系统。

    教材学习中的问题和解决过程

    • 问题1:课上习题“已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点.......nm个度为m的结点,问该树中有多少个叶结点”?

    • 问题1解决方案:课下通过问同学知道了答案应该是n2+2n3+3n4+......+(m-1)*nm+1

    代码调试中的问题和解决过程

    • 教材376页16.2的代码缺少ArrayIterator类。

    • 解决方案:老师上课时提到了这个问题,又说这是下周的实验内容,需要自己写,尝试着写也没有写出来,还算没有解决的问题吧。。。

    代码托管

    结对及互评

    • 博客中值得学习的或问题:
      • 对于教材代码研究的很透彻

    本周结对学习情况

     [20162305](http://www.cnblogs.com/lyxwatm/p/7710984.html)
    - 结对学习内容
        - 梳理教材内容
        - 理解ppt中的内容
    

    其他(感悟、思考等,可选)

    - 这周第十六章的教材内容比较简单,对于树的相关计算知识课上已经可以理解,剩下的就是要对于一些性质熟记,灵活运用了。但是对于书上的代码还是看不太懂,继续学习吧。。。
    

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 0/0 1/1 10/10
    第二、三周 303/303 2/3 10/20
    第四、五、六周 700/1003 2/5 10/20
    第七周 663/1666 1/6 15/35
    • 计划学习时间:12小时

    • 实际学习时间:15小时

    参考资料

  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    《EffectiveJava中文第二版》 高清PDF下载
    《MoreEffectiveC++中文版》 pdf 下载
    《啊哈c语言》 高清 PDF 下载
  • 原文地址:https://www.cnblogs.com/guominxiaocao/p/7710010.html
Copyright © 2011-2022 走看看