图(一):图的定义及术语

图(graph)是一种网状数据结构,图是由非空的顶点集合和一个描述顶点之间关系的集合组成。其形式化的定义如下:

Graph = ( V , E )
V = {x| x∈某个数据对象}
E = {<u , v>| P(u , v)∧(u,v∈V)}

V 中的数据元素通常称为顶点(Vertex),R 是两个顶点之间关系的集合
P(u , v)表示u 和v 之间有特定的关联属性。若<u , v>∈E,则<u , v>表示从顶点u 到顶点v 的一条弧或边,并称u 为弧尾起始点,称v 为弧头终止点

  • 有向图
    图中的顶点之间的连线是有方向的,这样的图称为有向图(directedgraph)。

  • 无向图
    若<u , v>∈E 则必有<v , u>∈E,即关系E 是对称的,此时可以使用一个无序对(u , v)来代替两个有序对,它表示顶点u 和顶点v 之间的一条边,此时图中顶点之间的连线是没有方向的,这种图称为无向图(undirected graph)。

我们将弧和边统一称为边(edge)。

并且我们还约定顶点集与边集都是有限的,并记顶点与边的数量为|V|和|E|。通过图的以上形式化定义,我们看到我们所讨论的“图”,并非通常所指的图形、图像或数学上的函数图。

  • 简单图
    设G=(V,E)是图,若G中既无吊环又无多重边,则称G是简单图(simplegraph)。

  • 邻接点、邻接边
    对于无向图G = ( V , E ),如果边(u , v) ∈E,则称顶点u 与顶点v 互为邻接点。对于有向图G = ( V , E ),如果边<u , v> ∈E,则称定点u 邻接到顶点v,顶点v 邻接自顶点u,或称v 为u 的邻接点,u 为v 的逆邻接点。从顶点u 出发的边也称为u 的出边或邻接边,而指向顶点u 的边也称为u 的入边或逆邻接边。

  • 顶点的度、入度、出度
    顶点的度(degree)是指依附于某顶点v 的边数,通常记为TD (v)。
    在有向图中,要区别顶点的入度与出度的概念。顶点v 的入度(in degree)是指以顶点为终点的边的数目,记为ID (v);顶点v 出度(out degree)是指以顶点v 为起始点的边的数目,记为OD (v)。对于有向图有TD(v) = ID(v) + OD(v)。在无向图中每条边都可以看成出边,也可以看成入边,此时TD(v) = ID(v) = OD(v)。

对于任何无向图G = ( V , E ),都有ΣTD(v ) = 2|E|,其中v ∈V

因为在无向图中计算各点度数之和时,每条边都恰好被统计了两次。另外对于任何有向图G = ( V , E ),都有∑ID(v ) = ∑OD(v ) = |E|,其中v∈V;这是因为在计算各个顶点的出(入)度的过程中,每条有向边都只被统计了一次。由此对于有向图而言TD(v ) = ID(v )+ OD(v ) = 2|E|。通过以上分析,我们有以下结论:

在任何图G = ( V , E )中,|E| = (∑TD(v ))/2

假设图中顶点个数为n,边数为m。
在无向图中当每个顶点都与其余n-1 个顶点邻接时,图的边数达到最大,此时图中每两
个顶点之间都存在一条无向边,边数m 为n 个顶点任意取出2 个的组合数,即m = n(n-1)/2。同样有向图中当每个顶点都有n-1 条出边并有n-1 条入边时,图中边数达到最大,此时图中每两个顶点之间都存在方向不同的两条边,边数e 为在n 个顶点中任意取出2 个并进行排列的排列组合数,即m = n(n-1)

假设在图G = ( V , E )中有n 个顶点和m 条边。
1.若G 是无向图,则有0 ≤ m ≤ n(n-1)/2。
2.若G 是有向图,则有0 ≤ m ≤ n(n-1)。

