01 2022 档案
摘要:最小步数模型 一、简介 最小步数模型和最短路模型的区别? 最短路模型:某一个点到另一个点的最短距离(坐标与坐标之间) 最小步数模型:不再是点(坐标),而是状态到另一个状态的转变 BFS难点所在(最短路问题): 存储的数据结构:队列 状态如何存储到队列里边(以什么形式)? 状态怎么表示,怎么转移? 3
阅读全文
摘要:多源BFS 一、简介 多源BFS与单源BFS有什么区别呢? 单源BFS:从某一个点开始(起点) 多源BFS:从多个点同时开始走 如何解决多源BFS? 多源BFS:多个起点 ——> 多个起点同时加入队列! 核心:在求解多源BFS问题时,同时将所有起点加入队列即可! 二、练习 1.矩阵距离 【题目链接】
阅读全文
摘要:一、Flood Fill(连通块问题) 0.简介 Flood Fill(洪水覆盖) 可以在线性的时间复杂内,找到某个点所在的连通块! 注:基于宽搜的思想,深搜也可以做但可能会爆栈 flood fill算法DFS与BFS: DFS:无法求解最短路问题;可能会爆栈(递归层数很深时);代码简介。当数据
阅读全文
摘要:一、质数 【相关概念】 因数:一整数被另一整数整除,后者即是前者的因数,如1,2,4都为8的因数 倍数:一个数能够被另一数整除,这个数就是另一数的倍数。如15能够被3或5整除,因此15是3的倍数,也是5的倍数。 质数:一个数除了1和它本身没有其他的因数,就叫质数。如2,3,5,7, 和数:一个数除了
阅读全文
摘要:二分图 二分图简介 定义: 简而言之,就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。——百度百科 辨析示例 区别二分图,关键是看点集是否能分成两个独立的点集。 图1中U和V构造的点集所形成的循环圈不为奇数,所以是二分图。 图
阅读全文
摘要:最短路问题 图论问题:在于抽象,怎么建图! 数据结构中对于稀疏图的定义为:有很少条边或弧(边的条数|E|远小于|V|²)的图称为稀疏图(sparse graph),反之边的条数|E|接近|V|²,称为稠密图(dense graph)。此定义来自百度百科,实际上是一种朴素的理解,简单来说边越多,图就越
阅读全文
摘要:一、树与图的存储方式 树(无环连通图)、图的存储: 有向图:a > b 无向图:a > b,b > a 无向图可以看作是特殊的有向图! 1.邻接矩阵 稠密图一般使用邻接矩阵存储,空间复杂度达到(n * n) 存储方式: g[b][b]存储a > b的信息,如果有权值c则g[b][b] =
阅读全文
摘要:BFS 广度优先搜索:一层一层的搜索(类似于树的层次遍历) BFS基本框架 基本步骤: 初始状态(起点)加到队列里 while(队列不为空) 队头弹出 扩展队头元素(邻接节点入队) 最后队为空,结束 BFS难点所在(最短路问题): 存储的数据结构:队列 状态如何存储到队列里边(以什么形式)? 状态怎
阅读全文