《数据结构》课程教学资源(PPT课件讲稿)第八章 图

第八章图 图的基本概念 图的存储结构 图的遍历与连通性 最小生成树 最短路径 活动网络
第八章 图 • 图的基本概念 • 图的存储结构 • 图的遍历与连通性 • 最小生成树 • 最短路径 • 活动网络 1

图的基本概念 图定义图是由顶点 vertex)集合以及顶点 之间的关系集合组成的一种数据结构 G=(V,E) 其中V={x|x∈某个数据对象} 是顶点的有穷非空集合 {(x,y)|x,y∈} 或E={x,少>|x,y∈V&&Pmh(x,y)} 是顶点之间关系的有穷集合,也叫做边 (edge)集合。Pmh(x,y)表示从x到y的一 条单向通路,它是有方向的
图的基本概念 • 图定义 图是由顶点(vertex)集合以及顶点 之间的关系集合组成的一种数据结构: G=( V, E ) 其中 V = { x | x 某个数据对象} 是顶点的有穷非空集合; E = {(x, y) | x, y V } 或 E = { | x, y V && Path (x, y)} 是顶点之间关系的有穷集合,也叫做边 (edge)集合。Path (x, y)表示从 x 到 y 的一 条单向通路, 它是有方向的。 2

有向图与无向图在有向图中,顶点对是有序的。在无向图中,顶点对(x,y)是 无序的。 完全图若有n个顶点的无向图有m(n-1)2 条边,则此图为无向完全图。若有n个顶点 的有向图有nm-1)条边,则此图为有向完全 图 2 3 3)(4)(5)(6 2
• 有向图与无向图 在有向图中,顶点对 是有序的。在无向图中,顶点对(x, y)是 无序的。 • 完全图 若有 n 个顶点的无向图有 n(n-1)/2 条边, 则此图为无向完全图。若有n 个顶点 的有向图有n(n-1) 条边, 则此图为有向完全 图。 3 0 0 0 0 1 1 1 2 1 2 3 3 4 5 6 2 2

邻接顶点如果{,v)是E(G)中的一条边, 则称u与ν互为邻接顶点。 子图设有两个图G=(,E)和G=(V,E) 若VcV且EcE,则称图G是图G的子图 0 子图 2 3 权或权重 weight)在某些图中,边具有与 它相关的数值称为权重。带权图也叫作网 络( network)
• 邻接顶点 如果 (u, v) 是 E(G) 中的一条边, 则称 u 与 v 互为邻接顶点。 • 子图 设有两个图G=(V, E) 和G'=(V', E')。 若V ' V 且E'E, 则称图G'是图G的子图。 • 权或权重(weight) 在某些图中,边具有与 它相关的数值, 称为权重。带权图也叫作网 络(network)。 4 子图 0 1 2 3 0 1 3 0 1 2 3 0 2 3

