zoukankan      html  css  js  c++  java
  • 学号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小时
    • 改进情况:动态平衡趋于稳定

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

    参考资料

  • 相关阅读:
    3.25Java常量
    3.26Java逻辑运算符
    3.26Java关系运算符
    Java标识符
    3.27Java位运算符
    3.26Java运算符(operator)
    3.26Java字符型(char)变量、常量
    3.26Java布尔类型(boolean)变量、常量
    《算法导论》第9章 顺序统计学 (1)最小值和最大值
    《算法导论》第8章 线性时间排序 (1)计数排序
  • 原文地址:https://www.cnblogs.com/y775060632/p/11885393.html
Copyright © 2011-2022 走看看