20162303 《程序设计与数据结构》第八周学习总结

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

教材学习内容总结

  • 了解树的概念
  • 二叉树
    二叉树是每一个节点最多有两个子树的树结构。“左子树”(left subtree)和“右子树”(right subtree)。
    二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,若是其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。
    一棵深度为k,且有2^k-1个节点称之为满二叉树;深度为k,有n个节点的二叉树,当且仅当其每个节点都与深度为k的满二叉树中,序号为1至n的节点对应时,称之为彻底二叉树。
    -二叉树是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:
    (1)空二叉树——如图(a);
    (2)只有一个根结点的二叉树——如图(b);
    (3)只有左子树——如图(c);
    (4)只有右子树——如图(d);
    (5)彻底二叉树——如图(e)。
  • 二叉查找树能够帮助找到特定的元素。左子树都小于父结点,右子树都大于父结点。

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

  • 问题:不太理解平衡二叉树的涵义
  • 问题解决:平衡树通常是排序树的一种,而且加点条件,就是任意一个节点的两个叉的深度差很少(好比差值的绝对值小于某个常数,或者一个不能比另外一个深出去一倍之类的)。这样的树能够保证二分搜索任意元素都是O(log n)的,通常还附带带有插入或者删除某个元素也是O(log n)的的性质。
    参考连接

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

  • 问题1:须要补充查找最大值和最小值的代码
  • 问题1解决方案:比较容易实现,最大值从根结点向右,最小值从根结点向左。

代码托管

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • 排版精美
    • 总结十分详细

本周结对学习状况

- [20162307](http://www.cnblogs.com/Tiffany23/)
- 结对学习内容
    - 一块研究上课所学内容
    - 交流实验

其余

本周实验完成的不太顺利,书里内容理解出现了一些误差,不过以后咨询了同窗,理解改变了。但愿继续努力,继续进步吧html

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 70/70 1/1 12/12
第三周 208/278 1/2 12/24
第五周 529/807 1/3 12/36
第八周 801/1608 1/4 12/48

参考:软件工程软件的估计为何这么难软件工程 估计方法git

  • 计划学习时间:12小时数据结构

  • 实际学习时间:12小时学习

参考资料

相关文章
相关标签/搜索