网站大量收购闲置独家精品文档,联系QQ:2885784924

第8章-图电子课件.pptx

  1. 1、本文档共216页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

江西省高等学校精品课程

计算机科学与技术专业核心课程;揭安全;揭安全;8.1图的基本概念;8.1图的基本概念;交通图(公路、铁路);A;一、图的定义;通常,也将图G的顶点集和边集分别记为V(G)和E(G)。;图8-1;图8-1;在以后的讨论中,我们约定:

(1)一条边中涉及的两个顶点必须不相同,即:若(vi,vj)或vi,vj是E(G)中的一条边,则要求vi≠vj;

(2)一对顶点间不能有相同方向的两条有向边;

(3)一对顶点间不能有两条无向边,即只讨论简单的图。;V0;8.1图的基本概念;v1;在图中,顶点v的度就是与该顶点相关联的边的数目,记为D(v)。例如,无向图G3中,各顶点的度均为3。;若G为有向图,则把以顶点v为终点的边的数目称为顶点v的入度,记为ID(v);把以顶点v为始点的边的数目称为v的出度,记为OD(v),D(v)=ID(v)+OD(v)。;无论有向图还是无向图,图中的每条边均关联于两个顶点,因此,顶点数n、边数e和度数之间有如下关系:;给定两个图Gi和Gj,其中Gi=(Vi,Ei),Gj=(Vj,Ej),若满足V(Gi)?V(Gj),E(Gi)?E(Gj),则称Gi是Gj的子图。;v1;v1;8.1图的基本概念;如果一条路径上除了起点v和终点u相同外,其余顶点均不相同,则称此路径为一条简单路径。

起点和终点相同(v=u)的简单路径称为简单回路或简单环。;8.1图的基本概念;8.1图的基本概念;在无向图G中,若从顶点vi到顶点vj有路径,则称vi与vj是连通的。

若V(G)中任意两个不同的顶点vi和vj都连通(即有路径),则称G为连通图。;v1;无向图G的极大连通子图称为G的连通分量。

根据连通分量的定义,可知任何连通图的连通分量是其自身。

非连通的无向图有多个连通分量。;(a)非连通图G5;在有向图G中,若对于V(G)中任意两个不同的顶点vi和vj,都存在从vi到vj以及从vj到vi的路径,则称G是强连通图。;有向图的极大强连通子图称为G的强连通分量。

根据强连通图的定义,可知强连通图的唯一强连通分量是其自身。

而非强连通的有向图有多个强连分量。;v1;有时在图的每条边上附上相关的数值,这种与图的边相关的数值叫权。;8.1图的基本概念;揭安全;8.2图的基本操作;图的基本操作如下:

(1)Creat(n) 创建一个具有n个顶点,没有边的图;

(2)Exist(i,j) 如果存在边(i,j)则返回1,否则返回0;

(3)Edges() 返回图中边的数目;

(4)Vertices() 返回图中顶点的数目;

(5)Add(i,j) 向图中添加边(i,j);

(6)Delete(i,j) 删除边(i,j);;(7)Degree(i) 返回顶点i的度;

(8)InDegree(i) 返回顶点i的入度;

(9)OutDegree(i) 返回顶点i的出度;

}ADTGraph;揭安全;8.3图的基本存储结构;1;;8.3.1邻接矩阵及其实现;v0;用邻接矩阵表示图,很容易判定任意两个顶点之间是否有边相连,并求得各个顶点的度数。;当G=(V,E)是一个网络时,G的邻接矩阵是具有如下性质的n阶方阵:;V0;邻接矩阵存储结构;/*函数功能:建立图的邻接矩阵存储结构

函数参数:邻接矩阵的指针变量g;存放图信息的文件名s;图的类型参数c,c=0表示建立无向图,否则表示建立有向图

*/

voidcreat(Mgraph*g,char*s,intc)

{inti,j,k,w; /*建立网络的邻接矩阵存储结构*/

FILE*rf;

rf=fopen(s,r);/*从文件中读取图的边信息*/

if(rf)

{

fscanf(rf,%d%d,g-n,g-e);;for(i=0;ig-n;i++) /*读入图中的顶点值*/

fscanf(rf,%1s,g-vexs[i]);

for(i=0;ig-n;i++) /*初始化邻接矩阵*/

for(j=0;jg-n;j++)

if(i==j)g-edges[i][j]=0;

elseg-edges[i][j]=FINITY;

for(k=0;kg-e;k++) /*读入网络中的边*/

{ fscanf(rf,%d%d%d,i,j,w);

g-edges[i][j]=w; /*建立无向图邻接矩阵*/

if(c==0)g-edges[j][

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
内容提供者

教师资格证、人力资源管理师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档