图 图G由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图中G中的顶点的集合; E(G)表示图G中顶点之间的关系集合。(|V|表示图中顶点个数,|E|表示图中边的条数) 无向图,有向图:顾名思义就是有无方向,无向图只有度,有向图的度分为入度和出度。 简单图:没有重复的边,复杂图:有重复的 ...
分类:
其他好文 时间:
2020-06-14 23:42:21
阅读次数:
72
第六章主要学习了:图图的存储方式学了邻接矩阵和邻接表。 邻接矩阵就是二维数组邻接表有三个结构:1:头结点,有data和指向第一个结点的指针,后面就是它连接的结点。2:结点,data和next指针。3:头结点集合成表,头结点【N】边数【】点数【】邻接矩阵优点: 1。易判断两点是否有边 2。易计算点的度 ...
分类:
其他好文 时间:
2020-06-14 23:18:39
阅读次数:
63
一.图的概念: 1.图、无向图、有向图、完全图 2.度、入度、出度 3.路径:由顶点和相邻顶点序偶构成的边所形成的序列 4.连通图、连通分量(无向图) 5.强连通图、连通分量:极大强连通子图(有向图) 二. 图的存储结构: 1.邻接矩阵 typedef struct { char vexs[maxv ...
分类:
其他好文 时间:
2020-06-14 20:53:21
阅读次数:
88
第六章图的学习感觉比较侧重阅读和理解代码,而写代码部分占比比较小。所以这一章的总结全都是知识点的整理,是用自己的话来表达自己对代码以及做题过程步骤的理解。 一、图的存储结构 1、邻接矩阵存储 储存时要有顶点数、边数、存储N个顶点的一维数组、N*N的数组来存储权值或体现点与点之间是否有边 2、邻接表存 ...
分类:
其他好文 时间:
2020-06-14 20:32:08
阅读次数:
56
图的定义 邻接矩阵 结构简单,操作方便 稀疏图将浪费大量的空间 邻接表 (类比 树 孩子表示法?) 操作复杂 注意邻接链表的结构体定义 不要搞混不要被绕晕啊! 嵌套太多了 有时用指针 还要看清给的int还是char typedef struct ArcNode { int adjvex; struc ...
分类:
其他好文 时间:
2020-06-14 18:36:30
阅读次数:
102
第六章我们首先学习了图,知道图是由两个集合V(点)和E(边)组成,也知道了有向图和无向图的区别,同时也学习了用如何用邻接矩阵和领接表来表示图。 邻接矩阵: 方便检查任意一堆顶点间是否存在边,方便找任一顶点的所有“邻接点”,方便计算任一顶点的“度”(从改点出发的边数为出度,指向该点的为入度),但存稀疏 ...
分类:
其他好文 时间:
2020-06-14 18:33:53
阅读次数:
56
思维导图 算法小结 1. 邻接矩阵存储 1 #define MVNum 100 //最大顶点数 2 typedef char VerTexType;//假设顶点的数据类型为字符型 3 typedef int ArcType;//假设边的权值类型为整型 4 5 typedef struct 6 { 7 ...
分类:
其他好文 时间:
2020-06-14 11:08:49
阅读次数:
152
一、图的概念 (1)图的定义: 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。注意:线性表中可以没有元素,称为空表。树中可以没有结点,叫做空树。但是在图中不允许没有顶点,可以没有边。 (2)图的基 ...
分类:
其他好文 时间:
2020-06-13 21:01:33
阅读次数:
48
第六章学习的主要内容如下: 这是课后习题的一道题: 1 void DFS_AM(AMGraph G, int v) 2 { //图G为邻接矩阵类型 3 cout << v << " "; //访问第v个顶点 4 visited[v] = true; 5 for(w=G.vexnum-1; w>=0; ...
分类:
其他好文 时间:
2020-06-13 17:45:56
阅读次数:
77
图可以用邻接矩阵(顶点和顶点矩阵)和邻接表(顶点的链表)两种形式的结构来存储。 还有逆邻接表,顶点依然是头结点,但后续存的是谁指向你的。还有十字链表。。。 漫画:什么是 “图”?(修订版) 图的遍历:DFS,BFS 搞搞清楚! 漫画:深度优先遍历 和 广度优先遍历 二分图 如果可以用两种颜色对图中的 ...
分类:
其他好文 时间:
2020-06-11 21:25:40
阅读次数:
122