• 20162319 2017-2018-20162319 《程序设计与数据结构》第9周学习总结


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

    教材学习内容总结

    • 堆和优先队列。
    • 向堆中添加一个元素
    • 堆的实现
    • 堆排序

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

    • 问题1:堆和二叉排序树的差别在哪?
    • 问题1解决方案:这是一个课上问题,我当时的答案是:
    • 二叉排序树若左子树不为空则左子树中的元素小于根的元素,反之右子树不为空右子树中的元素大于根。
      而堆的根是元素中的最大值。
      二叉排序树不是完全二叉树,堆是完全二叉树。
    • 但我后来在活动结束后参考了一下张之睿同学(20162311)的答案:
    • 堆是一颗完全二叉树,二叉排序树不一定是;二叉排序树的左孩子<父亲<右孩子或者左孩子>父亲>右孩子,堆是父亲>子结点或者父亲<子结点;添加元素的方法不一样,堆是先将这个元素添加为叶节点,然后向上移动到合适位置,而二叉排序树是通过比较来插入元素
    • 我当初疏忽了一点:堆有最大堆和最小堆的情况,而且我没有说出二叉排序树和堆添加元素有何不同。

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

    • 问题1:如何实现PP18.1
    • 问题1解决方案:首先我们得明白getMax这个方法如何使用,伪代码怎么搞。
    • getMax就是获取堆中最大值的代码

    代码托管

    (statistics.sh脚本的运行结果截图)

    上周考试错题总结

    结对及互评

    20162330刘伟康

    点评模板:

    • 博客中值得学习的或问题:
      • xxx
      • xxx
      • ...
    • 代码中值得学习的或问题:
      • xxx
      • xxx
      • ...

    本周结对学习情况

    - [20162330](http://www.cnblogs.com/super925/)
    - 结对照片
    - 结对学习内容
        - XXXX
        - XXXX
        - ...
    

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

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90
    第五周 300/1600 4/13 25/120
    第六周 300/1900 1/14 20/140
    第七周 300/2200 3/17 20/160
    第八周 100/2300 2/19 15/175
    第九周 100/2300 1/20 10/185

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

    • 计划学习时间:15小时

    • 实际学习时间:10小时

    • 改进情况:图书馆学习Ing

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表
    )

    参考资料

  • 相关阅读:
    GIT的使用及心得
    XCODE的演变及使用经验分享
    软件工程学习计划
    这只是一个测试,注意,这只是一个测试
    软工实践---个人
    调研Android开发环境的发展演变
    软件工程的实践项目的自我目标
    调研ANDRIOD平台的开发环境的发展演变
    软件工程的实践项目的自我目标
    Leetcode题库——39.组合总和
  • 原文地址:https://www.cnblogs.com/Mosemonkey/p/7786727.html
Copyright © 2020-2023  润新知