摘要: [算法]深度优先搜索(DFS) 前言&吐槽 我看网上都说深度优先搜索是一种遍历树和图的算法,但是我还没学数和图啊!老师就讲了。 不过这种算法也确实挺好用的,下面我们就来介绍一下。 介绍 DFS形象点来说就是“不撞南墙不回头”,必须要一条路走到黑,之后再考虑其他路。 因此DFS最重要的部分就是回溯了。 而关于此算法的步骤,网上总结得 阅读全文
posted @ 2022-03-19 15:14 帝皇の惊 阅读(110) 评论(0) 推荐(0)
摘要: 奇怪的电梯(洛谷P1135) 前言&吐槽 同样可以拿dfs,这道题怎么就难那么多呢? 题目描述 奇怪的电梯 算法设计 dfs的基本框架就是遍历一个结点的每一条路,所以我们的算法大概可以设计成这样 void dfsInEveryFloor() { if (当前楼层 == 目标楼层) { 做一些操作... retrun; } if 阅读全文
posted @ 2022-03-19 15:12 帝皇の惊 阅读(402) 评论(0) 推荐(0)
摘要: 跳马问题(洛谷P1644) 前言&吐槽 这道题用DFS很好做,唯一需要注意的是你正在下中国象棋,所以马是不能够向上向下走的,只能斜着走。 题目描述 跳马问题 算法设计 使用DFS搜下去就行了 void DFS(){ if(满足条件): ... return; if(选择一种分支): DFS() if(另一种): DFS() } 阅读全文
posted @ 2022-03-19 14:40 帝皇の惊 阅读(163) 评论(0) 推荐(0)