zoukankan      html  css  js  c++  java
  • 20182309 2019-2020-1 《数据结构与面向对象程序设计》第10周学习总结

    20182309 2019-2020-1 《数据结构与面向对象程序设计》第10周学习总结

    教材学习内容总结

      • 无向图
      • 有向图
      • 带权图
      • 遍历方法
        • 深度优先
        • 广度优先
      • 连通性
      • 最小生成树
      • 最短路径
      • 实现图
        • 邻接表
        • 邻接矩阵

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

    • 问题1:判断最短路径
    • 问题1解决方案:一、Dijkstra算法
      规定一个 出发点,然后先初始化距离数组。数组中的每个下标就对应一个结点,每个数据项就是出发点到每个结点的距离。

    1:将一个集合分为两部分,一个是已经找过的结点U,一个是没有找到过的v

    2:在距离的数组中,没有访问过的结点中找一个权重最小的边,然后将这个结点添加到u中,并且以这个结点作为中间结点,来更新数组,判断条件是i到temp+temp到j 的距离是不是小于i到j的距离,若是,则就要更新。

    3:直到u中的结点的个数=图中的结点的个数
    算法的实现其实还是比较简单,和prim算法图的prim算法没什么差别,都是维护一个距离数组,来更新数组,不同的是只是添加一个判断条件而已。,在这里就没什么可说的,不懂的分析程序,运行结果一两遍就基本明白了

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

    • 问题1:定义顶点数组时会受到数组长度限制
    • 问题1解决方案:加上扩大方法
        public void expandCapacity()
        {
            T[] larger = (T[])(new Object[queue.length*2]);
            for (int index=0; index < count; index++)
                larger[index] = queue[(front+index) % queue.length];
            front = 0;
            rear = count;
            queue = larger;
        }
    

    代码托管

    结对及互评

    • 代码中值得学习的或问题:
      • 提出与课本不同的方法解决问题
    • 基于评分标准,我给本博客打分:10分。得分情况如下:
      • 正确使用Markdown语法加1分
      • 模板中的要素齐全加1分
      • 教材学习中的问题和解决过程, 一个问题加1分
      • 代码调试中的问题和解决过程, 一个问题加1分
      • 本周有效代码超过300分行的加2分
      • 排版精美的加1分
      • 代码Commit Message规范的加1分
      • 有动手写新代码的加1分
      • 结对学习情况真实可信的加1分

    点评过的同学博客和代码

    • 本周结对学习情况
      • 20182331
      • 结对学习内容
        • 阅读课本章节内容
        • 代码托管到码云上
        • 完成课后自测题,并参考答案学习
        • 完成课后练习题
        • 完成程序设计项目,至少完成pp19.1,pp19.3

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 10000行 30篇 400小时
    第一周 138/138 2/2 25/25 学会写和上传代码,会编简单的输出程序
    第二周 88/226 1/3 30/55 起文件名不能太长
    第三周 898/1124 2/5 35/90 Java类里面的方法和C语言的函数很像
    第四周 632/1756 2/7 30/120 可以用继承extends简化重复的代码
    第五周 770/2526 2/9 45/165 --amend -m可以重命名没push的文件
    第六周 3947/6473 2/11 40/205 接口类的功能要分散,利用多继承完成功能
    第七周 1359/7832 3/14 35/240
    第八周 273/8105 1/15 15/255 查找前先排序更好
    第九周 873/8978 2/17 50/305
    第十周 744/9722 3/20 45/350

    参考资料

  • 相关阅读:
    Cookie的定义和分类,及优缺点
    网页开发和设计
    电视精灵(新手练习项目)
    C#体检套餐项目
    C#简单的对象交互
    那些年我们学过的构造函数(构造方法,C#)
    员工打卡课后小项目
    SpringMVC类型转换器
    SpringMVC 异常处理3种方案
    SSH整合(一)hibernate+spring
  • 原文地址:https://www.cnblogs.com/blueflameashe/p/11964276.html
Copyright © 2011-2022 走看看