IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 数据结构补强——图 -> 正文阅读

[数据结构与算法]数据结构补强——图

图基础

图的定义

图G顶点集V边集E组成,记为G = (V,E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V = {v1,v2,…,vn},则用|V|表示图G中顶点的个数,也称为图G的阶,E = {{u,v} | u∈V,v∈V},用|E|表示图G中边的条数
注意:线性表可以是空表,树可以是空树,但图不可以是空,即V一定是非空集
在这里插入图片描述

无向图、有向图

若E是无向边(简称)的有限集合时,则图G为无向图。边是顶点的无序对,记为(v,w)或(w,v),因为(v,w)=(w,v),其中v、w是顶点。可以说顶点w和顶点v互为邻接点,边(v,w)依附于顶点w和v,或者说边(v,w)和顶点v、w相关联

若E是有向边(也称)的有限集合时,则图G为有向图。弧是顶点的有序对,记为<v,w>,其中v、w是顶点,v称为弧尾,w称为弧头。<v,w>称为从顶点v到顶点w的弧,也称v邻接到w,或w邻接自v。<v,w> != <w,v>

简单图、多重图

在这里插入图片描述

顶点的度、入度、出度

在这里插入图片描述

顶点-顶点的关系描述

在这里插入图片描述

连通图、强连通图

在这里插入图片描述
连通图最少有n-1条边是因为n个节点两两相连
非连通图最多有的情况是当其他n-1个节点两两相连,而最后一个节点一个都不连

子图

在这里插入图片描述
生成子图是拥有原图所有点的子图

连通分量

用于描述无向图
在这里插入图片描述

强连通分量

用于描述有向图
在这里插入图片描述

生成树

n个顶点有n-1条边,再多就会形成回路
在这里插入图片描述

生成森林

在这里插入图片描述

边的权、带权图/网

在这里插入图片描述

几种特殊形态的图

在这里插入图片描述

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

图的存储结构

  • 邻接矩阵:数组实现的顺序存储,空间复杂度高O(n2),不适合存储稀疏图
  • 邻接表:找有向图的入度不方便,删除顶点、删除边的时间复杂度高
  • 十字链表:存储有向图
  • 邻接多重表:存储无向图

邻接矩阵法

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

如何求顶点的度、入度、出度

在这里插入图片描述
带权图:
在这里插入图片描述

性能分析

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

邻接矩阵的性质

行*列
在这里插入图片描述

邻接表

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

十字链表法

只能用于有向图
在这里插入图片描述

性能分析

在这里插入图片描述

邻接多重表

只用于存储无向图
在这里插入图片描述

总结

在这里插入图片描述

图的操作

在这里插入图片描述

判断图中是否有某条边

无向图:
在这里插入图片描述
有向图:
在这里插入图片描述

列出图中与结点邻接的所有边

无向图:
在这里插入图片描述
有向图:
在这里插入图片描述

在图中插入顶点

在这里插入图片描述

在图中删除顶点

无向图:
在这里插入图片描述
有向图:
在这里插入图片描述

向图中添加一条边

在这里插入图片描述

求图中顶点x的第一个邻接点

无向图:
在这里插入图片描述
有向图:
在这里插入图片描述

假设图中顶点x的一个邻接点y,返回除y之外顶点x 的下一个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1

无向图:
在这里插入图片描述

获取并设置图中边的权值

在这里插入图片描述

图的遍历

  • 广度优先遍历
  • 深度优先遍历

广度优先遍历

在这里插入图片描述

代码实现

在这里插入图片描述

遍历序列的可变性

在这里插入图片描述

算法改进

因为如果是非连通图,则无法遍历完所有结点
在这里插入图片描述

复杂度分析

在这里插入图片描述

广度优先生成树

在这里插入图片描述

广度优先生成森林

在这里插入图片描述

练习

在这里插入图片描述

深度优先遍历

在这里插入图片描述

算法改进

在这里插入图片描述

复杂度分析

空间复杂度:
在这里插入图片描述
时间复杂度:
在这里插入图片描述

深度优先生成树

在这里插入图片描述

深度优先生成森林

在这里插入图片描述

图的遍历和图的连通性

无向图:
在这里插入图片描述
有向图:
在这里插入图片描述

总结

在这里插入图片描述

图的最小生成树(MST)

概念

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

Prim算法(普里姆)

在这里插入图片描述

Kruskal算法(克鲁斯卡尔)

在这里插入图片描述

两种算法对比

在这里插入图片描述

Prim算法的实现思想

在这里插入图片描述

Kruskal算法的实现思想

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

图的最短路径问题

在这里插入图片描述

BFS求无权图的单源最短路径

BFS实际上的结果就是单源最短路径
缺点:只能用于不带权的图

代码实现

在这里插入图片描述

在这里插入图片描述

Dijkstra(迪杰斯特拉)算法

在这里插入图片描述

步骤

  • 初始:
    在这里插入图片描述
  • 第一轮:
    在这里插入图片描述
  • 第二轮:
    在这里插入图片描述
  • 第三轮:
    在这里插入图片描述
  • 第四轮:
    在这里插入图片描述

如何使用数组信息

在这里插入图片描述

时间复杂度

在这里插入图片描述

对比Prim算法的实现思想

在这里插入图片描述

用于负权值带权图

在这里插入图片描述

Floyd算法

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

步骤

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

在这里插入图片描述

在这里插入图片描述

练习

在这里插入图片描述

不能解决的问题

在这里插入图片描述

总结

在这里插入图片描述

有向无环图描述表达式

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

拓扑排序

AOV网

在这里插入图片描述

概念

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

代码实现

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

逆拓扑排序

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

关键路径

AOE网

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

概念

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

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

求所有事件的最早发生时间

在这里插入图片描述

求所有事件的最迟发生时间

在这里插入图片描述

求所有活动的最早发生时间

在这里插入图片描述

求所有活动的最迟发生时间

在这里插入图片描述

求所有活动的时间余量

在这里插入图片描述

求得关键活动、关键路径

在这里插入图片描述

关键活动、关键路径的特性

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

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:48:16  更:2022-03-08 22:49:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:39:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码