数据结构与算法
文章平均质量分 80
小望没烦恼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
有向图-拓扑排序
拓扑排序leetcode上的题目:课程表参考题解:https://leetcode-cn.com/problems/course-schedule/solution/course-schedule-tuo-bu-pai-xu-bfsdfsliang-chong-fa/解题思路:本题可约化为: 课程安排图是否是 有向无环图(DAG)。即课程间规定了前置条件,但不能构成任何环路,否则课程前置条件将不成立。思路是通过 拓扑排序 判断此课程安排图是否是 有向无环图(DAG) 。 拓扑排序原理: 对 DA原创 2022-04-11 19:48:40 · 851 阅读 · 0 评论 -
前缀和应用
文章目录一维前缀和二维前缀和定义:前缀和指一个数组的某下标之前的所有数组元素的和(包含其自身)。前缀和分为一维前缀和,以及二维前缀和。前缀和是一种重要的预处理,能够降低算法的时间复杂度。一维前缀和一维前缀和的公式:sum[i] = sum[i-1] + arr[i] ; sum是前缀和数组, arr是内容数组。拥有前缀和数组后, 我们可以在O(1)的时间复杂度内求出区间和。[i, j]的区间和公式: interval [i, j] = sum[j] - sum[i - 1]leetcode:和为K原创 2022-03-31 21:41:04 · 588 阅读 · 0 评论 -
差分数组-生存人数
文章目录使用场景差分数组原理总结刷leetcode碰到生存人数一题,有使用差分数组进行求解的,看到很多题解都是直接贴代码,没有差分数组原理的讲解,看的云里雾里的,遂查了一下差分数组的原理和使用场景,茅塞顿开!!题目:生存人数代码:public int maxAliveYear(int[] birth, int[] death) { int[] dp = new int[102]; for (int i = 0; i < birth.length; ++i) {原创 2022-03-15 11:52:32 · 1782 阅读 · 0 评论 -
八大排序复杂度和稳定性
文章目录选择排序冒泡排序直接插入排序快速排序希尔排序归并排序堆排序基数排序总结选择排序印象最深的排序,第一个排序算法就是你!!就是把元素分成两部分,一部分是有序的,另外一部分是无序的;每次循环从无序的元素中选取一个元素放到有序的元素中,依次循环到最后把所有元素都放到了有序那一部分中(也就是无序部分,元素为零)。具体步骤:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。代码原创 2021-06-21 11:59:17 · 736 阅读 · 3 评论
分享