- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3、完全图与子图 将具有最大的边数n(n-1)/2条边的无向图称为无向完全图;具有n(n-1)条弧的有向图称为有向完全图。而将具有很少条边或弧的图称为稀疏图,反之称为稠密图。假设有两个图G =(V,E)和G’=(V’,E’),如果V’?V且E’?E,则称G’为G的子图。例如,图7.2为图7.1中图G1和G2的一些子图。 8、网络 有时在实际应用中,图的边或弧具有与它相关的数称作权。权可以表示一个顶点到另一个顶点的距离、花费的代价等。带权的图称为网络。 9、生成树 一个连通图的生成树是一个极小连通子图,它包含有图中全部的n个顶点和n-1条边。如果在一棵生成树上添加一条边,则必定构成一个环。例如,图7.1中的G1即为其本身的生成树。一个有n个顶点的连通图的生成树有且仅有n-1条边。 1 (Vi,Vj) 或〈Vi,Vj〉∈E(G) A[i,j]= 0 (Vi,Vj) 或〈Vi,Vj〉?E(G) 3、邻接矩阵表示法构造无向网 void creatgraph(mgraph g) /* 采用邻接矩阵表示法构造无向网g */ { int i,j,k;float w; scanf(“%d %d”,g-n,g-e);/* 输入图的顶点数和边数*/ for (i=1;i=g-n;i++) scanf(“%c”,g-vex[i]); /* 构造顶点向量*/ for (i=1;i=g-n;i++) for (j=1;j=g-n;j++) g-arcs[i][j]=MAXVAL;/* 初始化邻接矩阵*/ for (k=1;k=g-e;k++) {scanf(“%d %d %f”,i,j,w); g-arcs[i][j]= w; g-arcs[j][i]=w; /*权值赋予邻接矩阵的相应元素*/ } } /*creagraph*/ 7.2.2 邻接表 1、结点结构 邻接表(Adjdcency List)是图或网的一种链式存储结构。在邻接表中,对图或网中的每个顶点建立一个单链表,单链表中的结点表示该顶点的所有邻接点。在有向图中,某顶点所对应的单链表中的结点是以该顶点为弧尾的顶点。每一个结点由三个域组成,其中,邻接点域(adjvex)指示与顶点vi邻接的顶点在图中的序号,指针域(link)指示vi的下一个邻接结点,有时,可以在结点中添加信息域(info)用于存储和边或弧相关的信息,如权值等。为了能够随机访问任一个顶点的邻接链表,可以在每一个邻接链表前增设一个表头结点,然后将所有邻接表的表头结点存放在一个一维数组中。表结点和表头结点结构如下所示: 2、类型定义 表结点类型定义: #define M 50 typedef struct node { int adjvex; /*邻接点域*/ struct node *link; /*指针域*/ } edgenode; 表头结点类型定义: typedef struct headnode {vextype vexdata; /* 顶点数据域*/ struct node *firstarc;/* 指针域指向链表中第一个结点*/ } vexnode; 邻接表类型: typedef vexnode adjlist[M];/* adjlist为邻接表类型*/ 4、无向图的邻接表生成算法 void creatlist(vexnode ag[ ],int n) {edgenode *p; int i,j,k;char ch; for(i=1;i=n;i++) { scanf(“%c”,ch);/*读入顶点信息*/ ag[i].vexdata=ch;/* 设顶点为字符型*/
您可能关注的文档
- 微型计算机原理与常用接口技术 -黄同愿 第6章.ppt
- 微型计算机原理与常用接口技术 -黄同愿 第7章.ppt
- 微型计算机原理与汇编语言程序设计 第9章 汇编语言与高级语言的连接.ppt
- 微型计算机原理与接口技术 -杨立 第2章 典型微处理器.ppt
- 微型计算机原理与接口技术 -杨立 第3章 指令系统与汇编语言程序设计.ppt
- 微型计算机原理与接口技术 -杨立 第6章 基本输入输出接口技术.ppt
- 微型计算机组装与维护 -佟伟光 微型计算机组装与维护.ppt
- 信号处理与系统分析 (高政)电子教案 第4章傅里叶变换.ppt
- 信号处理与系统分析 (高政)电子教案 第6章滤波.ppt
- 信号处理与系统分析 (高政)电子教案 第8章通信.ppt
- 数据结构——用C语言描述(第二版) -宁正元 第8章 检索.ppt
- 数据库基础-Access 2003应用教程 -程伟渊 第九章 数据库的安全.ppt
- 数据库基础-Access 2003应用教程 -程伟渊 第七章 宏的设计与应用.ppt
- 数据库基础-Access 2003应用教程 -程伟渊 第四章 报表.ppt
- 数据库技术及应用 -陈刚 第01章 数据库系统概述.ppt
- 数据库技术及应用 -陈刚 第03章 SQL语言基础.ppt
- 数据库技术及应用 -陈刚 第06章 PowerBuilder概述.ppt
- 数据库技术及应用 -陈刚 第10章 菜单设计.ppt
- 数据库技术及应用 -陈刚 第11章 窗口对象.ppt
- 数据库系统原理与应用(第二版) -刘淳 第1章.ppt
文档评论(0)