
复杂度分析
Acnext
这个作者很懒,什么都没留下…
展开
-
搜索方式的优缺比较
首先先来说明常见的搜索方式:(本人目前遇到的 以后遇到新的搜索方法继续更新)1.dfs(深度优先搜索)。2.bfs(广度优先搜索)3.迭代加深搜索(IDA*)一.dfs搜索方式是按照人为设定方向进行搜索不撞南墙不回头 所以适合做找解是否存在的问题 找最优解一般不会用其优点是空间开销少(因为状态的记录利用回溯是可以用一块内存空间来实现的)二,bfs搜索方式是由当前节点 同时向原创 2017-08-18 20:41:27 · 1877 阅读 · 0 评论 -
bfs时间复杂度及优化方向
个人对bfs的时间复杂度以前总是不太会分析 总以为时间复杂度就是 O(总的状态数) 对于一些简单的问题(状态数很少的问题)这么近似的确可以 但是随着题目做的多了有时候 对于状态数 为1e7 1e8 的题目 觉得能1s过 却发现会‘迷之’tle 其实tle是理所应当的 下面说一下对于bfs 时间复杂度的新认识 :bfs 的复杂度 大体由两点决定 1.状态数2.转移代价(由一种状态到另一种状原创 2017-08-14 22:42:45 · 6870 阅读 · 0 评论 -
cf 442 div2 D bfs最短路
题意:本题就是说 给你一个n m的矩阵 n,m思路:不难想到是一个裸的bfs题目,但我最终tle了 orz 我自己的优化是这样的 对于当前位置 x,y 如果现在他前进的方向 之前走过 我们记录一个跳转的值 表示从这一位置能跳过的长度 这样能够减少不必要的判断(写丑了) 本题还有一些重要剪枝 :1 我们在拓展位置的时候 如果拓展到答案直接退出 而不是等到从queue 中front 出答案才原创 2017-10-24 14:00:55 · 308 阅读 · 0 评论