数据结构 — 图的概述

来源:互联网 发布:写钢琴谱的软件 编辑:程序博客网 时间:2024/06/05 15:14

一、基础知识


1、欧拉闭迹:每个顶点的度均为偶数,才可能存在从任意顶点出发,经过所有边恰好一次,并最终回到出发顶点的走法。

2、定义:图G = (V,E)由有穷非空集合V(G)-> 顶点(vertex) 和 有穷允空集合E(G) -> 边(edge)构成。

3、分类:无向图 ->(v0,v1)和(v1,v0)表示同一条边,有向图 ->(v0,v1)表示顶点v0为尾,顶点v1为头的边,即v0指向v1。

4、概念:

1)限制:(1)不能有自身环 (2)同一条边在图中不能出现两次或者两次以上即多重图

2)完全图:具有边数最多的图,对于n个顶点的无向图,边数为 n*(n-1)/2;对于n个顶点的有向图,边数为n(n-1)。

3)边(v0,v1)与v0和v1关联;边(v0,v1)、(v0,v2)和(v0,v3)关联于 v0。

4)简单路径:路径上除了起点和终点可能相同外,其余顶点都互不相同。环路(回路)是起点和终点相同的简单路径。

5)连通分支,即分支,无向图中的极大连通子图;有向图G每对不同的顶点vi和vj,都存在vi到vj 以及vj到vi的有向路径则为强连通;强连通分支是有向图的极大强连通子图。

6)顶点的度(degree)是关联与该顶点的边的条数;入度(in-degree)定义为  箭头指向v的边数;出度(out-degree)相反;

7)   边(edge)带权值(weight)的图成为网络(network)。


二、图的存储(之后要写几个示例,这里用文字简单说说)

(1)邻接矩阵 (2)邻接表(适合稀疏图)(3)逆邻接表(方便求顶点的度)(4)邻接多重表(方便找到第二顶点和标记扫过的边)


三、图的连通性


1、连通

在无向图G中,v0 与 v1 之间存在一条路径,称v0 与 v1 是连通的;G为无向图,所以必然存在一条v0到v1的路径;当任意两个节点vi 与 vj之间都存在一条路径,则称无向图G是连通的。

2、连通分支

在无向图G中,一个极大连通子图则称为无向图G的连通子图。

3、强连通

在有向图G中,任意两个节点vi与 vj之间 可以任意到达(vi -> vj 或 vj ->vi)则称该有向图G是强连通的。

4、强连通分支

强连通分支时有向图的极大强连通子图。

5、关节点

在图G中,存在节点v ,当删除该节点以及关联在该节点上的所有边后,得到的图G’至少包含两个连通分支,那么该节点v 则成为图G 的关节点。

6、双连通图

双连通图是没有关节点的连通图。

7、双连通分支

在图G中一个最大的双连通子图。

8、求解图的双连通分支的思路

1)最大的双连通子图 -> 双连通图 -> 关节点

2)如果顶点v是深度优先生成树的根结点,且v至少有两个儿子,则v为关节点;如果v 不是生成树的根节点,那么当且仅当v有个儿子w,使得low(w)>= dfn(v),则v为关节点。

注释:

dfn(v):深度优先编号,在深度优先搜索过程中被访问的顺序。

low(v):从v 出发,经过一条由w形成的路径 和 一条回退边所能到达的具有最小深度优先编号的  顶点的编号。(说白了就是,他儿子节点能回到的最小深度优先编号,如果比他大,说明该点是关键点)

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 单亲妈妈再婚孩子怎么办 怀孕吸了甲醛怎么办 大腿前肌肉发炎怎么办 小学没教英语怎么办 做实验害怕小鼠怎么办 初中分到差班怎么办 高中分到平行班怎么办 夏季皮肤起皮屑怎么办 皮肤局部起皮屑怎么办 嘴角两边起皮屑怎么办 嘴角旁边起皮屑怎么办 春季脸上起皮怎么办 手上起白皮屑怎么办 手背起皮干燥怎么办 不会读的英语怎么办 中学生不准时回家怎么办 汽车轮胎锈住了怎么办 新轮胎不好装怎么办 学it找不到工作怎么办 血液里有微生物怎么办 机械硬盘不显示怎么办 六安建筑机械租赁公司怎么办 别墅楼梯太陡怎么办 不锈钢楼梯太陡怎么办 真皮白色鞋脏了怎么办 白色牛皮包脏了怎么办 白色羊皮鞋脏了怎么办 白色真皮染色了怎么办 白色漆皮鞋脏了怎么办 对鉴定结果不服怎么办 洗衣机入水口堵塞怎么办 华科办临时饭卡怎么办 血浆乳酸测定高怎么办 olay大红瓶过敏怎么办 饥一顿饱一顿怎么办 朝鲜人向去韩国怎么办? 我是超级大方脸怎么办 被精神病砍断四根筋怎么办 40小时不睡觉怎么办 边防转业军人安置不好怎么办 转业军人孩子读书怎么办玉环