- 博客(1)
- 收藏
- 关注
原创 堆排序的应用-TOPK问题
我们知道堆有大根堆和小根堆两种,那么在解决找堆中K个最大值的问题时应该用大根堆还是小根堆呢?答案是找K个最大的,要建立K大小的小堆。思路如下: 比如下面这个数组,要去取出其中最大的四个值,需要先将数组的前四个做成一个小根堆, 然后将后面的值与堆顶值比较,若大于堆顶值则弹出堆顶,将新的值加入堆 重复这个步骤,堆中的值会整体增大,数组遍历完后,则堆中的元素为四个最大值。 有了思路,来看下面这个问题:给定两个整形数组num1和num2,定义一对值 (u,v),其中第一个元素来自 num1,第二个元素来自 num
2020-11-10 22:57:16 307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人