软考25-上午题-图2

一、图的存储

图的基本存储结构:邻接矩阵、邻接链表。

1-1、邻接矩阵

用矩阵来表示图中顶点之间的关系。

软考25-上午题-图2_第1张图片

示例1:有向图的邻接矩阵

软考25-上午题-图2_第2张图片

示例2:无向图的邻接矩阵 

软考25-上午题-图2_第3张图片

无向图的邻接矩阵是对称的!!! 

借助邻接矩阵可以求得各个顶点的度:

无向图:

        顶点Vi的度:邻接矩阵中,第i行(第i列)中1的个数;

有n个1,就有n/2条边!!! 

图中有e条边,邻接矩阵中就有2e个1。

有向图:

         顶点Vi的出度:邻接矩阵中,第i行中1的个数;

         顶点Vi的入度:邻接矩阵中,第i列中1的个数;             

有几个1,就有几条边!!! 

图中有e条,邻接矩阵中就有e个1。

1-2、领接链表

为图的每一个顶点建立一个单链表

软考25-上午题-图2_第4张图片

软考25-上午题-图2_第5张图片

示例1,有向图:

软考25-上午题-图2_第6张图片

出度:单链表的节点个数。

入度:逆邻接表

逆邻接表,示例:

软考25-上午题-图2_第7张图片

表节点个数 = e(边数)

软考25-上午题-图2_第8张图片

示例2:无向图

软考25-上午题-图2_第9张图片

二、稠密图、稀疏图

有很少条边或弧(边的条数|E|远小于|V|²)的图称为稀疏图(sparse graph),反之边的条数|E|接近|V|²,称为稠密图

2-1、稠密图

当图中的边的个数很多的时候,对应的图是稠密图,适合用邻接矩阵存储。

示例:

软考25-上午题-图2_第10张图片

此时,对于无向图来说,边的个数(完全图),最多!!! 

2-2、稀疏图 

当图中的边的个数很少的时候,对应的图是稀疏图,适合用邻接表存储。

示例:

软考25-上午题-图2_第11张图片

三、真题

真题1:

软考25-上午题-图2_第12张图片

图中有e条边

无向图:邻接矩阵中有2e个1;

有向图:邻接矩阵中有e个1。

真题2:

软考25-上午题-图2_第13张图片

邻接矩阵——稠密图(边数多)——完全图

邻接链表——稀疏图(边数少)

真题3:

软考25-上午题-图2_第14张图片 

真题4:

软考25-上午题-图2_第15张图片

四、网

边带权值的图——网

示例:

软考25-上午题-图2_第16张图片 

你可能感兴趣的:(软考中级,学习,笔记)