7.图-东南大学计算机学院

东南大学计算机学院 方效林

本课件借鉴了清华大学殷人昆老师

和哈尔滨工业大学张岩老师的课件

第七章 图

本章主要内容

图的基本概念

图的存储表示

图的遍历与连通性

最小生成树

最短路径

2

图的基本概念

定义

图是由顶点及顶点之间的关系集合组成的数据结构Graph = ( V, E )

V是顶点的有穷非空集,V={x | x∈某个对象}

E是顶点之间关系,称为边(edge)的有穷非穷集,E={(x,y) | x,y∈V}

3

图的基本概念

有向图与无向图

有向图中,顶点对(x,y)是有序的

无向图中,顶点对(x,y)是无序的

完全图

n个顶点的无向图有n(n-1)/2条边,该图为完全图

n个顶点的有向图有n(n-1)条边,该图为完全有向图

4

2

1

3

0

2

1

4

0

完全无向图

8

6

7

3

6

5

无向图(自由树)

1

2

0

有向图

完全有向图

图的基本概念

邻接顶点

(u, v)是E中的一条边,则称u与v互为邻接顶点

子图

设有两个图 G=(V, E) 和 G’=(V’, E’)。若 V’? V 且 E’?E, 则称G’是G 的子图

权:边附带的权重,称这样的图称为带权图

5

2

1

3

0

1

3

0

2

1

3

2

1

3

0

子图

图的基本概念

顶点v的度

与v为端点的边条数,记作D(v)

入度:有向图中,以v为终点的边的条数,记作ID(v)

出度:有向图中,以v为始点的边的条数,记作OD(v)

有向图中v的度为入度与出度的和

路径

图 G=(V, E) 中, 从顶点 vi 出发, 沿一些边经过一些顶点 vp1, vp2, …, vpm,到达顶点vj。则称顶点序列 (vi vp1 vp2 ... vpm vj)为从顶点vi 到顶点 vj 的路径。它经过的边(vi, vp1)、(vp1, vp2)、...、(vpm, vj) 应是属于E的边。

6

图的基本概念

路径长度

非带权图的路径长度是指此路径上边的条数

带权图的路径长度是指路径上各边的权之和

简单路径

路径上各顶点 v1,v2,...,vm 均不互相重复

回路

路径上第一个顶点 v1 与最后一个顶点vm 重合

7

图的基本概念

连通图与连通分量

无向图中, 从顶点v1到顶点v2有路径, 则称顶点v1与v2是连通的。

若图中任意一对顶点都是连通的, 则此图是连通图

非连通图的极大连通子图叫连通分量

8

2

1

3

0

4

连通图

5

2

1

3

0

4

非连通图(有2个连通分量)

5

图的基本概念

强连通图与强连通分量

在有向图中, 若对于每一对顶点vi和vj, 都存在一条从vi到vj和从vj到vi的路径, 则称此图是强连通图

非强连通图的极大强连通子图叫做强连通分量

生成树

一个连通图的生成树是其极小连通子图,在 n 个顶点的情形下,有n-1条边。

9

图的存储表示

邻接矩阵

一个有 n 个顶点的图G = ( V, E ), 图的邻接矩阵是一个二维数组 A.edge[n][n]

10

有向图的邻接矩阵可能不对称

无向图的邻接矩阵是对称的

图的存储表示

邻接矩阵

网络(带权图)的邻接矩阵

11

图的存储表示

邻接表

无向图的邻接表

12

data

link

dest

link

dest

link

dest保存的是邻接顶点的下标

顶点数组

链接结点

图的存储表示

邻接表

有向图的邻接表和逆邻接表

13

data

link

dest

link

data

link

dest

link

dest

link

邻接表(出边表)

逆邻接表(入边表)

图的存储表示

网络(带权图)的邻接表

14

邻接表(出边表)

图的遍历

从给定顶点出发,沿某些边遍历图中所有顶点一次且仅一次

使用辅助数组visited[ ]标识顶点是否被访问过

visited[ ]初始为0

访问过后标识为1

15

图的遍历

遍历方式

深度优先遍历 DFS (Depth First Search)

广度优先遍历 BFS (Breadth First Search)

16

图的遍历

遍历方式

深度优先遍历 DFS (Depth First Search)

从顶点v1出发,访问任一未被访问的邻接顶点v2;

再从顶点v2出发,访问任一未被访问的邻接顶点v3;

再从顶点v3出发,… ,如此进行下去,直到所有邻接顶点都被访问过为止

退回一步到刚被访问的顶点,看是否有未被访问的邻接顶点。

若有,则继续访问

否则,再退回一步

直到所有顶点都被访问

17

图的遍历

遍历方式

深度优先遍历 DFS (Depth First Search)

18

深度优先搜索过程

深度优先生成树

1

2

3

4

5

6

7

8

9

图的遍历

遍历方式

广度优先遍历 BFS (Breadth First Search)

从起始顶点v出发

