黑暗中奔跑,看不清颜色,胜负未定,让你半子又何妨?------ ydfy的csdn

ydfy

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

教材学习内容总结

  这一周,我们学习的主要是关于课本19章的内容。这一章主要讲的是关于图的问题。

  • 首先,我们先来了解一下到底什么是图,这并不是我们平常生活中那些以各种形式呈现的色彩块集合,而是一种数据结构,关于这方面的知识,其实我们在之前对于离散数学的学习中也是有过相关的学习。它指的是通过一定的存储结构,记录一些由结点与边构成的用以描述抽象化的点与点之间、边与边之间的关系的一种数据结构。
  • 然后,我们再来了解一下它的其它基本形式,从有无方向的角度说,它一共分为两种,一个是有向图,一种是无向图。

在这里插入图片描述

  • 从边上是否有权的角度来说,它可以分为有权图和无权图。

在这里插入图片描述

  • 关于它的结点,我们还应该了解到的是它的度,对于一个无向图来说,它的度就是它所联接的边数,而对于一个有向图来说,它的度应该分为入度和出度,分别表示被几个箭头所指,又处在几个箭尾。而所谓的边的权则指的是一条边上标有一个数字表示连接两点的边的一个属性,我们可以理解为从一个点到另一个点所付出的代价。就好比同样是连接两座城市间的道路可能是免费的,也可能是付费的。
  • 接着,我们来讲一点别的东西我们看到图的时候是可以清楚地看到一些关系的,但我们是否有别的方法呢?当然是有的,比如说我们的邻接矩阵和邻接表,首先来看一下什么是邻接,所谓邻接,就是指描述两个点之间是否是有边相连的关系方法。
  • 邻接矩阵,正如它的名字,它是一个矩阵,那么它是如何描述这些关系的呢?它是通过改变行列之间的交点的数值来描述两点是否连通以及边的权。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 然后是邻接链表,顾名思义,它是用链表的方式来实现的。

在这里插入图片描述
在这里插入图片描述

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

  • 问题1:为什么在有权图中的各点之间如果不连通不是0而是用的是无穷大?
  • 问题1解决方案:这个的确是一个比较大的疑问,明明可以用0为什么不用0呢?其实我们可以联想到的一个问题,我们怎么评价一个密码是绝对安全的呢?要么无论如何都无法破解,要么要用上无穷大以致可以当做不能实现的。所以我们可以类比一下。当我们两个点之间距离是无穷大时,不就相当于我们不连通了吗。而且,如果你用了0,那么我应该如何表达两个点是一个点呢?对吧。

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

  • 问题1:我该怎么来表示一下无穷大呢?
  • 解决方法:这个只好上网查了,然后发现也有许多不同的答案,有人用的是int的最大值,也有人用的是它的一半,这样的话两个最大相加还是极大。但我发现其实它们都有一个特点,那就是并不是真正的无穷大,只是一个很大很大的数,大到可以忽略其它数的大小。于是,我就选择了用999999代替,虽然也不是特别大,但也够用。

代码托管

在这里插入图片描述

结对及互评

评分:12

评价

  • 博客中值得学习的或问题:

代码已经快到一万了,但这个代码托管这一块图片有点多。

点评过的同学博客和代码

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
目标 5000行 30篇 400小时
第一周 62/62 1/1 30/30
第二周 188/250 4/5 17/47
第三周 619/869 1/6 18/65
第四周 386/386 2/8 20/82
第五周 909/1295 0/8 18/100
第六周 1470/2765 1/9 25/125
第七、八周 1810/4575 3/12 33/158
第九周 1816/6391 3/15 30/188
第十周 1222/7613 2/17 22/210
posted on 2019-11-29 23:40  ydfy  阅读(150)  评论(0编辑  收藏  举报