O(N)的时间寻找最大的K个数
寻找N个数中最大的K个数,本质上就是寻找最大的K个数中最小的那个,也就是第K大的数。可以使用二分搜索的策略来寻找N个数中的第K大的数。对于一个给定的数p,可以在O(N)的时间复杂度内找出所有不小于p的数。寻找第k大的元素:
#include <iostream>using namespace std;//快速排序的划分函数int partition(int a[],int l,in...
原创
2012-08-07 22:58:48 ·
89 阅读 ·
0 评论