知识大全 图 - 图的存储结构 - 邻接矩阵表示法

Posted

篇首语:赋料扬雄敌,诗看子建亲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 图 - 图的存储结构 - 邻接矩阵表示法相关的知识,希望对你有一定的参考价值。

  图的存储表示方法很多 这里介绍两种最常用的方法 至于具体选择哪一种表示法 主要取决于具体的应用和欲施加的操作

  为了适合用C语言描述 以下假定顶点序号从 开始 即图G的顶点集的一般形式是V(G)=v v i … V n

  图的邻接矩阵表示法

   图的邻接矩阵表示法

  在图的邻接矩阵表示法中

  ① 用邻接矩阵表示顶点间的相邻关系

  ② 用一个顺序表来存储顶点信息

   图的邻接矩阵(Adacency Matrix)

  设G=(V E)是具有n个顶点的图 则G的邻接矩阵是具有如下性质的n阶方阵

  

>

  【例】下图中无向图G 和有向图G 的邻接矩阵分别为A l 和A

  

>

   网络的邻接矩阵

  若G是网络 则邻接矩阵可定义为

  

>

  其中

  w ij 表示边上的权值;

  ∞表示一个计算机允许的 大于所有边上权值的数

  【例】下面带权图的两种邻接矩阵分别为A 和A

  

>

   图的邻接矩阵存储结构形式说明

  #define MaxVertexNum l //最大顶点数 应由用户定义

  typedef char VertexType; //顶点类型应由用户定义

  typedef int EdgeType; //边上的权值类型应由用户定义

  typedef struct

  VextexType vexs[MaxVertexNum] //顶点表

  EdeType edges[MaxVertexNum][MaxVertexNum];

  //邻接矩阵 可看作边表

  int n e; //图中当前的顶点数和边数

  MGragh;

  注意

  ① 在简单应用中 可直接用二维数组作为图的邻接矩阵(顶点表及顶点数等均可省略)

  ② 当邻接矩阵中的元素仅表示相应的边是否存在时 EdgeTyPe可定义为值为 和 的枚举类型

  ③ 无向图的邻接矩阵是对称矩阵 对规模特大的邻接矩阵可压缩存储

  ④ 邻接矩阵表示法的空间复杂度S(n)= (n )

   建立无向网络的算法

  void CreateMGraph(MGraph *G)

  //建立无向网的邻接矩阵表示

  int i j k w;

  scanf( %d%d &G >n &G >e); //输入顶点数和边数

  for(i= ;i n;i++) //读人顶点信息 建立顶点表

  G >vexs[i]=getchar();

  for(i= ;i n;i++)

  for(j= ;j n;j++)

  G >edges[i][j]= ; //邻接矩阵初始化

  for(k= ;k e;k++)//读入e条边 建立邻接矩阵

  scanf( %d%d%d &i &j &w);//输入边(v i v j )上的权w

  G >edges[i][j]=w;

  G >edges[j][i]=w;

  

  //CreateMGraph

  该算法的执行时间是 (n+n +e) 由于e

cha138/Article/program/sjjg/201311/23848

相关参考

知识大全 图 - 图的存储结构 - 邻接表表示法(一)

  图的邻接表表示法  图的邻接表表示法类似于树的孩子链表表示法对于图G中的每个顶点vi该方法把所有邻接于vi的顶点vj链成一个带头  结点的单链表这个单链表就称为顶点vi的邻接表(Adjacency

知识大全 图 - 图的存储结构 - 邻接表表示法(二)

  邻接表的形式说明及其建表算法  ()邻接表的形式说明  typedefstructnode//边表结点  intadjvex;//邻接点域  structnode*next;//链域  //若要表

知识大全 数据结构之邻接矩阵表示法

定义  邻接矩阵(AdjacencyMatrix)是表示顶点之间相邻关系的矩阵设G=(VE)是一个图其中V=vv…vnG的邻接矩阵是一个具有下列性质的n阶方阵  特点  无向图的邻

知识大全 数据结构 7.2 无向图的邻接多重链表存储表示

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  类似于有向图的十字链表若将无向图中表示同一条边的两个结点合在一起将得到无向图

知识大全 数据结构考研分类复习真题 第七章 图[29]

  .有向图的邻接表存储如下().画出其邻接矩阵存储().写出图的所有强连通分量().写出顶点a到顶点i的全部简单路径【东北大学一(分)】  .试用下列三种表示法画出网G的存储结构并评述这三种表示法的

知识大全 数据结构考研分类复习真题 第七章 图[53]

  .写出从图的邻接表表示转换成邻接矩阵表示的算法用类PASCAL语言(或C语言)写成过程形式【南开大学四 (分)】  类似本题的另外叙述有  ()已知某个图的邻接表试建立该图的相邻矩阵【天

知识大全 数据结构考研分类复习真题 第七章 图[49]

  .对有五个结点ABCDE的图的邻接矩阵  ().画出逻辑图  ().画出图的十字链表存储  ().基于邻接矩阵写出图的深度广度优先遍历序列  ().计算图的关键路径【华南师范大学三(分)】  .何

知识大全 第四部分 图[4]

   邻接矩阵法   【释数组中表示无边表示有边】    //图的数组(邻接矩阵)存储表示  #defineINFInityINT_MAX/

知识大全 图 - 图的遍历 - 广度优先遍历 (二)

  ()邻接矩阵表示的图的广度优先搜索算法  voidBFSM(MGraph*Gintk)  以vk为源点对用邻接矩阵表示的图G进行广度优先搜索  intij;  CirQueueQ;  InitQu

知识大全 数据结构考研分类复习真题 第七章 图[45]

  .对于如下的加权有向图给出算法Dijkstra产生的最短路径的支撑树设顶点A为源点并写出生成过程【吉林大学一 (分)】  .已知图的邻接矩阵为  当用邻接表作为图的存储结构且邻接表都按序