nth_element的算法

时间:2010-03-06 12:50:56

标签: c++ algorithm median nth-element

我最近发现在STL中存在一个名为nth_element的方法。引用描述:

  

Nth_element类似于   partial_sort,部分地   订购一系列元素:它   安排范围[第一,最后]这样   该元素指向的元素   迭代器nth与   将处于该位置的元素   如果整个范围[第一个,最后一个]有   已经分类。此外,没有   [nth,last]范围内的元素是   少于任何元素   范围[第一,第n]。

它声称平均具有O(n)复杂性。算法如何工作?我找不到任何解释。

2 个答案:

答案 0 :(得分:19)

它被称为选择算法,维基百科上有一个不错的页面:http://en.wikipedia.org/wiki/Selection_algorithm

另请阅读订单统计信息:http://en.wikipedia.org/wiki/Order_statistic

答案 1 :(得分:1)