博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图的基本知识
阅读量:6265 次
发布时间:2019-06-22

本文共 807 字,大约阅读时间需要 2 分钟。

一:图的定义

一个图G=V,E)由定点集V和边集E组成,每一条边都是一个点对(v,w),当中v,w属于V。假设点对是有序的。那么图就叫做有向的。

有向的图有时也叫做有向图。

定点v,w邻接当且仅当(v,w)属于E

有时候边还有第三种成分,称为权或值。

图的一条路径是一个顶点序列W1W2W3~Wn,使得(WiWi+1)属于E,这样一条路径的长是该路径上的边数。它等于N-1.。从一个顶点到它自身能够看作是一条路径,假设路径不包括边,那么路径长为0。这是定义特殊情况的方便的方法。

假设图含有一条从一个顶点到它自身的边(v,w),那么路径v,w也叫做一个环。为们讨论的图通常是无环的。

一条简单路径是这种:其上全部顶点都是互异的,但第一个顶点和最后一个顶点可能同样。

假设一个无向图中从每个顶点到每个其它顶点都存在一条路径。则称其为连同的。具有这样性质的有向图称为是强连通的。

假设一个有向图不是强连通的,可是它的基础图,即弧上去掉方向所形成的图是连通的。那么该有向图称为是弱连通的。

全然图是其每一对顶点间都存在一条边的图。

二:图的表示

我们将考虑有向图(无向图能够类似表示)

表示图的一种简单的方法是使用二维数组,称为邻接矩阵表示法。对于每一条边(u,v),我们置A[u][v]=1,否则数组元素就置0。也就是假设边存在就是1。不存在就是0。假设有权

就将权赋给A[u][v]。而使用一个非常大或非常小的权做为标记来表示一条不存在的边。

邻接矩阵法非常easy,可是它的缺点也非常明显,假设一个图的边不多的话,它太浪费空间了,由于矩阵所须要的空间是N^2。假设图的边比較多,那这是比較合适的方法。

假设图是稀疏的。更好的办法是用邻接表来表示。对每个顶点。我们使用一个表存放全部邻接的顶点。

数组表示不方便的一般都用链表取代。

邻接表是表示图的标准方法。每条边出如今俩个表中,所以此空间的使用是双倍的。

转载地址:http://zddpa.baihongyu.com/

你可能感兴趣的文章
OSG闪存
查看>>
C#迭代器
查看>>
[Android] Change_xml.sh
查看>>
POJ-1925 Spiderman 动态规划
查看>>
实战BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer ....
查看>>
Linux编程基础——线程概述
查看>>
Hive内部表外部表转化分析
查看>>
【转】使用Xcode和Instruments调试解决iOS内存泄露
查看>>
CDE: Automatically create portable Linux applications
查看>>
微信公众平台开发(4)天气预报
查看>>
WPF: RenderTransform特效
查看>>
基础才是重中之重~你是否真正了解TransactionScope?
查看>>
svn
查看>>
何时会发生db file sequential read等待事件?
查看>>
了解你所不知道的SMON功能(十二):Shrink UNDO(rollback) SEGMENT
查看>>
GCC编译器中的扩展
查看>>
[置顶] 礼物:《红孩儿引擎内功心法修练与Cocos2d-x》之结点系统(场景,层,精灵)...
查看>>
使用快捷键,快到极致
查看>>
[原]【实例化需求】1.FitNesse工具应用简介
查看>>
java中的import和package机制
查看>>