算法
文章平均质量分 52
算法讲解
卷起来卷起来
这个作者很懒,什么都没留下…
展开
-
C++在OJ平台输入输出(ACM)汇总
1: 2: 3. 4. 5. 6. 7. 8. 9. 10.原创 2021-10-09 14:21:27 · 212 阅读 · 0 评论 -
面试常考排序算法超详细总结
算法基本知识铺垫 有些人可能不知道什么是稳定排序、原地排序、时间复杂度、空间复杂度,我这里先简单解释一下: 1、稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 仍然在 b 的前面,则为稳定排序。 2、非稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 可能不在 b 的前面,则为非稳定排序。 3、原地排序:原地排序就是指在排序过程中不申请多余的存储空间,只利用原来存储待排数据的存储 空间进行比较和交换的数据排序。 4、非原地排序:需要利用额外的数组来辅助排序。 5原创 2021-06-26 14:21:00 · 817 阅读 · 0 评论 -
十大排序算法总结
1.排序算法基础知识 1.1排序算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 1.2 算法复杂度 1.3 知识点 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后转载 2021-04-02 22:25:27 · 78 阅读 · 0 评论 -
topK问题
topK问题常见形式: 找第K大(第K小)的数 找出最大(最小)的前K个数 求前K词频的单词 解决Top K问题方法: sort排序 最大堆最小堆 快速排序 使用最大最小堆:求最大的数用最小堆,求最小的数用最大堆; Quick Select算法:使用类似快排的思路,根据pivot划分数组 使用排序方法:排序后再寻找top K元素 举例: 最小的k个数: 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例:原创 2021-06-26 10:26:53 · 70 阅读 · 0 评论