《大话数据结构》第7章.图


关键词:顶点(Vetrex)、边(Edge)、无向图(Undirected graphs)、有向图(Directed graphs)、简单图、无向完全图、有向完全图、稀疏图、稠密图、
路径、回路(环)、简单路径、简单回路(简单环)、连通图

what图:是由 顶点 有穷非空集合 和顶点之间 集合 组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的 集合 ,E是图G中边的 集合

图、 树、线性表之间的区别
线性表中我们把数据元素叫 元素。树中将数据元素叫 结点,在图中数据元素,称之为 顶点(Vetrex)。

线性表中可以没有数据元素,称为 空表。树中可以没有结点,叫做 空树。在图结构中,不允许没有顶点。在定义中,若V是顶点的集合,则强调了 顶点集合V有穷非空
注意:有些资料提出点集可空。

线性表中,相邻的数据元素之间具有 线性关系。树结构中,相邻两层的结点具有 层次关系。图中, 任意两个顶点之间都可能有关系,顶点之间的逻辑关系来表示边集可以是空的
线性表是一对一,树结构一对多,图是多对多

与图的边或弧相关的数叫做 (weight)
带权的图通称为 (network)

如果从一个顶点到另一个顶点存在一条边,则称这两个顶点是 邻接的。

无向图:任意边无向边
有向图:任意边有向边
无向完全图:任意两顶点都存在边
有向完全图:任意两顶点都存在互为相反的两条弧
连通图:任意两顶点有路径(注意和完全图区分,连通图并不一定是完全图)(相对于无向图)
连通分量:无向图中的极大连通子图(相对于无向图)
强连通图:任意两顶点有路径且双向(即可返回,强连通图并不一定是有向完全图)(相对于有向图)
强连通分量:有向图中的极大强连通子图(相对于有向图)

稀疏图:有很少条边或弧的图
稠密图:有很多条边或弧的图

简单图:没有重复的边或顶点到自身的边,叫简单图

路径的长度:路径上边或弧的数目

图中顶点间存在路径,两顶点存在路径则说明是 连通的,如果路径最终回到起始点则称为 (即起始顶点和终顶点为同一顶点)。路径中顶点不重复叫 简单路径。除始顶点和终顶点重复外,其余顶点不重复的路径,称为 简单路径简单环

what图的遍历:
从图中某一顶点出发访遍图中其余顶点,且使 每一个顶点仅被访问一次,这一过程叫做图的遍历。

深度优先遍历( DepthFirstTraversal

遍历顺序:v1,v2,v4,v8,v5,v3,v6,v7

核心思想 :有点像树的前序遍历。

时间复杂度
邻接矩阵 O(n^2)
邻接表 O(n+e)

优劣分析

邻接矩阵与邻接表比较:对于点多边少的稀疏图来说,邻接表结构效率更高

广度优先遍历 BreadthFirstTraverse
遍历顺序:v1,v2,v3,v4,v5,v6,v7,v8

核心思想:有点像树的层序遍历。

时间复杂度:
邻接矩阵 O(n^2)
邻接表 O(n+e)


极大连通子图性质:
1)连通
2)子图
3) 极大顶点数

极小连通子图性质:
1)连通
2)子图
3) 极小边数即n-1条边(n为顶点数)(注意不是顶点数是边数,即n个顶点最小边数为n-1条边)

what生成树:
一个连通图的生成树是一个极小连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边
如果一个图有n个顶点和小于n-1条边,则是非连通图,如果它多于n-1条边,必定构成一个环。不过有n-1条边并不一定是生成树

what最小生成树:
构造 连通网最小代价生成树称为最小生成树(Minimum Cost Spanning Tree)

找连通网的最小生成树的两种算法:
1)Prim(普里姆)算法
2)Kruskal(克鲁斯卡尔)算法

Prim(普里姆)算法

核心思想:以某顶点为起点,逐步找各顶点上最小权值边来构建最小生成树
时间复杂度:O(n^2)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值