![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
usualheart
这个作者很懒,什么都没留下…
展开
-
深度优先搜索两种实现方法java模板 递归和栈以及使用栈的潜在问题
有两种实现 DFS 的方法。 dfs递归模版 第一种方法是进行递归: boolean DFS(Node cur, Node target, Set<Node> visited) { return true if cur is target; for (next : each neighbor of cur) { if (next is not in visited) { add next to visted; ret原创 2020-08-19 16:05:36 · 782 阅读 · 0 评论 -
算法题中将二维数据合并为一维 来解决二维数据无法放入集合的问题 附将2个int合并为1个long的java代码
二维数据无法直接放进集合,通过集合在短时间内判断是否存在。 可以将二维数据合并为一维,然后对这个一维数据进行处理 比如可以将两个int数据合并为一个long数据 比如对于多个坐标(x,y),无法直接加入集合,而将坐标转化为long之后就可以放入集合,并借助集合的特性在O(1)时间内判断某坐标是否存在。 相关题目 874. 模拟行走机器人 https://leetcode-cn.com/problems/walking-robot-simulation/ 这道题通过合并坐标为long来快速判断坐标是否碰到障原创 2020-08-10 20:16:50 · 223 阅读 · 0 评论 -
图类算法题使用邻接矩阵还是邻接链表——邻接矩阵和邻接链表的优缺点以及初始化代码
邻接矩阵的优缺点 优点 判断是否邻接效率高 缺点 在稀疏的情况耗费空间 构造的过程耗费时间,为O(N^2) 在查找某节点的邻接对象时耗费时间,为O(N^2),且需要一个一个地判断 邻接链表的优缺点 优点 在查找某节点的邻接对象时比较快,为O(|E|) 构造过程比较快,为O(|E|) 占用的空间相对较小 缺点 判断两个节点是否邻接比较耗费时间,为O(|E|) 实际题目情况 1042. 不邻接植花 https://leetcode-cn.com/problems/flower-planting-原创 2020-08-04 19:55:18 · 1221 阅读 · 0 评论