• 学号20182325 《程序设计与设计结构》 第九周学习总结


    学号20182325袁源 《数据结构与面向对象程序设计》第9周学习总结

    教材学习内容总结

    二叉树、堆

    • 两种序求第三种必须用中序
    • 使用递归遍历
    • 二叉树深度=左右子树最大深度+1
    • 用队列实现层序
    • 大顶堆、小顶堆
      • 必须是完全二叉树
      • 小顶堆:根必须小于等于左右孩子
      • 插入之后要重排序
      • 删除的位置用最后一片叶子代替
      • 建立:建立树,选择最后一个非终端节点,与其左右孩子的最值交换,重复操作。
    • 二叉排序树
      • 将比根小的放左子树,大于等于放右子树。
      • 查找中同理。子树为空查找失败。
      • 中序遍历即可排序。
      • 查找失败 将查找的数放入他应该再在的位置=生成。
      • 删除若有双子树用前驱或后继结点代替之,再删除前驱或后继结点。
      • 平衡因子不大于一即可。若左边多将左子树设为根左子树的右子树重排。
    • 哈夫曼编码
      • 定长编码:长度一样
      • 概率大编码短,概率小编码长。任何编码都不是其他编码的前缀。
      • 最优二叉树:带权路径长度最短或平均编码长度最小

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

    • 问题1:删除根出现空指针异常。
    • 问题1解决方案:不能只改左右子树引用,其他的节点可以,但根还要改树的引用,即根结点。

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

    • 问题1:如下代码

    • 问题1解决方案:空指针异常在使用加子树的代码时使用if确保不会出现空指针。

    代码托管

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

    上周考试错题总结

    结对及互评

    • 实验稳步进行,博客精美。无特殊状况。

    评分标准

    1. 正确使用Markdown语法(加1分):
      • 不使用Markdown不加分
      • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
      • 排版混乱的不加分
    2. 模板中的要素齐全(加1分)
      • 缺少“教材学习中的问题和解决过程”的不加分
      • 缺少“代码调试中的问题和解决过程”的不加分
      • 代码托管不能打开的不加分
      • 缺少“结对及互评”的不能打开的不加分
      • 缺少“上周考试错题总结”的不能加分
      • 缺少“进度条”的不能加分
      • 缺少“参考资料”的不能加分
    3. 教材学习中的问题和解决过程, 一个问题加1分
    4. 代码调试中的问题和解决过程, 一个问题加1分
    5. 本周有效代码超过300分行的(加2分)
      • 一周提交次数少于20次的不加分
    6. 其他加分:
      • 周五前发博客的加1分
      • 感想,体会不假大空的加1分
      • 排版精美的加一分
      • 进度条中记录学习时间与改进情况的加1分
      • 有动手写新代码的加1分
      • 课后选择题有验证的加1分
      • 代码Commit Message规范的加1分
      • 错题学习深入的加1分
      • 点评认真,能指出博客和代码中的问题的加1分
      • 结对学习情况真实可信的加1分
    7. 扣分:
      • 有抄袭的扣至0分
      • 代码作弊的扣至0分
      • 迟交作业的扣至0分

    点评模板:

    • 博客中值得学习的或问题:
      • 希望的代码数量和老师的希望有所差距还需改进。
      • ...
    • 代码中值得学习的或问题:
      • 用插入的方法代码简单不少。
      • 代码量提升很多。
      • ...
    • 基于评分标准,我给本博客打分:14得分情况如下:
    • 正确使用Markdown语法(加1分):
    • 模板中的要素齐全(加1分)
    • 教材学习中的问题和解决过程, 一个问题加1分 +2
    • 代码调试中的问题和解决过程, 一个问题加1分 +1
    • 本周有效代码超过300分行的(加2分)+2
    • 其他加分:
      • 周五前发博客的加1分
      • 感想,体会不假大空的加1分
      • 排版精美的加一分
      • 进度条中记录学习时间与改进情况的加1分
      • 代码Commit Message规范的加1分
      • 错题学习深入的加1分
      • 结对学习情况真实可信的加1分

    点评过的同学博客和代码

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

    • 实验、实践倒是完成的不错。博客倒是老出错。改了还

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 6000行 30篇 240小时
    第一周 62/62 3/3 18/18
    第三周 347/454 4/7 42/60
    第四周 960/1414 2/9 23/83
    第五周 689/2103 2/11 20/103
    第六周 1641/3744 2/13 16/119
    第七周 2760/6207 2/15 40/159
    第八周 677/6884 1/16 3/162
    第九周 674/7558 3/19 22/184

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

    • 计划学习时间:20小时
    • 实际学习时间:22小时
    • 改进情况:动态平衡趋于稳定

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

    参考资料

  • 相关阅读:
    C语言 realloc为什么要有返回值,realloc返回值具体解释/(解决随意长度字符串输入问题)。
    opencv中的vs框架中的Blob Tracking Tests的中文注释。
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 棋盘多项式
    Java实现 蓝桥杯VIP 算法提高 分苹果
    Java实现 蓝桥杯VIP 算法提高 分苹果
    Java实现 蓝桥杯VIP 算法提高 分苹果
    Java实现 蓝桥杯VIP 算法提高 分苹果
  • 原文地址:https://www.cnblogs.com/y775060632/p/11885393.html
Copyright © 2020-2023  润新知