B站左神算法课笔记
文章平均质量分 90
rzjslSe
这个作者很懒,什么都没留下…
展开
-
B站左神算法课学习笔记(P5):详解桶排序以及排序内容大总结
情况,每次都取到最大/最小值,一共展开 n 层递归,需要的空间复杂度为;情况,每次都取到中点值,相当于完全二叉树展开,需要的空间复杂度为注意:用迭代代替递归无法节省空间!因为节省不下来!递归实现了对于中点位置的存储,每层递归结束后才会释放相应资源,因为有了中点位置,快排才能借助递归实现。但是,若使用迭代,也需要手动记录中点位置,并使用栈结构,告诉计算机返回什么位置,以及该位置左右各是什么数。(自己的理解还是不太清楚,见谅)原创 2024-09-01 11:02:56 · 946 阅读 · 0 评论 -
B站左神算法课学习笔记(P4):认识O(NlogN)的排序
归并排序(Merge Sort):先递归使得左右两侧有序,再将两侧结果整合到一起,并重复该过程。归并排序时间复杂度O(NlogN)额外空间复杂度为O(N)。代码实现Step1:递归排序,使得左右两侧分别有序。Step2:合并两侧在 p1 或 p2 越界前,比大小并依次放入;当任一指针越界后,将另一侧剩下的数字放入。对于归并排序使用master公式可得其中 a = 2, b = 2,d = 1,故符合的情况,时间复杂度为,代入数据可知,归并排序的时间复杂度为。原创 2024-08-18 21:10:03 · 952 阅读 · 0 评论 -
B站左神算法课学习笔记(P3):认识复杂度和简单排序
一个操作和样本的数据量没有关系,每次都在固定时间量内完成,称为。eg:+-*/、位运算区分:不是常数操作,eg:链表 int b = list.get( i );一个算法流程中对于常数操作量的指标。常用O表示(读作big O),求解需写出该流程中发生了多少常数操作,eg遍历、比较、交换等,然后总结出常数操作量的表达式。表达式中只包含去除系数的最高项,记为O(f(N))。原创 2024-08-17 10:58:23 · 877 阅读 · 0 评论