数据结构——图的基本概念
来源:互联网 发布:2016淘宝最新刷单方法 编辑:程序博客网 时间:2024/06/14 09:25
数据结构——图的基本概念
不同于线性结构和树形结构,图结构中的元素之间的关系是多对多的。
1、相关定义:
- 图:图G由数据元素(顶点)集合V和边的集合E组成。分为无向图和有向图,无向图中边e的取值范围是0~n(n-1)/2,有向图中e的取值范围是0~n(n-1),其中n为图中顶点的个数。
- 邻接点:在无向图G=(V,E)中,如果存在边(vi,vj)∈E,那么称vi和vj互为邻接点。在有向图G=(V,A)中,如果存在弧<vi,vj>∈A,那么称vi和vj相互邻接。
- 顶点的度:在无向图中,顶点v的度为与顶点v相关联的边的条数,记为TD(v)。在有向图中,以v为弧头的弧的条数称为v的入度,记为ID(v),以v为弧尾的弧的条数称为v的出度,记为OD(v),TD(v)=ID(v)+OD(v)。边数e与顶点的度TD(v)的关系为:e = 1/2∑TD(vi)
- 路径:从vi出发经过一系列顶点到达顶点vj称为从vi到vj的路径。路径的长度为路径上边或弧的数目,顶点不重复出现的路径称为简单路径。
- 子图:两个图G=(V,E)和G'=(V',E'),如果V‘含于V并且E'含于E,那么G’称为G的子图。
- 连通图和强连通图:无向图中,如果顶点vi到vj有路径,则称vi与vj是连通的。如果图中任意两个顶点之间都是连通的,那么这个图就是连通图。在有向图中,如果任意两个顶点vi,vj,从vi到vj和从vj到vi都存在路径,那么称图为强连通图。
- 网:边或弧上带有权值的称为网。
2、图的抽象数据类型
- CreateGraph(&G):创建图
- DestroyGraph(&G):销毁图
- LocateVertex(G,v):在图G中定位顶点v的位置
- GetVertex(G,j):返回图G中编号为j的顶点
- FirstAdjVertex(G,v):返回图G中v的第一个邻接点
- NextAdjVertex(G,v):返回G中v的下一个邻接点
- InsertVertex(&G,v):在图G中插入新的顶点v
- DeleteVertex(&G,v):删除图G中的顶点v
- InsertArc(&G,v,w):在图G中插入新的弧
- DeleteArc(&G,v,w):删除G中的弧
- DFSTraverseGraph(G):深度优先遍历图
- BFSTraverseGraph(G):广度优先遍历图
3、图的存储结构
- 邻接矩阵表示法
- 邻接表表示法
- 十字链表表示法
- 多重链表表示法
阅读全文
0 0
- 数据结构——图的基本概念
- 数据结构-图的基本概念
- 数据结构-图的基本概念
- 数据结构——基本概念
- 数据结构——基本概念
- 数据结构——树的基本概念
- 数据结构学习——树的基本概念
- 数据结构——树的基本概念
- 数据结构专题——那些难以理解的数据结构基本概念
- 数据结构之图的基本概念
- [数据结构]数据结构的基本概念
- 【数据结构】:数据结构的基本概念
- 数据结构——00基本概念
- 数据结构学习笔记16——查找的基本概念
- 数据结构学习——优先队列(堆)的基本概念
- 数据结构学习——链表的基本概念和分类
- 跟着郝斌学数据结构(09)——树的基本概念
- 数据结构学习—“一般树”的基本概念和知识
- B/S架构和C/S架构
- 2017快过半了,这些人想转行来得及吗?
- 舞步学院是不是很操蛋?
- 浏览器解析css选择器的规则
- Android滚动刻度尺实现
- 数据结构——图的基本概念
- mysql的索引
- 26.活动的生存期(7个回调方法)
- 安卓开发小技巧---如何去掉Activity的转场动画
- 面向对象和面向过程
- PHP中有关正则表达式的函数
- css基础
- 紧扣Love主题,从今天开始人生自检,找个女友没那么难!(舞步学院为你奉献)
- mysql5.7 修改用户初始密码