摘要: 本题是 找最大top k 的类似问题,而求解最大top k的解法很经典。 将前k个元素建立一个大小为k的小顶部堆,直接建堆时间 O(k)。如果顺序加入到堆中则需要 k*O(logk)。 对于剩下的 n-k 个元素,如果元素小于堆顶元素,不用管;如果大于,替换掉堆顶元素,并重新维护最小堆的性质。代码实 阅读全文
posted @ 2018-07-17 19:17 約束の空 阅读(150) 评论(0) 推荐(0)
摘要: C++中优先队列priority_queue实现的是heap的功能,默认是大顶堆。 如果需要自定义排序,需要注意,优先队列中小于和大于都是和正常思考相反的。 阅读全文
posted @ 2018-07-17 17:53 約束の空 阅读(239) 评论(0) 推荐(0)