zoukankan      html  css  js  c++  java
  • 20182320《程序设计与数据结构》第十周学习总结

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

    教材学习内容总结

    1.图的概念

    关于图的概念,老师在课堂上已经较为详细地说明过了,因此不再赘述。
    重要的概念有:无向图、有向图、顶点、边……

    2.图的遍历

    2.1 广度优先遍历

    2.1.1 概念

    与树的层序遍历相似,按照路径长度由小到大的顺序,优先遍历属于同一层的顶点。

    2.1.2 实现思路

    运用迭代器、队列。
    首先把开始顶点入队列,标记其为已访问,然后开始如下循环:
    从队列中取一个顶点,将其添加到迭代器中,然后将这个顶点的所有未访问的邻接顶点入队列,同时将这些顶点标记为已访问,直到队列为空。

    2.2 深度优先遍历

    2.2.1 概念

    类似于树中的先序遍历,从开始顶点开始,一条路走到黑,一直往下访问顶点,直到没有下一个顶点可以访问。

    2.2.2 实现思路

    和广度优先遍历类似,只需要把队列结构换成栈就行了。

    2.3 图的建立

    2.3.1 邻接表


    邻接表是一种数组和链表结合的存储图的方法,和我们之前实现的哈希排序之链地址法有点相似。

    2.3.2 邻接矩阵


    邻接矩阵可用于表示有向图或无向图的连接情况,横纵坐标表示连接的两个结点,矩阵内可存入0,1或true,false来表示两节点是否有连接。在表示无向图连接的时候,矩阵是对称的。

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

    问题1:

    在学习的时候感觉使用数组实现图的建立有很多模糊的地方,比如,邻接矩阵在存储无向图的时候是只用右上三角还是使用整个矩阵?

    问题1解决方案:

    充分了解每个部分的功能。

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

    问题1:

    一开始想用链表结构来实现PP19_1,但是最后发现在未知某个节点与多少个其他节点有连接的时候,确定下一个连接比较麻烦。

    问题1解决方案:

    采用多个数组来实现图会更加方便。

    问题2:

    在根据书上代码进行实现的时候,发现我的IDEA的ArrayIterator和书上的不太一样,需要加入参数才能使用。

    问题2解决方案:

    把ArrayIterator替换成ArrayList,有同样的功能。

    问题3:

    程序报错

    问题3解决方案:

    查找CSDN

    使用第二条方法。

    代码托管

    上周考试错题总结

    上周无考试。

    结对及互评

    点评过的同学博客和代码

    • 本周结对学习情况
      • 20182307
      • 结对学习内容
        • 图的构建方法
        • 图的遍历实现
        • 图的最短路径
    • 上周博客互评情况

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

    这周所学习的图与上周学习的树有很大关联,树本质上就是图,但是它们在构建和实现遍历的方面有有着些许不同。这周我理解的较为透彻的,能自己用代码实现的知识是图的深度和广度遍历,它们都很好地运用了我们之前学习的队列结构和栈结构。然而图在涉及权值和有向的情况下,构建情况就会变得更加复杂,我还需要进行深入学习。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 10000行 30篇 400小时
    第一周 208/208 2/2 9/9
    第二周 258/466 2/4 15/24
    第三周 693/1159 2/6 22/46
    第四周 1383/2542 2/8 30/76
    第五周 1300/3842 2/10 22/98
    第六周 1998/5840 2/12 24/122
    第七周 2901/8741 2/14 30/152
    第八周 3556/12297 2/16 30/182
    第九周 12297/13394 3/19 32/214
  • 相关阅读:
    看看时间,我的博客都有一年了。
    asp.net 读取数据库生成百度sitemap_baidu.xml和谷歌sitemap.xml
    克隆后自动改IP计算机名的批处理
    网奇iwms插件之“我浏览过的文章”
    Jetty7 Continuation 学习(一)
    PostgreSQL 和 MySQL 创建帐号,数据库,权限
    OpenLayers 学习笔记 (3) 使用 Google Maps 作底图
    Tomcat 和 Jetty 下 JNDI 配置 DBCP 连接池
    PostgreSQL 中 POLYGON 到 MULTIPOLYGON 的转换
    CentOS 5.4 安装 DNS
  • 原文地址:https://www.cnblogs.com/leonzheng/p/11946209.html
Copyright © 2011-2022 走看看