图的定义和基本术语

(一)图Graph的定义
图是一种网状数据结构,形式化定义如下:
{Graph=(V,R)V={xxDataObject}R={VR},VR={<x,y>P(x,y)(x,yV)}\left\{ \begin{array}{lr} Graph=(V,R) \\ V=\{x|x \in DataObject\} \\ R=\{VR\},VR=\{<x,y> | P(x,y) , (x,y \in V)\} \end{array} \right.
集合DataObject中的所有元素具有相同的特性,V中数据元素常称为顶点(vertex),VR是两个顶点之间关系的集合,P(x,y)表示x和y之间有特定的关联属性P。

<x,y>R<x,y>\in R,则<x,y><x,y>表示从顶点x到顶点y的一条弧arc,并称x为弧尾(tail)或起始点,称y为弧头(head)或终端点,此时图中的边是有方向的,称这样的图为有向图。

<x,y>VR<x,y>\in VR,且有<y,x>VR<y,x> \in VR,即VR是对称关系,这时以无序对(x,y)来代替两个有序对,表示x和y之间的一条边(edge),称这样的图为无向图。

图:图的定义和存储

ADT

图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
一个顶点的多个邻接点之间谁先谁后实际上是没有规定的。但是,如果这个图使用邻接矩阵存储,存储上就有先后之分了,这里的First和Next指的就是存储上的关系。
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
边数等于1/2度数
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
完全图一定是连通图
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储

图的存储结构

图:图的定义和存储
一个一维数组,一个二维数组
图:图的定义和存储
图:图的定义和存储
无向图的邻接矩阵显然是对称的。
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
对于有向图:
(1,2) (1,3) (1,4) … 是顶点1的出度。行和即出度。
(2,1) (3,1) (4,1) … 是顶点1的入度。列和即入度。
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储图:图的定义和存储
图:图的定义和存储
注意:
1)
节点位置序号:0 1 2 3 4 …
节点内容:1 2 3 4 5 …
2)
表头节点表顺序存储,后边的顶点单链表链式存储
3)
顶点单链表的先后次序由读入边的次序决定,也由顶点单链表头插还是尾插决定
4)
有向图每条边被存放一次,无向图一条边被存放两次

如果是网怎么表示?
需要再加上一个权值域 
图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
 图:图的定义和存储
 图:图的定义和存储
 图:图的定义和存储
图:图的定义和存储
图:图的定义和存储
黄色箭头描述邻接表,灰色箭头描述逆邻接表
图:图的定义和存储
邻接多重表针对无向图
图:图的定义和存储
图:图的定义和存储

相关文章:

  • 2021-07-21
  • 2021-10-11
  • 2021-10-01
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-11
  • 2021-10-06
  • 2021-08-18
  • 2021-08-27
  • 2022-12-23
  • 2021-05-27
  • 2021-10-11
相关资源
相似解决方案