• 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小时

    参考资料

  • 相关阅读:
    java线程池
    Mongodb 常见的查询语句及与 mysql 对比
    jhipster入门
    Django基础笔记
    python编程的简洁代码
    Pyhon环境变量的一些坑
    win10下解压版mysql-8.0.12安装教程
    Win10改AHCI无需重装系统(无需改注册表)的方法
    windows10用xshell连接xbox里安装的ubantu(18.04)
    本地图片变成网络图片
  • 原文地址:https://www.cnblogs.com/guominxiaocao/p/7710010.html
Copyright © 2020-2023  润新知