数据结构之图
声明:此为个人笔记,代码一部分来自王道408课程,仅供个人学习使用,如有侵权请联系;如有转载使用,一切后果自行负责与本人无关
6.1图的基本概念
-
6.1图的基本概念
图是由顶点(vertice)集和边(edge)集组成的,图又分为有向图、无向图、带权图,下图所示的是一个有向图
有向图:顾名思义就是具有方向的图,如上所示,顶点1指向顶点2,但是顶点2无法指向顶点1。
无向图:就是不区分方向的图,顶点1可以指向顶点2,同时顶点2也可以指向顶点1。
带权图:表示边带有权重的图,如下图所示
另外图中还包含路径这个概念,如上图v1到v7的路径有
v1->v2->v4->v7
v1->v2->v4->v5->v7
v1->v2->v5->v7
v1->v4->v7
v1->v4->v5->v7
以上这几种,如果要计算最短路径则需要将权重考虑在内,很显然v1->v7的最短路径是第四种方案,值为5。
6.2图的存储和操作
-
6.2图的存储和操作
一、邻接矩阵
邻接矩阵的性质
空间复杂度: 0(|V|) —— 只和顶点数相关,和实际的边数无关对称矩阵:n阶矩阵的元素满足aij = aji,(0<=j, j<=n);从矩阵的左上角到右下角的主对角线为轴,右上角的元素与左下角对应的元素对应全都是相等的。
无向图的邻接矩阵一定是