由此,在具有n个顶点的图中,边的数目为Ο(n )。由于图中边数与顶点数并非线性关系,因此在对有关图的算法时间复杂度、空间复杂度进行分析时,我们往往以图中的顶点数和边数作为问题的规模。

  • 完全图 、稠密图、稀疏图
    有n(n-1)/2 条边的无向图称为无向完全图;有n(n-1)条边的有向图称为有向完全图。有很少边(如m < n log n)的图称为稀疏图,反之边较多的图称为稠密图

  • 子图
    设图G = ( V , E )和图G' = ( V' , E' )。
    如果V'⊆ V 且E'⊆ E ,则称G'是G 的一个子图(subgraph)。以图7-1(a)为例,若V' =
    { a , b , c , d }且E' = {( a , b ) , ( a , c ) , ( a , d )},则G' = ( V' , E' )就是图G 的子图。
    如果V'= V 且E'⊆ E ,则称G'是G 的一个生成子图(spanning subgraph)。

  • 路径、环路及可达分量
    所谓图中的一条通路或路径(path),就是由m+1 个顶点与m条边交替构成的一个序列ρ= { v , e , v , e , v , … , e , v },m ≥ 0,且e = (v , v ),1 ≤ i ≤ m。路径上边的数目称为路径长度,计作|ρ|。长度|ρ| ≥ 1 的路径,若路径的第一个顶点与最后一个顶点相同,则称之为环路或环(cycle)。如果组成路径ρ的所有顶点各不相同,则称之为简单路径(simple path);如果在组成环的所有顶点中,除首尾顶点外均各不相同,则称该环为简单环路(simple cycle)。如果组成路径ρ的所有边都是有向边,且e 均是从v 指向v ,1 ≤ i ≤ m,则称ρ为有向路径,同样可以定义有向环路。在描述简单图的路径或环路时,我们只需要依次给出组成路径或环路的各个顶点,而不必再给出具体的边。
    在有向图G 中,若从顶点s 到顶点v 有一条通路,则称v 是从s 可达的。对于顶点s,从 s 可达的所有顶点所组成的集合,称作 s 在 G 中对应的可达分量

  • 连通性与连通分量
    在无向图中,如果从一个顶点v 到另一个顶点v (i≠j)有路径,则称顶点v 和v 是连通的。如果图中任意两顶点v 、v ∈V,v 和v 都是连通的,则称该图是连通图(connected graph)。所谓连通分量(connected component),是指无向图的极大连通子图。显然任何连通图的连通分量只有一个,即本身。

  • 强连通图、强连通分量
    在有向图中,若图中任意一对顶点v 和v (i≠j)均有一条从顶点v 到另一个顶点v 的路径,也有从v 到v 的路径,则称该有向图是强连通图。有向图的极大强连通子图称为强连通分量。显然任何强连通图的强连通分量只有一个,即本身。

  • 无向图的生成树
    对于无向图G = ( V , E )。如果G 是连通图,则G 的生成树(spanning tree),是G 的一个极小连通生成子图
    原图
生成树

一棵有n 个顶点的生成树有且仅有n-1 条边。如果一个图有n 个顶点和小于n-1 条边,则是非连通图。如果它有多于 n-1 条边,则一定有环路,不是极小连通生成子图。但是,有n-1 条边的生成子图不一定是生成树。

如果在生成树中确定某个顶点作为根结点,则生成树就可以成为我们在之前介绍的
树结构。

  • 权与网
    在实际应用中,图不但需要表示元素之间是否存在某种关系,而且图的边往往与具有一定实际意义的数有关,即每条边都有与它相关的实数,称为。这些权值可以表示从一个顶点到另一个顶点的距离或消耗等信息,在本章中假设边的权均为正数。这种边上具有权值的图称为带权图(weighted graph)或(network)。
    图定义_6.PNG
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 228,197评论 6 531
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,415评论 3 415
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 176,104评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,884评论 1 309
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,647评论 6 408
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,130评论 1 323
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,208评论 3 441
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,366评论 0 288
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,887评论 1 334
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,737评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,939评论 1 369
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,478评论 5 358
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,174评论 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,586评论 0 26
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,827评论 1 283
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,608评论 3 390
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,914评论 2 372

推荐阅读更多精彩内容

  • 1. 图的定义和基本术语 线性结构中,元素仅有线性关系,每个元素只有一个直接前驱和直接后继;树形结构中,数据元素(...
    yinxmm阅读 5,473评论 0 3
  • https://zh.visualgo.net/graphds 浅谈图形结构https://zh.visualgo...
    狼之独步阅读 4,180评论 0 0
  • 1)这本书为什么值得看: Python语言描述,如果学的Python用这本书学数据结构更合适 2016年出版,内容...
    孙怀阔阅读 12,544评论 0 15
  • 主要知识点 图的概述 图的存储结构 图的遍历 最小生成树 最短路径 拓扑排序 关键路径 一、图的概念 图的定义: ...
    JiaJianHuang阅读 1,740评论 0 0
  • 马了太多太多好书来不及看,什么时候才能有精力去挤出时间,什么时候才能不慌乱
    鹤小姐阅读 90评论 0 0