计算机学院东南,7.图-东南大学计算机学院.ppt相关推荐

  1. 计算机控制技术实验报告pid,东南大学计算机控制技术实验报告二.docx

    东南大学计算机控制技术实验报告二 东南大学自动化学院 实 验 报 告 课程名称: 计算机控制技术 第 二 次实验 实验名称: 数字PID调节器算法的研究 院 (系): 自动化 专 业: 自动化 姓 名 ...

  2. 计算机控制技术实验报告pid,东南大学计算机控制技术实验报告二.doc

    文档介绍: 东南大学自动化学院 实 验 报 告 课程名称: 计算机控制技术 第 二 次实验 实验名称: 数字PID调节器算法的研究 院 (系): 自动化 专 业: 自动化 姓 名: 学 号: 同组人员 ...

  3. 计算机控制技术实验报告数据采集,东南大学计算机控制技术实验报告二

    东南大学计算机控制技术实验报告二 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 东南大学自动化学院实验报告课程名称: 计算机控制技术 ...

  4. 学计算机的思维导图,用计算机绘制思维导图的几大优势

    相信很多人绘制思维导图还是用彩笔和白纸来完成的,但如今已经是一个信息科技化的时代,我们不妨学习使用计算机来绘制思维导图,可以预见,未来的思维导图必定会由传统的手绘转变为智能化.自动化的计算机绘图时代. ...

  5. 计算机组成原理数据流通图作用,计算机组成原理-第14-15讲(第5章).ppt

    <计算机组成原理-第14-15讲(第5章).ppt>由会员分享,可在线阅读,更多相关<计算机组成原理-第14-15讲(第5章).ppt(36页珍藏版)>请在人人文库网上搜索. ...

  6. 计算机比赛证书p图,雅礼中学计算机协会第二届“P图”大赛报名正式启动

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 报名时间:2010年5月17日起至开赛 比赛内容: 本次比赛暂定两轮. 第一轮:海选:现场由赛事组提供赛图,并提供一定素材.发挥个人思维创意,以赛图为基础 ...

  7. 计算机组成原理 微地址设置MLD,计算机组成原理实验

    <计算机组成原理实验>由会员分享,可在线阅读,更多相关<计算机组成原理实验(23页珍藏版)>请在技术文库上搜索. 1.计算机组成原理实验23实验2微地址+1操作置MLD=1.按 ...

  8. 东南大学计算机学院推免名单,东南大学计算机软件初试全书.pdf

    [灰灰考研]东南大学交流群930512404 灰灰考研 东南大学计算机软件专业 plus 版本 公益事业,免费提供 感谢提供资料的大佬们 东南大学交流群 930512404 [灰灰考研]东南大学交流群 ...

  9. 2018年东南大学计算机学院预推免面试

    2017.8.28,提前报道:南京参加东南大学计算机学院面试 2017.8.29,审核,笔试 上午是审核材料环节,大家一定要记住带齐文件,原件.学生证.身份证记得带!!! 下午就是笔试环节,笔试的科目 ...

最新文章

  1. Docker 从Docker Hub 拉取镜像慢怎么办?
  2. HDU 1828 Picture 线段树 扫描线
  3. Linux关闭Tomcat服务器出现无法关闭 :8005端口未启动
  4. 局域网即时通讯的可管理性
  5. 10.10做题——USACO1.2/洛谷1207回文平方数(Dual Palindromes)
  6. 晨哥真有料丨生而为人,你讨好世界的样子真的很丑!(讨好型人格)
  7. c语言学习-将一个2*3的矩阵转置为3*2的矩阵
  8. Go基础学习记录 - 编写Web应用程 - 完善Blog Model
  9. pku1833 排列(use next_permutation)
  10. php mysql分页_PHP+Mysql实现分页
  11. 数据结构之红黑树插入详解
  12. 修改高通IPQ4019/4018的flash的分区
  13. Ubuntu 18.04安装Eclipse教程
  14. MATLAB 图像识别
  15. 内卷的火锅赛道,增长却难破“网红”局
  16. 《红楼梦》的香气韵调
  17. 使用极狐GitLab限制开发者使用CI/CD的权限,三种方案
  18. LoadRunner技巧之思考时间设置
  19. Docker从入门到上瘾,万字终极指南!
  20. ARM体系结构2:汇编指令集

热门文章

  1. 数据库实验之《数据定义与简单查询》
  2. Serv-U------一款安全的、优秀FTP服务器
  3. Dart Flutter 教程【Dart部分】
  4. 骨传导耳机的原理是什么,骨传导是智商税吗
  5. 可持续能源技术改变世界
  6. 2020极客大挑战web部分复现
  7. 阿里巴巴开源性能监控神器Arthas初体验
  8. 关于matplotlib画图中文不显示问题(plt.xlabel)
  9. Java MAil 链接阿里云邮箱下载收件箱附件
  10. 洛谷P3613 寄包柜