算法基础
文章平均质量分 54
Bluerain.
喜欢的话就坚持吧
展开
-
单调栈&单调队列
单调栈与单调队列单调栈思想例子代码单调队列思想例子代码 单调栈 思想 在双重循环的压力下去寻找有无特殊特性,数据进行处理后会不会出现单调性;就是找min/max这种有没有一些数是从始至终都没用过的。 (先明白针对这题而言,比的a[tt]就已经跳跃了中间大的数) a[i+1]>a[tt]会继续入栈(此时直接输出a[i]就是结果) a[i+1]<a[tt]会倒退去找一个更小的,插它后面,就是继续入栈 为什么是a[tt]不是a[i]因为便于下次直接输出栈顶,这就是比暴力降低了时间复杂度的核心。 最后保原创 2021-08-16 15:53:59 · 74 阅读 · 0 评论 -
归并排序*
归并排序基本思想及步骤代码模板细节问题 基本思想及步骤 代码模板 细节问题原创 2021-08-01 18:00:28 · 163 阅读 · 0 评论 -
快速排序*
快速排序快排思想及基础步骤代码模板细节问题(边界致命) 快排思想及基础步骤 任意定枢轴版 基本思想: 采用无重复循环(每个地方在一次循环中指针只经过一次)每经过一次循环,枢轴左边的数都比它小,右边的数都比它大, 即差不多可以理解为走一遭就定好了枢轴的位置。然后递归,左边递归左边的,右边递归右边的,典型分治问题(大问题分割慢慢变成子问题的过程)最后递归出口就是两指针出发位置一样了,也就是越分越小分到只有自己一个数了,就结束了。 !!!一个轮回结束是以当前选定的枢轴归位为标志的 需要的东西: 定枢轴 前原创 2021-07-26 21:24:02 · 145 阅读 · 0 评论