- 1
- 0
- 约3.62千字
- 约 7页
- 2026-03-13 发布于广西
- 举报
PAGE
PAGE1
图论入门-图的存储
教学目标
1.知识与技能
学习和图有关的概念
学习用邻接矩阵、权矩阵存储图
学习用邻接表来存储图
2.过程与方法:
学习流程:讲授——模仿——练习
通过课堂练习,巩固课堂内容。
教学重点、难点
【重点】
用邻接矩阵存储图
用邻接表存储图
【难点】
采用头插法用数组建立邻接表
课时安排
课时安排:120分钟
四、上课准备
课程相关ppt、白板、白板笔、积分卡
课前检查电脑、投影仪、网络是否有故障,及时修复。
五、教学活动
活动时长
教学活动
注意事项
课前准备
老师准备学生电脑,保证电脑能正常使用;打开投影仪,打开上课课件,以最饱满的热情迎接学生!
提前10分钟准备
开场白
欢迎各位同学回到信息学课堂。
引入
今天我们学习的内容是数据结构——图。这个图和我们熟知的地图、图片不同,这个图是用于研究数据之间多对多的关系的。前面我们学习了树这种结构,曾经提到一个概念的区分:有环为图,无环为树。从这里也可以看出,树是一种特殊的图。图论是专门研究图的性质的理论。世界上最早的图论问题也许大家并不陌生,在小学奥数中,有同学就学过一种”一笔画问题“。至今,这个问题仍然经常出现在公务员考试中。这个一笔画问题最初被称为”哥尼斯堡七桥问题“。说的是18世纪普鲁士的哥尼斯堡,有一条河穿过,河中有两个岛屿,有七座桥把两个岛屿与河岸连接起来。有人提出一个问题,如何才能不重复、不遗漏地一次走完七座桥,最后回到出发点。这个问题后来被数学家欧拉解决,时至今日变成了小学二年级奥数题。这个问题被公认为现代图论的起源问题。
学习内容(1)
图的基本概念
图是研究数据元素之间的多对多的关系的数据结构。
图的概念可以这样描述:图有有限个数的顶点和顶点之间的边组成,图中的数据元素称为顶点。
图通常表示为:
G(V,E),其中,G表示一个图,V是图中G顶点的集合,E是图G中边的集合。
12
1
2
4
3
G(V,E),其中:
V={1,2,3,4}
E={(1,2),(1,3),(3,4),(2,4)}
上面的记法中,数据元素1,2,3,4称为顶点。
(1,2)表示一对无序对,表示顶点1,2之间的无向边。(1,2)和(2,1)代表的是同样的边。
这个图是一个无向图。
无向图是由无向边组成的,有向图则是由有向的边组成的。有向边也称作“弧”。
i,j:表示从顶点i到顶点j的一条有向边,此时,i称为弧头,j称为弧尾;
如图,左边的有向图可以表示为:
G(V,E),其中:
V={1,2,3,4}
E={2,1,1,3,4,3,2,4}.
和图有关的其他概念:ppt7-14
对照ppt讲解,尤其注意以下的几点:
完全图的边的计算
因为任意两个顶点之间都有边,所以我们用到了组合数C(n,2);对于有向图,由于顶点之间是有序的,所以要用排列数A(n,2);
子图
数子图的时候,如果没有特别说明,不要忘记空图是任何图的子图。
度
关于度的概念,度是没有负数之说的。对于有向图而言,无论是从某点出发还是到某点终止的边,都会对这个点贡献一个度。
关于连通和不连通
当一个n顶点的图连通时,其边的数量至少为n-1。但一个图的边大于n-1时,却不一定连通。当一个图的边大于n-1时,必然会存在环,这个结论对其连通性并无要求。请同学们注意这些表述的逻辑。
连通分量
连通分量不是最大的子图,而是极大子图。最大和极大的区别要注意。极大指的是当前的连通分量不可再包括更多的顶点,达到了极限。因此连通分量是包括某个顶点的一个极大子图,并不是说这个子图一定是最大的那个。
尤其是对于有向图的强连通分量,有些点只有入度没有出度,那么这个点不可到达其他点,于是单独成为一个强连通分量。
图的存储方式ppt15-18
图的存储常用的数据结构:邻接矩阵、邻接表;
根据图的定义,存储一个图需要存储顶点信息、边的信息以及
(1)邻接矩阵
简单的用编号表示顶点,
用二维数组A[n][n]存储顶点和顶点之间的关系。例如A[i][j]=1表示顶点i和顶点j之间有边i,j相连,A[i][j]=0表示顶点i和j之间没有边相连。对于无向图,A[i][j]和A[j][i]是必然相等的。A[n][n]这个二维数组就是邻接矩阵。
(2)权矩阵
如果边有边权值,那么A[i][j]存储边i,j的权值,若没有边,则默认为无穷大,此时的A[n][n]称为权矩阵。注意权矩阵的初始化和邻接矩阵的初始化方式有不同。
邻接矩阵和权矩阵的示例:ppt16-17
对照ppt讲解。
一般来说,邻接矩阵和权矩阵存储图的效率很高,但如果图非常稀疏,邻接矩阵内大多数位置都是无效的,会产生很多的浪费。一般来说,人们规定边的数量enLog2n时的图就
您可能关注的文档
- python数据科学课件4-NumPy通用函数与运算教案.docx
- python数据科学课件5-Matplotlib数据可视化(一)教案.docx
- python数据科学课件6-Matplotlib数据可视化(二)教案.docx
- python数据科学课件7-Matplotlib数据可视化(三)教案.docx
- python数据科学课件8-pandas基础(一).pptx
- python数据科学课件8-pandas教案.docx
- python数据科学课件9-pandas教案.docx
- python数据科学课件10-pandas教案.docx
- python数据科学课件12-pandas教案.docx
- python数据科学课件13-scikit-learn构建模型.pptx
最近下载
- 群塔交叉作业防碰撞监理实施细则.docx
- 第三单元大单元整体教学课件统编版语文八年级下册.pptx
- 2025年贵州省高职院校分类招生考试(文化综合)历年参考题库含答案详解(5卷).docx VIP
- 《磁极与方向》优质课件.pptx VIP
- 乡村宅基地买卖协议书(通用).docx
- 2020-2021学年浙江省温州实验中学八年级(下)期末语文试卷.pdf
- 2025年慢阻肺考试试题及答案.docx VIP
- 人教版九年级语文下册 双减分层书面作业设计案例 样例 变色龙.docx VIP
- 松江消防主机操作.pptx
- 人教A版(2019)高中数学必修第二册 6.4.3.2 正弦定理 课件(共28张PPT).pptx VIP
原创力文档

文档评论(0)