顶点的度( degree)一个页点的度是与它相关联 的边的条数,记作deg(v) 在有向图中,顶点v的入度是以v为终点的有向边 的条数,记作 indeg(吵;顶点v的出度是以v为始 点的有向边的条数,记作 outdeg()。在有向图中 顶点的度等于该顶点的入度与出度之和。 路径在图G=(V,E中,若从顶点v出发,沿 些边经过若干顶点v,V,…,Vm,到达顶点v 则称页点序列(",V,V2,…,Vm,v为从顶点n 到顶点v的一条路径。它经过的边Vv)、(y, pms 以)都是来自于E的边
• 顶点的度 (degree) 一个顶点v的度是与它相关联 的边的条数, 记作deg(v)。 • 在有向图中, 顶点 v 的入度是以 v 为终点的有向边 的条数, 记作 indeg(v); 顶点 v 的出度是以 v 为始 点的有向边的条数, 记作 outdeg(v)。在有向图中, 顶点的度等于该顶点的入度与出度之和。 • 路径 在图 G=(V, E) 中, 若从顶点 vi出发, 沿一 些边经过若干顶点 vp1 , vp2 , …, vpm,到达顶点vj, 则称顶点序列 (vi , vp1 , vp2 , ... , vpm , vj ) 为从顶点vi 到顶点 vj 的一条路径。它经过的边(vi , vp1 )、(vp1 , vp2 )、...、(vpm, vj ) 都是来自于E的边。 5

路径长度非带权图的路径长度是指此路径 上边的条数。带权图的路径长度是指路径 上各边的权值之和。 简单路径若路径上各顶点,V2…,V均 不互相重复,则称这样的路径为简单路径。 回路若路径上第一个顶点v与最后一个 顶点v重合,则称这样的路径为回路或环。 2)(1 3
• 路径长度 非带权图的路径长度是指此路径 上边的条数。带权图的路径长度是指路径 上各边的权值之和。 • 简单路径 若路径上各顶点 v1 , v2 , ..., vm 均 不互相重复, 则称这样的路径为简单路径。 • 回路 若路径上第一个顶点 v1 与最后一个 顶点vm 重合, 则称这样的路径为回路或环。 6 0 1 2 3 0 1 2 3 0 1 2 3

连通图与连通分量在无向图中,若从顶点v到顶 点v有路径,则称顶点v与是连通的。如果图中 任意一对顶点都是连通的,则称此图是连通图。 非连通图的极大连通子图叫做连通分量。 强连通图与强连通分量在有向图中,若对于每 对顶点和v都存在一条从到v和从v到p的 路径,则称此图是强连通图。非强连通图的极大 强连通子图叫做强连通分量。 生成树( spanning tree)一个无向连通图的生成树 是其极小连通子图,在n个顶点的情形下,有 n-1条边。若是有向图,则可能得到它的由若干 有向树组成的生成森林
• 连通图与连通分量 在无向图中, 若从顶点v1到顶 点v2有路径, 则称顶点v1与v2是连通的。如果图中 任意一对顶点都是连通的, 则称此图是连通图。 非连通图的极大连通子图叫做连通分量。 • 强连通图与强连通分量 在有向图中, 若对于每 一对顶点vi和vj , 都存在一条从vi到vj和从vj到vi的 路径, 则称此图是强连通图。非强连通图的极大 强连通子图叫做强连通分量。 • 生成树(spanning tree) 一个无向连通图的生成树 是其极小连通子图,在 n 个顶点的情形下,有 n-1 条边。若是有向图,则可能得到它的由若干 有向树组成的生成森林。 7

图的抽象数据类型 h class Grap 对象:由一个非空顶点集合和一个边集合构成 每条边由一个顶点对来表示。 public: Grapho; ∥/建立一个空的图 void insert Vertex(const T& vertex); /插入一个顶点 vertex该顶点暂时没有入边 void insertedge(int vl, int v2, int weight); ∥在图中插入一条边(vl,v2,w) void remove Vertex (int v) ∥/在图中删除顶点V和所有关联到它的边
图的抽象数据类型 class Graph { //对象: 由一个非空顶点集合和一个边集合构成 //每条边由一个顶点对来表示。 public: Graph(); //建立一个空的图 void insertVertex (const T& vertex); //插入一个顶点vertex, 该顶点暂时没有入边 void insertEdge (int v1, int v2, int weight); //在图中插入一条边(v1, v2, w) void removeVertex (int v); //在图中删除顶点v和所有关联到它的边 8

void remove Edge(int vl, int v2) ∥在图中删去边(v1,v2) bool is empty ∥若图中没有顶点,则返回true,否则返回 false T get Weight(int vl, int v2); ∥函数返回边(v1,v2)的权值 int getFirstNeighbor(int v) /给出顶点V第一个邻接顶点的位置 int getNextNeighbor(int v, int w); ∥给出顶点V的某邻接顶点W的下一个邻 接顶点
void removeEdge (int v1, int v2); //在图中删去边(v1,v2) bool IsEmpty(); //若图中没有顶点, 则返回true, 否则返回 false T getWeight (int v1, int v2); //函数返回边(v1,v2) 的权值 int getFirstNeighbor (int v); //给出顶点v 第一个邻接顶点的位置 int getNextNeighbor (int v, int w); //给出顶点v 的某邻接顶点 w 的下一个邻 接顶点 }; 9

图的存储表示 图的模板基类在模板类定义中的数据类 型参数表中,T是顶点数 据的类型,E是边上所附数据的类型。 这个模板基类是按照最复杂的情况(即带 权无向图)来定义的,如果需要使用非带 权图,可将数据类型参数表改为 如果使用的是有向图,也可以对程序做相 应的改动
图的存储表示 • 图的模板基类 在模板类定义中的数据类 型参数表 中,T是顶点数 据的类型,E是边上所附数据的类型。 • 这个模板基类是按照最复杂的情况(即带 权无向图)来定义的,如果需要使用非带 权图,可将数据类型参数表 改为 。 • 如果使用的是有向图,也可以对程序做相 应的改动。 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《单片机应用技术》课程PPT教学课件(C语言版)第3章 MCS-51指令系统及汇编程序设计.ppt
- 《编译原理与技术》课程教学资源(PPT课件讲稿)代码优化.ppt
- Progress of Concurrent Objects with Partial Methods.pptx
- 《网络搜索和挖掘关键技术 Web Search and Mining》课程教学资源(PPT讲稿)Lecture 12 Language Models.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 6 Concurrency - Deadlock(死锁)and Starvation(饥饿).ppt
- 《操作系统》课程教学资源(PPT课件讲稿)实时调度 Real-Time Scheduling.ppt
- 白城师范学院:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第二章 关系数据库(2.1-2.3).ppt
- 《计算机算法设计与分析》课程教学资源(PPT课件)第8章回溯法.ppt
- 清华大学出版社:《计算机应用基础实例教程》课程教学资源(PPT课件讲稿,第二版,共七章,主编:吴霞,制作:李晓新).ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)绪论、第1章 量化设计与分析基础(主讲:周学海).ppt
- 北京大学:烟花算法的变异算子(PPT讲稿)Mutation Operators of Fireworks Algorithm.pptx
- Introduction to Text Mining 文本挖掘.pptx
- 《Managing XML and Semistructured Data》教学资源(PPT课件讲稿)Part 04 Compressing XML Data.ppt
- 《JAVA面向对象入门技术》教程教学资源(PPT课件讲稿)第二章 Java语言基础.ppt
- 北京大学:《项目成本管理》课程教学资源(PPT课件讲稿)项目范围计划(主讲:周立新).ppt
- 山东大学:《网站设计与建设》课程教学资源(PPT课件讲稿)第三部分 网站设计技术 第20章 MySQL数据库.ppt
- 程序设计工具(PPT课件讲稿)Software Program Tool.ppt
- 《Java Web应用开发技术与案例教程》教学资源(PPT讲稿)第7章 Java Web常用开发模式与案例.ppt
- 《面向对象程序设计》课程教学大纲(适用专业:信息与计算科学).pdf
- 《编译技术》课程教学资源(PPT课件讲稿)第六章 运行时存储空间的组织和管理.ppt
- 同济大学:《大数据分析与数据挖掘 Big Data Analysis and Mining》课程教学资源(PPT课件讲稿)Platforms for Big Data Mining(主讲:饶卫雄).ppt
- 《计算机网络》课程教学资源(PPT讲稿)网络安全(访问控制、加密、防火墙).ppt
- 水平集方法与图像分割 Level set method and image segmentation.pptx
- 北京师范大学:《计算机文化基础》课程教学资源(PPT课件讲稿)08 网页制作基础知识(赵国庆).ppt
- 《C语言程序设计》课程教学资源(PPT讲稿)第1章 程序设计和C语言.pptx
- 《计算机组装与维护》课程教学资源(PPT课件讲稿)第十一章 计算机数据恢复技术.ppt
- 贵州大学:计算机应用基础(PPT课件讲稿)计算机基础知识.pdf
- 《计算导论与程序设计》课程教学资源(PPT课件讲稿)Chap 5 函数.ppt
- 《计算机网络 Computer Networking》课程教学资源(PPT课件讲稿)Chapter 08 Network Security.ppt
- 《计算机网络与通信》课程教学资源(PPT课件)Chapter 8 传输层.ppt
- 《数据结构与算法分析》课程教学资源(PPT讲稿)Lists, Stacks and Queues.ppt
- 沈阳理工大学:《Visual Basic 6.0程序设计》课程教学资源(PPT课件讲稿)第三章 VB基本语言.ppt
- 南京大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)简介、第一章 引论(谭晓阳).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)第一章 绪论(主讲:陈香兰).ppt
- 西华大学:《电子商务概论》课程教学资源(PPT课件讲稿)第4章 电子商务的安全问题.ppt
- 北京大学:未来互联网体系结构(PPT讲稿)Future Internet Architecture(Introduction).pptx
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第5章 输入输出系统.ppt
- 清华大学出版社:《物流电子商务》课程教学资源(PPT课件讲稿,共八章,主编:董铁,制作:李晓新).ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第三章 数据链路层.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第四章 网络层.ppt