随笔分类 -  搜索与图论

摘要:最小步数模型 一、简介 最小步数模型和最短路模型的区别? 最短路模型:某一个点到另一个点的最短距离(坐标与坐标之间) 最小步数模型:不再是点(坐标),而是状态到另一个状态的转变 BFS难点所在(最短路问题): 存储的数据结构:队列 状态如何存储到队列里边(以什么形式)? 状态怎么表示,怎么转移? 3 阅读全文
posted @ 2022-01-21 18:37 时间最考验人 阅读(630) 评论(0) 推荐(0) 编辑
摘要:多源BFS 一、简介 多源BFS与单源BFS有什么区别呢? 单源BFS:从某一个点开始(起点) 多源BFS:从多个点同时开始走 如何解决多源BFS? 多源BFS:多个起点 ——> 多个起点同时加入队列! 核心:在求解多源BFS问题时,同时将所有起点加入队列即可! 二、练习 1.矩阵距离 【题目链接】 阅读全文
posted @ 2022-01-21 12:56 时间最考验人 阅读(597) 评论(4) 推荐(1) 编辑
摘要:一、Flood Fill(连通块问题) 0.简介 Flood Fill(洪水覆盖) 可以在线性的时间复杂内,找到某个点所在的连通块! 注:基于宽搜的思想,深搜也可以做但可能会爆栈 flood fill算法DFS与BFS: ​ DFS:无法求解最短路问题;可能会爆栈(递归层数很深时);代码简介。当数据 阅读全文
posted @ 2022-01-20 15:14 时间最考验人 阅读(2443) 评论(1) 推荐(5) 编辑
摘要:最短路问题 图论问题:在于抽象,怎么建图! 数据结构中对于稀疏图的定义为:有很少条边或弧(边的条数|E|远小于|V|²)的图称为稀疏图(sparse graph),反之边的条数|E|接近|V|²,称为稠密图(dense graph)。此定义来自百度百科,实际上是一种朴素的理解,简单来说边越多,图就越 阅读全文
posted @ 2022-01-14 11:45 时间最考验人 阅读(646) 评论(0) 推荐(1) 编辑
摘要:一、树与图的存储方式 树(无环连通图)、图的存储: ​ 有向图:a > b ​ 无向图:a > b,b > a 无向图可以看作是特殊的有向图! 1.邻接矩阵 稠密图一般使用邻接矩阵存储,空间复杂度达到(n * n) 存储方式: ​ g[b][b]存储a > b的信息,如果有权值c则g[b][b] = 阅读全文
posted @ 2022-01-07 10:42 时间最考验人 阅读(850) 评论(1) 推荐(2) 编辑
摘要:BFS 广度优先搜索:一层一层的搜索(类似于树的层次遍历) BFS基本框架 基本步骤: 初始状态(起点)加到队列里 while(队列不为空) 队头弹出 扩展队头元素(邻接节点入队) 最后队为空,结束 BFS难点所在(最短路问题): 存储的数据结构:队列 状态如何存储到队列里边(以什么形式)? 状态怎 阅读全文
posted @ 2022-01-06 20:21 时间最考验人 阅读(370) 评论(2) 推荐(3) 编辑
摘要:求最小生成树 最小生成树: 设G=(V,E)是一个无向连通网,生成树上各边的权值之和称为该生成树的代价,在G的所有生成树中,代价最小的生成树称为最小生成树。 生成树: 一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边。只要能连通所有顶点而又不 阅读全文
posted @ 2021-12-30 21:07 时间最考验人 阅读(384) 评论(2) 推荐(2) 编辑

点击右上角即可分享
微信分享提示