- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程的内容;哥尼斯堡七桥问题 德国古城—哥尼斯堡—普雷格尔河—七
桥问题:从任一桥头出发,依次走过每座
桥,每座桥只走一次,最后回到出发点。
——一笔画问题;;;7.1 基本术语
7.2 存储结构
7.3 图的遍历
7.4 图的连通性
7.5 图的应用;7.1 图的基本术语;例:判断下列4种图形各属什么类型?;证明:;稀疏图:稠密图: ;带权图:;生成树:;邻接点:;简单路径:;ADT Graph {
数据对象V:
数据关系 R:
基本操作P:
}ADT Graph ;7.2 图的存储结构;① 建立一个顶点表和一个邻接矩阵。;例2 :有向图的邻接矩阵如何表示?; 容易实现图的操作,如:求某顶点的度、判断顶点之间是否有边(弧)、找顶点的邻接点等等。
n个顶点需要n*n个单元存储边(弧);空间效率为O(n2)。;注:用两个数组分别存储顶点表和邻接矩阵
#define INFINITY INT_MAX //最大值∞
#define MAX_VERTEX_NUM 20 //假设的最大顶点数
Typedef enum {DG, DN, AG, AN } GraphKind; //有向/无向图,有向/无向网;Status CreateUDN(Mgraph G){ //无向网的构造,用邻接矩阵表示
scanf(G.vexnum, G.arcnum, IncInfo); //输入总顶点数n、总弧数e和信息
for(i=0;iG.vexnum,;++i) scanf(G.vexs[i] );//输入n个顶点值,存入一维向量;2. 邻接表(链式)表示法;例1:无向图的邻接表如何表示?;例3:已知某网的邻接(出边)表,请画出该网络。;分析1: 对于n个顶点e条边的无向图,邻接表中除了n个头结点外,只有2e个表结点,空间效率为O(n+2e)。
若是稀疏图(en2),则比邻接矩阵表示法O(n2)省空间。;讨论:邻接表与邻接矩阵有什么异同之处?;图的邻接表在机内如何表示? (参见教材P163); 它是有向图的另一种链式结构。
思路:将邻接矩阵用链表存储,是邻接表、逆邻接表的结合。
1、开设弧结点,设5个域(每段弧是一个数据元素)
2、开设顶点结点,设3个域(每个顶点也是一个数据元素);v1;#define MAX_VERTEX_NUM 20;这是无向图的另一种存储结构,当对边操作时建议采用此种结构存储。
1、设立边结点, 6个域(每条边是一个数据元素)
2、设立顶点结点, 2个域(每个顶点也是一个数据元素);;一、深度优先搜索
二、广度优先搜索 ;一、深度优先搜索( DFS );深度优先搜索(遍历)步骤:;讨论1:计算机如何实现DFS?;for( j=1; j=n; j++)
if ( A[v, j] ! visited[j] ) DFS1(A, n, j);
return;
} // DFS1;讨论3:在图的邻接表中如何进行DFS?;讨论4: 邻接表的DFS算法如何编程?;DFS 算法效率分析:;二、广度优先搜索( BFS );广度优先搜索(遍历)步骤:;讨论1:计算机如何实现BFS?;while(rear!=front){ //队不空时
front=(front+1)%n; v=q[front]; //访问过的顶点出队
p=List[v].firstarc; //P指向第1个邻接点
while(!p){ if(! Visited[adjvex(p)] )//未到表尾,且邻接域未访问过,
{Visit(adjvex(p)); Visited[adjvex(p)]=1;//则先输出再改标记,
rear=(rear+1)%n; q[rear]= adjvex(p)} //最后再入队
p=nextarc(p); } //指向单链表中下一个邻接点
}
return
} // BFS1;BFS 算法效率分析:;7.4 图的连通性问题;1.求图的生成树(或生成森林);例1 :画出下图的生成树;其实由邻接矩阵或邻接表也能直接画出生成森林;11;D;2. 求最小生成树;欲在n个城市间建立通信网,则n个城市应铺n-1条线路;但因为每条线路都会有对应的经济成本,而n
您可能关注的文档
最近下载
- 精彩展示__高效宣讲.ppt VIP
- 2.3 一元二次不等式 说课课件-【中职专用】高一上学期高教版(2021)数学基础模块(上册).pptx VIP
- T_HBLS 0021.1-2023 江汉大米 第1部分:稻谷.pdf VIP
- 部编版六年级上第四单元作文指导《笔尖流出的故事》-课件.ppt VIP
- 细水雾对磷酸铁锂储能电池模组性能影响研究.pdf VIP
- 2014年上海市录用公务员专业科目考试《信息管理》试卷(解析卷).pdf VIP
- 智算中心项目建设方案(44页 PPT).pptx VIP
- 第七单元习作:写信(素材积累)-2023-2024学年四年级语文上册单元作文能力提升(统编版)_1.docx
- 通信工程概预算介绍.pptx VIP
- 工程建设标准强制性条文 房屋建筑部分(2013版).docx VIP
原创力文档


文档评论(0)