数据结构-图

图的定义

图的逻辑结构:多对多
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

图的类型定义

抽象数据类型定义

在这里插入图片描述

图的存储结构

图没有顺序存储结构,但可以用数组表示法(邻接矩阵)

表示法:有几个顶点,则生成一个n*n的矩阵,1为有边,为0为无边

无向图邻接矩阵
在这里插入图片描述有向图邻接矩阵
①其矩阵可能是不对称的
②顶点的出度=第i行元素之和
顶点的入度=第i列元素之和
顶点的度=第i行元素之和+第i列元素之和
在这里插入图片描述网(有权图)的邻接矩阵
在这里插入图片描述

邻接矩阵的建立

在这里插入图片描述案列:创建无向网
在这里插入图片描述利用到前面的存储结构定义
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

邻接矩阵的优缺点

优点:1,简单,直观.
		  2,方便检查顶点间是否存在边
		  3,方便找任一顶点的所有**邻接点**
		  4,方便计算任一顶点的“度”(出度(从该点发出的边数),入度(指向该点的边数))
		  5,无向图:对应行或列非0元素的个数
		  6,有向图:对应行非0元素的个数是”出度“,对应列非0元素的个数是”入度“
	缺点:1,不利于增加和删除
		 2,浪费空间,大量无效元素
		 3,浪费时间-统计稀疏图有多少边

链式存储结构: 多重链表 :邻接表,邻接多重表,十字链表
在这里插入图片描述

无向图的邻接表

在这里插入图片描述

有向图-都是出度边

在这里插入图片描述案列
在这里插入图片描述

邻接表的优缺点

优点:1,方便找任一顶点的所有”邻接点“
	 2,节约稀疏图的空间,

在这里插入图片描述缺点:不方便检查任意顶点间是否存在边

邻接矩阵与邻接表的关系

在这里插入图片描述区别:
在这里插入图片描述

图的遍历

在这里插入图片描述遍历实质:找每个顶点的邻接点的过程

在这里插入图片描述

深度优先搜索(DFS)

在这里插入图片描述案列
在这里插入图片描述

邻接矩阵的深度遍历实现

在这里插入图片描述在这里插入图片描述在这里插入图片描述非连通图的遍历
在这里插入图片描述

广度优先搜索(BFS)

在这里插入图片描述在这里插入图片描述不连通图
在这里插入图片描述邻接表的广度优先遍历
使用队列
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

比较
在这里插入图片描述

图的应用

生成树的定义

在这里插入图片描述无向图的生成树

深度和广度生成树
留着蓝色的边,取得无色的边
在这里插入图片描述

1,最小生成树(最小代价生成树)

在这里插入图片描述最小生成树的MST性质
在这里插入图片描述在这里插入图片描述其最小权值的边v1-v3,则一定会包括在最小生成树
在这里插入图片描述构造最小生成树的算法-prim算法
蓝色边的路线

拓扑排序

定义:
在这里插入图片描述

用于有向无环图:无环的有向图。简称DAG图
AOV网**在这里插入图片描述特点:
在这里插入图片描述
案列在这里插入图片描述在这里插入图片描述

AOE网
在这里插入图片描述检测是否存在环
在这里插入图片描述

图的关键路径

定义:
在这里插入图片描述

关键路径-路径长度最长的路径
路径长度:路径上的各活动持续时间之和

求解关键路径

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值