- 8
- 0
- 约6.17万字
- 约 49页
- 2018-12-03 发布于广西
- 举报
f
图
图形结构是一种比树形结构更复杂的非线性结构。树形结构中的结点之间具有明显的层次关系,且每一层上的结点只能和上一层中的一个结点相关,但可能和下一层的多个结点相关。在图形结构中,任意两个结点之间都可能相关,即结点与结点之间的邻接关系可以是任意的。因此,图形结构可用来描述更加复杂的对象。
1 图的基本概念和存储结构
1.1 图的定义
图(Graph)是由非空的顶点集合V与描述顶点之间关系——边(或者弧)的集合E组成,其形式化定义为:
G=(V, E)
如果图G中的每一条边都是没有方向的,则称G为无向图。无向图中边是图中顶点的无序偶对。无序偶对通常用圆括号“( )”表示。例如,顶点偶对(vi,vj)表示顶点vi和顶点vj相连的边,并且(vi,vj)与(vj,vi)表示同一条边。
如果图G中的每一条边都是有方向的,则称G为有向图。有向图中的边是图中顶点的有序偶对,有序偶对通常用尖括号“ ”表示。例如,顶点偶对vi,vj表示从顶点vi指向顶点vj的一条有向边;其中,顶点vi称为有向边vi,vj的起点,顶点vj称为有向边vi,vj的终点。有向边也称为弧;对弧vi,vj来说,vi为弧的起点,称为弧尾;vj为弧的终点,称为弧头。
图是一种复杂的数据结构,表现在不仅各顶点的度可以不同,而且顶点之间的逻辑关系也错综复杂。从图的定义可知:一个图的信息包括两个部分:图中顶点的信息以及描述顶点之间的关系——边或弧的信息。因此无论采取什么方法来建立图的存储结构,都要完整、准确地反映这两部分的信息。为适于用C语言描述,从本节起顶点序号由0开始,即图的顶点集的一般形式为:V={v0,v1,…,vn-1}。
下面介绍几种常用的图的存储结构。
1.2 邻接矩阵
所谓邻接矩阵存储结构,就是用一维数组存储图中顶点的信息,并用矩阵来表示图中各顶点之间的邻接关系。假定图G=(V, E)有n个顶点,即V={v0,v1,…,vn-1},则表示G中各顶点相邻关系需用一个n×n的矩阵,且矩阵元素为:
1 若(v
1 若(vi,vj)或vi,vj是E中的边
0 若(vi,vj)或vi,vj不是E中的边
A[i][j]=
若G是带权图(网),则邻接矩阵可定义为:
w
wij 若(vi,vj)或vi,vj是E中的边
0或∞ 若(vi,vj)或vi,vj不是E中的边
A[i][j]=
其中,wij表示(vi,vj)或vi,vj上的权值;∞则为计算机上所允许的大于所有边上权值的数值。无向图的邻接矩阵表示如图7-6所示。
图7-6 无向图及邻接矩阵表示
有向图的邻接矩阵表示如图7-7所示。
图7-7 有向图及邻接矩阵表示
带权图的邻接矩阵表示如图7-8所示。
图7-8 带权图及邻接矩阵表示
从图的邻接矩阵可以看出以下特点:
(1)无向图(包括带权图)的邻接矩阵一定是一个按对角线对称的对称矩阵。因此,在具体存放邻接矩阵时只需存放上(或下)三角矩阵的元素即可。
(2)对于无向图,邻接矩阵的第i行或第i列的非零元素(或非∞元素)个数正好是第i个顶点的度D(vi)。
(3)对有向图,邻接矩阵的第i行非零元素(或非∞元素)的个数正好是第i个顶点的出度OD(vi),第i列非零元素(或非∞元素)的个数正好是第i个顶点的入度ID(vi)。
(4)用邻接矩阵存储图,很容易确定图中任意两个顶点之间是否有边相连;但是,要确定图中具体有多少条边,则必须按行、按列对每一个元素进行查找后方能确定,因此花费的时间代价较大,这也是用邻接矩阵存储图的局限性。
在采用邻接矩阵方式表示图时,除了用一个二维数组存储用于表示顶点相邻关系的邻接矩阵之外,还需要用一个一维数组存储顶点信息。这样,一个图在顺序存储结构下的类型定义为;
typedef struct
{
char vertex[MaxNum]; /*顶点为字符型且顶点表的长度小于MaxNum*/
int edges[MaxNum][MaxNum]; /*边为整型且edges为邻接矩阵*/
} MGraph; /*MGraph为采用邻接矩阵存储的图类型*/
建立一个无向图的邻接矩阵程序如下:
#includestdio.h
#includestdlib.h
#define MAXSIZE 30
typedef struct
{
char vertex[MAXSIZE]; //顶点为字符型且顶点表的长度小于MAXSIZE
int edges[MAXSIZE][MAXSIZE]; //边为整型且edges为邻接矩阵
}MGraph;
您可能关注的文档
- 市场营销_电冰箱的市场营销-毕业(学术)论文设计.doc
- 市场营销策划课程设计--如何让李宁服装度过这个冬天-毕业(学术)论文设计.doc
- 市场设计课程设计(论文)-网购快递服务满意度调查报告-毕业(学术)论文设计.doc
- 市场营销策划论文电力市场营销论文:谈如何通过精细化管理促进电力营销服务-毕业(学术)论文设计.doc
- 市场营销教学论文市场营销策略论文:橱柜企业体验营销策略探究-毕业(学术)论文设计.doc
- 市场营销论文发表市场营销学术论文:试论市场营销调研中的道德风险-毕业(学术)论文设计.doc
- 市场营销论文范文市场营销策划论文:低碳经济环境下的绿色营销策略-毕业(学术)论文设计.doc
- 市人防办2010年党风廉政建设和反腐败工作总结-毕业(学术)论文设计.doc
- 市容环境卫生管理工作中存在的问题与对策论文-毕业(学术)论文设计.doc
- 市政道路工程施工质量和监理问题的探讨-毕业(学术)论文设计.doc
- 3《百合花》 讲义中职语文高教版(2023-2024)基础模块下册.docx
- 2026年绍兴新昌县教体系统校园公开招聘教师27人备考题库及答案详解(易错题).docx
- 企业员工培训计划及成果汇报模板.doc
- 2026年绍兴新昌县教体系统校园公开招聘教师27人备考题库及答案详解(新).docx
- 2026年绍兴新昌县教体系统校园公开招聘教师27人备考题库及答案详解(新).docx
- 2026年绍兴新昌县教体系统校园公开招聘教师27人备考题库及完整答案详解.docx
- 2026年自然资源部所属单位公开招聘634人备考题库(第一批)及一套参考答案详解.docx
- 第四单元《自然选择的证明》《宇宙的边疆》《天文学上的旷世之争》联读公开课一等奖创新教学设计统编版高中语文选择性必修下册.docx
- 客服工作流程标准化作业指南模板.doc
- 2026年自然资源部所属单位公开招聘634人备考题库(第一批)及1套参考答案详解.docx
原创力文档

文档评论(0)