前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据结构——图相关概念

数据结构——图相关概念

作者头像
蜻蜓队长
发布2018-08-03 10:20:53
3680
发布2018-08-03 10:20:53
举报
文章被收录于专栏:Android机动车Android机动车
在线性表中,数据元素之间是被串联起来的,仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中的多个元素相关,但只能和上一层中的一个元素相关。

可是现实生活中,好多关系不再是一对一或一对多,比如人和人之间的关系,会互相认识,就要考虑多对多的情况。这就是今天要介绍的——图。

图是一种较线性表和树更加复杂的数据结构,在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素都可能相关。先看个图:

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

对于图的定义我们需要注意:

  • 线性表中的数据元素叫元素,树中将数据元素叫做结点,在图中数据元素叫做顶点。
  • 线性表中可以没有数据元素,称为空表。树中可以没有结点,叫做空树。在图结构中,不允许没有顶点,在定义中,V表示有穷的非空集合。
  • 线性表中,相邻的数据元素之间具有线性关系,树结构中,相邻两层的结点具有层次关系,而图中,任意两个顶点之间都有可能存在关系,顶点之间的逻辑关机用边来表示,注意边集可以为空。

各种图定义

无向边:若顶点vi到vj之间的边没有方向,则称这条边为无向边,用无序偶对(vi,vj)来表示。如果图中任意两个顶点之间的边都是无向边,则称该图为无向图,如图:

有向边:若从顶点vi到vj的边有方向,则称这条边为有向边,也称为弧,用有序偶< vi,vj >来表示,vi称作弧尾,vj称作弧头。如果图中任意两个顶点之间的边都是有向边,则称该图为有向图。有向边用“<>”表示,注意它是有顺序的,第一个为弧尾,第二个为弧头,不能颠倒。

在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。我们之后说到的都是简单图。下面两个图就不是简单图:

在无向图中,如果任意的两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图有n*(n-1)/2条边。如下图:

在有向图中,如果任意两个顶点之间都存在互为相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有n*(n-1)条弧,如下图:

由以上可以得出这样的结论,对于具有n个顶点和e条边数的图,无向图0<=e<=n(n-1)/2,有向图0<=e<=n(n-1)

有很少条边或弧的图称为稀松图,反之称为稠密图。

有些图的边或弧具有与它相关的数字,这种与图的边或弧相关的数叫做权这种带权的图通常称为网。如下图:

图中顶点间存在路径,两顶点存在路径则说明是连通的,如果路径最终回到起始点则称为,当中不重复的叫简单路径。若任意两顶点都是连通的,则图就是连通图,有向则称为强连通图。图中有子图,若子图极大连通这就是连通分量,有向的则称为强连通分量

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android机动车 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 各种图定义
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档