第六章 图
来源:互联网 发布:网上开店软件排名 编辑:程序博客网 时间:2024/06/14 21:04
6.1图的逻辑结构
1、若顶点vi和vj之间的边没有方向,则称这条边为无向边,表示为(vi,vj)。
2、如果图的任意两个顶点之间的边都是无向边,则称该图为无向图。
3、若从顶点vi到vj的边有方向,则称这条边为有向边,表示为<vi,vj>。
4、如果图的任意两个顶点之间的边都是有向边,则称该图为有向图。
5、简单图:在图中,若不存在顶点到其自身的边,且同一条边不重复出现。
6、邻接、依附
无向图中,对于任意两个顶点vi和顶点vj,若存在边(vi,vj),则称顶点vi和顶点vj互为邻接点,同时称边(vi,vj)依附于顶点vi和顶点vj。
有向图中,对于任意两个顶点vi和顶点vj,若存在弧<vi,vj>,则称顶点vi邻接到顶点vj,顶点vj邻接自顶点vi,同时称弧<vi,vj>依附于顶点vi和顶点vj 。
7、图的基本术语
稀疏图:称边数很少的图为稀疏图;
稠密图:称边数很多的图为稠密图。
顶点的度:在无向图中,顶点v的度是指依附于该顶点的边数,通常记为TD (v)。
顶点的入度:在有向图中,顶点v的入度是指以该顶点为弧头的弧的数目,记为ID (v);
顶点的出度:在有向图中,顶点v的出度是指以该顶点为弧尾的弧的数目,记为OD (v)。
6.2图的存储结构及实现
1、邻接矩阵中图的基本操作——构造函数
1.确定图的顶点个数和边的个数;
2. 输入顶点信息存储在一维数组vertex中;
3. 初始化邻接矩阵;
4. 依次输入每条边存储在邻接矩阵arc中;
4.1 输入边依附的两个顶点的序号i, j;
4.2 将邻接矩阵的第i行第j列的元素值置为1;
4.3 将邻接矩阵的第j行第i列的元素值置为1;
2、邻接表存储的基本思想:对于图的每个顶点vi,将所有邻接于vi的顶点链成一个单链表,称为顶点vi的边表(对于有向图则称为出边表),所有边表的头指针和存储顶点信息的一维数组构成了顶点表。
6.3 最小生成树
1、生成树的代价:设G = (V, E)是一个无向连通网,生成树上各边的权值之和称为该生成树的代价。
2、最小生成树:在图G所有生成树中,代价最小的生成树称为最小生成树。
3、 Prim算法、Kruskal算法
6.4 最短路径
1、Dijkstra算法、Floyd算法
6.5 有向无环图及其应用
1、拓扑排序:对一个有向图构造拓扑序列的过程称为拓扑排序 。
2、拓扑排序
基本思想:(1) 从AOV网中选择一个没有前驱的顶点并且输出;
(2)从AOV网中删去该顶点,并且删去所有以该顶点为尾的弧;
(3)重复上述两步,直到全部顶点都被输出,或AOV网中不存在没有前驱的顶点。
0 0
- 第六章 图
- 数据结构 第六章 图
- 数据结构 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 第六章 图
- 数据结构第六章图
- 第六章图
- 第六章 图
- 第六章 图
- 第六章 图
- php学习笔记(二十一)使用GET方法将值从一个页面传递到另一个页面
- 【hust 1328】 - String
- Elevator
- PhotoShop算法实现--图像的镜像变换(十六)
- linux配置ssh免密码登录的方法
- 第六章 图
- 百度网页搜索部实习生面试
- 找出子数组中最大值最小值差值的最大值
- 解决Unsupported major.minor version 51.0错误
- IOS开发---OC语言-⑯类的本质
- unity 脚本学习之常量 异常 修饰符 封装
- 安卓android中 The connection to adb is down 解决方法,笔者自己解决的经验
- 内联函数+宏定义+函数调用
- MFC 解决光标闪烁问题