首页 > 其他分享 >1.5宽度优先搜索

1.5宽度优先搜索

时间:2024-09-11 14:52:34浏览次数:9  
标签:1.5 优先 遍历 一个点 边权 bfs 入队 宽度

算法理解

从一个点出发,遍历它的所有相邻点,一层一层往下遍历

T1:(30min)

bfs注意起点不一定在左上角,四个方向都要走

T2:(40min)

bfs注意山峰山谷有一个很重要的条件,周围的所有点高度必须大于或小于山峰山谷的高度

T4:(1h)

我打了一个SPFA,因为每一个点需要更新最小值并且可以重复入队(准确来讲T1,T2,他们先遍历到的一定比后遍历到的更优,因为它们所有相邻点点连的边边权都为1),而这道题边权不完全一样,所以先入队的不一定比后入队的更优,我们可以采取优化,使用双端队列(前后都可以进出),将边权是0的加入队首,边权为1的加入队尾,就可以保证被更新过的一定是最优的,所以每一个点最多被加入一次,大大提升了效率

标签:1.5,优先,遍历,一个点,边权,bfs,入队,宽度
From: https://www.cnblogs.com/zcxnb/p/18408228

相关文章

  • Java中的线程优先级与调度:如何有效管理线程的执行顺序
    Java中的线程优先级与调度:如何有效管理线程的执行顺序大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java中,线程的优先级和调度策略对于高效管理线程执行顺序至关重要。通过合理地设置线程优先级和调度策略,可以有效地优化应用的性能和响应时间。本......
  • 高等数学 1.5极限运算法则
    定理1:两个无穷小的和是无穷小。注:有限个无穷小之和也是无穷小定理2:有界函数与无穷小的乘积是无穷小。推论:常数与无穷小的乘积是无穷小推论:有限个无穷小的乘积是无穷小。定理3:如果\(\limf(x)=A,\lim\mathrm{g}(x)=B\),那么(1)\(\lim[f(x)\pm\mathrm{g}(x)]=\limf......
  • 【Python】排序算法及二叉树讲解(冒泡 选择 插入 二分查找 二叉树的广度优先和三种深
    排序算法​所谓排序,使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作​排序算法,就是如何使得记录按照要求排列的方法​排序算法在很多领域是非常重要​在大量数据的处理方面:一个优秀的算法可以节省大量的资源。​在各个领域中考虑到数据的......
  • 【vue+el-table】表格操作列宽度跟随按钮个数自适应, 方法封装全局使用
    效果图以上图片分别代表不同用户权限下所能看到的按钮个数,操作列宽度也会自适应宽度,就不会一直处于最大宽度,导致其他权限用户看到的页面出现大量留白问题.目录解决方法解决过程中可能出现的问题width赋值时为什么不放update()中btnDom为什么不能直接调用for......
  • 【更新日志】AI运动识别插件又双叕发布更新了,v1.5.4版已正式发布。
    Ai运动识别插件可以为您的小程序赋于原生的人体检测、运动识别、姿态识别、运动计时计数AI能力,让您的小程序轻松实现AI健身、线上运动会、学生体测等场景,并拥有大量的用户案例,针对近期开发者的反馈,我们修复了相关问题,并对部分功能进行了优化增强,发布了v1.5.4版。本次版本的详细......
  • 前端css样式优先级问题
    一、常用选择器1.标签选择器(标签名{}),选中对应标签里的内容,例(div{})2.类选择器(.类名{}),选中对应类名的内容,例(.one{})   注:不可以数字开头,一个标签中可有多个类名3.id选择器(#id{}),选中对应id的内容,例(#one{})   注:不可以数字开头,一个标签里只能有一个id属性4.通配符选择器(*{}),......
  • 【408DS算法题】038进阶-图深度优先遍历DFS
    Index题目分析实现总结题目设计函数实现对图的深度优先遍历。分析实现类似于图的BFS的分析思路,图的DFS和二叉树的DFS思路相同,但需要额外考虑结点是否已经被访问过。此处同样用布尔数组visited来记录每个结点的访问情况,对于邻接矩阵存储方式的图的DFS,依照先序遍......
  • 【算法笔记】单源最短路问题——Dijkstra算法(无优化/优先队列/set优化)
    0.前言Dijkstra算法可在\(\mathcalO(m\logm)\)或\(\mathcalO(m\logn)\)的时间内求解无负权单源最短路问题。本文中,我们将详细介绍算法的原理、实现,以及常用的两种优化。另外,Dijkstra算法也不要乱用,比如说多源的最短路,用Dijkstra求解的复杂度只有\(\mathcalO(nm\logm)\),但......
  • 秒懂:进程优先级
    1.概念    简单来说,进程优先级是对于资源访问顺序来说的,谁先访问资源,谁的优先级就高。   注意:这和权限概念不一样,权限是能不能访问。2.情景引入进程的运行,是在CPU上执行,每次执行只能执行CPU的一个时间片,会有多个进程在run_Queue运行队列上等待CPU。 不同的......
  • 算法入门-深度优先搜索2
    第六部分:深度优先搜索104.二叉树的最大深度(简单)题目:给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。示例1:输入:root=[3,9,20,null,null,15,7]输出:3示例2:输入:root=[1,null,2]输出:2第一种思路:感觉递......