![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bfprt
文章平均质量分 68
bfprt
爱敲代码的Harrison
种一棵树最好的时间是十年前,其次是现在。
展开
-
bfprt算法练习——返回 top k 个最大的数
题目给定一个无序数组arr中,长度为N,给定一个正数k,返回top k个最大的数。(K<=N)不同时间复杂度三个方法:O(N+logN):将数组从小到大排好序后,从右往左取出前K个数O(N + K * logN):用从下往上建堆的方式建好堆代价为O(N),然后收集从堆中弹出的值,一共收集K个。大根堆的调整代价为logN,一共有K个,所以时间复杂度为 O(N + K * logN)O(n + k * logk):要找前K个最大的数,先用改写快排的方法或者bfprt算法求出第N-K小的数,代价原创 2022-03-31 10:50:28 · 370 阅读 · 0 评论 -
bfprt算法——无序数组中求第K小的数
package com.harrison.class18;import java.util.Comparator;import java.util.PriorityQueue;/** * @author Harrison * @create 2022-03-30-19:29 * @motto 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。 */public class Code01_bfprt { public static class MaxHeapComparator im原创 2022-03-30 20:05:30 · 883 阅读 · 0 评论