数据结构与算法[零基础]---5.图
五、图
(一)相关定义:
一个图G由非空有限的顶点集合V和有限的边的集合E组成,记为G=(V,E)
- 在图形结构中,结点之间的关系可以是任意的,任意两个数据元素都可能相关(图是一种较线性表和树更为复杂的数据结构)
- 图一般分为有向图和无向图两种类型
(二)相关术语:
1.有向图
对于一个图G,若边集E(G)为有向边的集合,则称该图为有向图
2.无向图
对于一个图G,若边集E(G)为无向边的集合,则称该图为无向图
3.顶点的度
顶点的度就是指和顶点相关联边的数目。
- 在有向图中,以顶点V为头的弧的数据称为V的入度;以V为尾的弧度称为V的出度
4.连通
- 对无向图而言,如果任意两个不同顶点i和j之间都有路径,则该无向图连通的。无向图中的极大连通分子图为图的连通分量。
- 对有向图而言,如果任意两个不同顶点i和j之间都有路径,同时j和i之间也有路径,则该有向图是强连通的。同样,有向图的极大强连通子图为该图的强连通分量。
(三)图的遍历:
1.概念:
图的遍历是指从图中的某个顶点出发,沿着图中的边或弧访问图中的每个顶点,每个顶点只被访问一次。
2.算法:
图的遍历算法是求解图的连通性问题、拓扑排序和关键路径的基础。对无向图和有向图都适用的遍历算法通常有两种
方法一:深度优先搜索,类似于树的先序遍历
方法二:广度优先搜索,类似于树的层次遍历
- 这两种遍历算法的时间复杂度,不同之处在于对顶点访问的顺序的不同
(四)最近邻点:
最近邻点是从某个地方出发,每次在没有经过的地点中选择最近的一个,直到经过了所有的地点,最后回到出发地。
- 基本思想
- (1)给定初始地点A,寻找与其距离最短的地点B,记录其路径。
- (2)从地点B开始,寻找除A之外与其距离最短的地点C,记录其路径。(3)重复(2)操作,直到经过了所有地点,并回到地点A。
(五)真题实例
- 找最短路径做题方法:在A那一列,D排数字5最小;然后跳到D列,虽然A排5最小但是不能选,因为我们要回去,选第二小的数字6,在C排;然后跳到第C列,D排数字数字7最小,但是排除不能选刚才选过了,选第二小的数字8,在E排;然后跳到E列,选没选过的B排,数字10;然后跳到B列,选最后没选过的A排,数字7;5+6+8+10+7=36,选择B
- 找最短路径做题方法:在甲那一列,丙排数字5最小;然后跳到丙列,丁排数字6最小,选6;然后跳到第丁列,戊排数字8最小,选8;然后跳到戊E列,选没选过的乙排,数字10;然后跳到乙列,选最后没选过的甲排,数字7;5+6+8+10+7=36,选择C
总结:本章主要讲解图的知识点,介绍有向图和无向图的概念,考试一般考察最短路径,所以真题实例都要看懂来,内容简单。数据结构还有一章知识点--串,由于教资没有这个考点,所以暂不更新这一章。数据结构的内容就完结了,下一篇内容开始讲解算法(查找和排序),如果这篇文章对你有帮助,不要忘记你的点赞跟关注噢,你的支持是我持续写作的动力,小编会带来更加丰富的内容,敬请期待!!!