【数据结构】图

让人想犯罪 __ 提交于 2019-11-29 23:28:35

图结构可以分为有向图和无向图,常见地表示方法有数组表示法、邻接表、十字链表和邻接多重表,遍历地方式有两种,一种是深度优先遍历,另一种是广度优先比遍历。

1.1 什么是图
  • 每个数据元素称为顶点,在有向图中,从V1到V3称为一条,V3到V1是另一条弧,V1称为弧尾,V3称为弧头。在无向图中,从V 1到V3称为一条
  • 有n个顶点,1/2n(n-1)条边地无向图称为完全图,有n(n-1)条弧地有向图称为有向完全图,有很少条边或图称为稀疏图,反之称为稠密图
  • 在G2无向图中,类似V3与V1、V2和V4之间有边的互称为邻接点与顶点相关联的边数称为顶点的
  • 在G1有向图中,顶点的度是顶点的出度和入度之和,以顶点为头的弧的数目称为入度,为尾的弧的数目称为出度
  • 从一个顶点到另一个顶点的顶点序列称为路径,在有向图中,路径是有方向的,路径上边或弧的数目称为路径的长度,如果一条路径中的起始顶点和结束顶点相同,那么称这个路径为或者回路,不出现重复顶点的路径称为简单路径
  • 无向图中,如果一个顶点到另一个顶点有路径,那么它们就是连通的,如果图中的任意两个顶点都是连通的,那么这个图就是连通图。无向图中的极大连通子图称为连通分量
  • 如果是有向图中的任意一对顶点都有路径,那么这个就是强连通图,相应的它的极大连通子图就称为强连通图分量
  • 一个连通图的一个极小连通子图,它包含所有顶点,但足以构成一棵树的n-1条边,加一条边必定会形成,这个就称为生成树
1.2 图的表示

表示图的方法通常有四种:
1、数组表示法;
2、邻接表;
3、十字链表;
4、邻接多重表。
邻接表是图的一种链式存储结构,十字链表是有向图的另一种链式存储结构,邻接多重表是无向图的另一种链式存储结构。

1.3 邻接表的表示与实现

邻接表有两种节点,一种是头节点,另一种是表节点。头结点中存储一个顶点的数据和指向链表中第一个结点,表结点中存储当前顶点在图中的位置和指向下一条边或弧的结点,表头结点用链式或顺序结构方法存储。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!