题目传送门 首先说明我这个代码和lyd的有点不同:可能更加复杂 既然要求以箱子步数为第一关键字,人的步数为第二关键字,那么我们可以想先找到箱子的最短路径。但单单找到箱子的最短路肯定不行啊,因为有时候不能被推动,怎样确定一条既满足最短又满足可行的箱子路径呢,其实这就是一种有限制的BFS。 对于箱子: ...
分类:
其他好文 时间:
2019-03-12 18:01:31
阅读次数:
243
一、代码实现 思路:使用先进先出的队列,广度优先搜索,使用字典可大幅减少遍历时间 问题:https://leetcode-cn.com/problems/open-the-lock/submissions/ GitHub实现:https://github.com/JonathanZxxxx/Leet ...
最小生成树(MST) 定义 首先是一棵树(废话 其次没有回路(废话 包含全部顶点和V-1条边 边的权重和最小!!!!! 所以如果是单棵最小生成树,至少说明图是连通的。不然就是森林。 生成思路 既然是根据图生成树,那么至少要有遍历图。那么,便要从一个源点出发,来一场愉快的深搜或广搜。 深搜生成就叫DF ...
分类:
编程语言 时间:
2019-03-05 21:23:59
阅读次数:
223
广度优先搜索 1.算法的基本思路 算法设计的基本步骤为: 1)确定图的存储方式; 2)图的遍历过程中的操作,其中包括为输出问题解而进行的存储操作; 3)输出问题的结论。 2.算法框架 从广度优先搜索定义可以看出活结点的扩展是按先来先处理的原则进行的,所以在算法中要用“队”来存储每个E-结点扩展出的活 ...
分类:
编程语言 时间:
2019-02-15 17:34:37
阅读次数:
241
深度&&广度优先算法1.爬虫系列深度&广度优先搜索介绍1.DFS(Depth-First-Search)深度优先搜索,是计算机术语,是一种在开发爬虫早期使用较多的方法,是搜索算法的一种。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到这个HTML文件,再继续选择该HTML文件中的其他
分类:
编程语言 时间:
2019-02-11 15:21:16
阅读次数:
200
算法描述: Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to end ...
分类:
其他好文 时间:
2019-02-05 19:43:01
阅读次数:
185
嗯... BFS是图的搜索算法之一,与深度优先搜索不同的是:广度优先搜索会先搜索到与起始点距离较近的点,而深搜却是沿着一个分支递归到最后.... 与深搜的对比: 深搜用栈(stack)来实现: 1.把起始顶点压入栈中 2.每次从栈顶取出一个顶点,搜索所有它的未访问相邻顶点,把这些顶点压入栈中 3.重 ...
分类:
其他好文 时间:
2019-01-31 23:00:24
阅读次数:
210
一、基础篇JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 ...
分类:
编程语言 时间:
2019-01-08 10:48:52
阅读次数:
254
简介 BFS的过程是首先访问起始结点v,接着访问顶点v的所有未被访问的邻接结点,然后对每个继续进行上述步骤,直到所有结点都被访问过为止,当然,在访问过程中,需要使用一个队列,然后类似二叉树的层次遍历来访问。 BFS通俗的来讲,就如通病毒扩散一般蔓延。往往采用BFS求解迷宫问题的入口到出口的最短路径。 ...
分类:
其他好文 时间:
2019-01-01 23:51:41
阅读次数:
227
https://blog.csdn.net/weixin_40953222/article/details/80544928 广度优先搜索(Breadth First Search) BFS可用于解决2类问题: 从A出发是否存在到达B的路径; 从A出发到达B的最短路径(这个应该叫最少步骤合理); 算 ...
分类:
其他好文 时间:
2018-12-19 13:21:03
阅读次数:
212