STL 中取第 n 小数的算法 nth_element 的函数原型如下
template
void nth_element(RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last);
算法说明:
1、功能:执行 nth_element 后,nth 所指位置的元素将是整个区间有序时在该处的元素。对 [first, nth) 中的任意迭代器 i 和 [n...
分类:
其他好文 时间:
2014-07-22 23:03:14
阅读次数:
345
题目:输入n个整数,找出其中最小的K个数方法一:直接std::sort,T(n) = O(nlgn)方法二:直接std::nth_element T(n) = O(n) 但是修改了原数组void MinKth(std::vector& num, int kth, std::vector& resul...
分类:
其他好文 时间:
2014-06-25 12:35:07
阅读次数:
216
STL库中实现了nth_element函数,实现的功能是 “返回n个元素中的第k小的元素”。
首先,头脑风暴一下“返回n个元素中的第k小的元素”的算法:
1
排序 ,首选快排 O(n*logn),取出第k个即可。
2
其次,是维护一个大小为k的数组,找出数组中的最大值kmax,然后依次遍历剩下的 n-k 个元素,如果小雨kmax,则替换掉kmax
元素,然后再...
分类:
其他好文 时间:
2014-05-11 07:35:46
阅读次数:
250
1
/******************************************************************** 2 created:
2014/04/29 11:35 3 filename: nth_element.cpp 4 author: ...
分类:
其他好文 时间:
2014-05-01 20:08:30
阅读次数:
404