笔记
偶尔也有风
这个作者很懒,什么都没留下…
展开
-
堆 ---- TopK 问题
首先,什么是 TopK 问题? 就是给定一个集合(元素个数为N),找到前 K 个最大和最小的元素 解决方法 · 方法一:针对整个集合,建立一个大小为 N 的大堆,循环取 K 次堆顶元素; · 方法二:建立一个大小为 K 的小堆,令堆顶元素为守门员,循环遍历 N 个元素中的每个元素,当元素大于堆顶元素时,将守门员替换成此元素,并进行向下调整,得到新的守门员,当所有元素遍历完后,堆中剩下的就是前 K ...原创 2020-05-01 18:59:08 · 135 阅读 · 0 评论 -
直接插入排序
分析:插入排序是基于线性表插入排序的方式而演化来的。以升序为例,通过循环遍历数组元素,对于要进行排序的下标为 bound的 元素,在有序区间 [ 0, bound ) 中从后往前遍历元素的时候, 以 bound 为下标的元素与有序区间中元素进行大小比较,如果小于,就将区间中的这个元素往后移一位,再比较区间下一元素,直到大于某个元素,就将以 bound 为下标的元素,放在该元素后边,插入结束,进行下...原创 2020-05-02 22:04:14 · 191 阅读 · 0 评论