数据结构 — 图的概述

原创 2015年11月19日 14:56:26

一、基础知识


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形成的路径 和 一条回退边所能到达的具有最小深度优先编号的  顶点的编号。(说白了就是,他儿子节点能回到的最小深度优先编号,如果比他大,说明该点是关键点)

版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构—概述

由于参加自学考试,针对数据结构进行了专门的复习,从中不仅仅是获得了知识,更多的是将理论知识转换为实际应用,从而解决我们遇到的各种问题。 数据结构(Data Structure)是将数据进行组织利用算法...

数据结构概述 第六章 图

第六章 图 6.1 6.1.1 图的定义和基本术语 1.图的定义 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:                           G=(V,...

《数据结构导论》—第一遍思维导图

一年两次的自考学习在近期已经开始了,小编已经考过3次了,所以呢,对于自考,其实只要明白它其中的套路,有自己的学习方法,那么最后把自考考过就完全不是问题啦。最近学习了《数据结构导论》,接下来就跟着小编一...
  • zmh458
  • zmh458
  • 2017年07月07日 21:20
  • 314

MOOC浙大数据结构 — 08-图9 关键活动 (30分)

假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。 比如完成一个专业的所...
  • flx413
  • flx413
  • 2016年11月21日 22:26
  • 406

数据结构—非连通图的遍历

/* 非连通图的遍历。 */ #include #include #include #define MAXV 50 typedef int InfoType; using namespace s...
  • LY_624
  • LY_624
  • 2016年06月06日 21:36
  • 598

数据结构5—图-邻接表 java实现

一、概述邻接表处理方法: 用一位数组存储顶点(为何不用单链表存储?数组可以较容易获得读取顶点信息),此外,每个数据元素还存储指向第一个邻接点的指针; 每个顶点Vi的所有邻接点构成一个线性表。data:...

MOOC浙大数据结构 — 08-图7 公路村村通 (30分)

现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数NN(\le 1000≤1...
  • flx413
  • flx413
  • 2016年11月21日 22:24
  • 315

数据结构随笔—图

图分为有向图和无向图。 图中的数据结构通常称为顶点。有n(n-1)/2条边的无向图称为完全图。有n(n-1)条边的有向图成为有向完全图。 图的边或者弧具有与它相关的树,这种与图的边或者弧相...

数据结构——图—最小生成树(普里姆算法和克鲁斯卡尔算法)

最小生成树传送门(图的遍历)http://blog.csdn.net/qq_33329316/article/details/53573798 传送门(图的概念和图的储存)http://blog.c...

数据结构—图I

图的基本概念   1.        图的定义                      图G是由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图中的非空有限集。        ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构 — 图的概述
举报原因:
原因补充:

(最多只允许输入30个字)