算法类型
每月看本技术书
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法类型描述以及举例08_树的DFS(深搜Depth First Search)
树形DFS基于深搜(Depth First Search (DFS))技术来实现树的遍历。不同于BFS层级遍历,DFS优点遍历到最底层子节点。原创 2023-04-20 17:39:12 · 193 阅读 · 1 评论 -
算法类型描述以及举例13_k路合归并(K-way merge)
K路归并能帮咱们解决那些涉及到多组排好序的数组的问题。每当你的输入是K个排好序的数组,你就可以用堆来高效顺序遍历其中所有数组的所有元素。你可以将每个数组中最小的一个元素加入到最小堆中,从而得到全局最小值。当我们拿到这个全局最小值之后,再从该元素所在的数组里取出其后面紧挨着的元素,加入堆。如此往复直到处理完所有的元素。原创 2023-04-20 17:24:21 · 368 阅读 · 0 评论 -
算法类型描述以及举例12_前k个系列(Top ‘K’ Elements)
任何让我们求解最大/最小/最频繁的K个元素的题,都遵循这种模式。用来记录这种前K类型的最佳数据结构就是堆了(译者注:在Java中,改了个名,叫优先队列(PriorityQueue))。这种模式借助堆来解决很多这种前K个数值的问题。原创 2023-04-20 17:23:26 · 141 阅读 · 0 评论 -
算法类型描述以及举例11_改造过的二分(Modified Binary Search)
对于一组满足上升排列的数集(排好序的数组,链表,或是排好序的矩阵)来说,通过不断的二分区域来实现对数集中数据查找的一种方法。原创 2023-04-20 17:15:24 · 160 阅读 · 0 评论 -
算法类型描述以及举例17_回溯算法(Back_Traceing)
回溯算法的解题思路原创 2022-10-31 08:52:04 · 149 阅读 · 1 评论 -
算法类型描述以及举例02_双指针(two points)
双指针类型题目的解题思路原创 2022-10-31 08:47:24 · 236 阅读 · 0 评论 -
算法类型描述以及举例07_树的BFS(宽搜Tree Breadth First Search)
算法类型描述以及举例07_树的BFS(宽搜Tree Breadth First Search)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简单描述遍历树的一种方式,也成层序遍历。借助于队列数据结构,从而能保证树的节点按照他们的层数打印出来。打印完当前层所有元素,才能执行到下一层。所有这种需要遍历树且需要一层一层遍历的问题,都能用这种模式高效解决。这种树上的BFS模式是通过把根节点加到队列中,然后不断遍历直到队列为空。每一次循环中,我们都会把队头结点拿出原创 2020-06-16 01:12:37 · 210 阅读 · 0 评论 -
算法类型描述以及举例06_反转链表( In-place Reversal of a LinkedList)
算法类型描述以及举例06_反转链表( In-place Reversal of a LinkedList)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简答描述一种能够改变链表顺序并能重复使用遍历到的节点的算法。将每次遍历完原来链表的结果,的下一个指针位置指向一个结果链表。2、优势重复使用原链表中已有的节点,降低空间复杂度3、使用场景如果你被问到需要去翻转链表,要求不能使用额外空间的时候4、例子/** * Definition fo原创 2020-06-15 21:27:18 · 199 阅读 · 0 评论 -
算法类型描述以及举例03_快慢指针(Slow pointers)
算法类型描述以及举例03_快慢指针(Slow pointers)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简单描述通过控制指针的速度不同,去证明某种结论。这种模式,有一个非常出门的名字,叫龟兔赛跑。咱们肯定都知道龟兔赛跑啦。但还是再解释一下快慢指针:这种算法的两个指针的在数组上(或是链表上,序列上)的移动速度不一样。还别说,这种方法在解决有环的链表和数组时特别有用。通过控制指针不同的移动速度(比如在环形链表上),这种算法证明了他们肯定会相遇的。快的原创 2020-06-15 12:29:28 · 199 阅读 · 0 评论 -
算法类型描述以及举例04_区间合并(Merge Intervals)
算法类型描述以及举例04_区间合并(Merge Intervals)原帖链接:https://zhuanlan.zhihu.com/p/104983442参考链接:https://leetcode-cn.com/problems/merge-intervals/solution/chi-jing-ran-yi-yan-miao-dong-by-sweetiee/1、简单描述区间合并模式是一个用来处理有区间重叠的很高效的技术2、优势处理区间重叠的问题比较简答,易于理解3、使用场景当你需要产生原创 2020-06-15 02:09:31 · 288 阅读 · 0 评论 -
算法类型描述以及举例01_滑动窗口(Sliding window)
算法类型描述以及举例01_滑动窗口(Sliding window)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简单描述滑动窗口类型的题目经常是用来执行数组或是链表上某个区间(窗口)上的操作。比如找最长的全为1的子数组长度。滑动窗口一般从第一个元素开始,一直往右边一个一个元素挪动。窗口大小可能固定也可能变化。2、优势相对比暴力穷举,滑动窗口可以灵活控制指针,达到过滤掉一部分无用遍历的目的,提高时间复杂度。3、使用场景这个问题的输入是一些线性结构:原创 2020-06-14 23:33:57 · 333 阅读 · 0 评论
分享