алгоритм для [закрытого] nth_element

Я недавно узнал, что там существует метод, названный nth_element в STL. Заключить описание в кавычки:

Nth_element подобен partial_sort, в котором он частично заказывает диапазон элементов: это располагает диапазон [сначала, в последний раз), таким образом, что элемент, на который указывает энный итератор, совпадает с элементом, который был бы в том положении, если весь диапазон [сначала, в последний раз), был отсортирован. Кроме того, ни один из элементов в диапазоне [энный, в последний раз), меньше, чем любой из элементов в диапазоне [первый, энный).

Это утверждает, что имело O (n) сложность в среднем. Как алгоритм работает? Я не мог найти объяснение его.

19
задан martinus 6 March 2010 в 12:50
поделиться

2 ответа

Это называется алгоритмом выбора, и в Википедии есть достойная страница о нем: http://en.wikipedia.org/wiki/Selection_algorithm

Также прочтите о статистике заказов: http://en.wikipedia.org/wiki/Order_statistic

19
ответ дан 30 November 2019 в 04:48
поделиться
1
ответ дан 30 November 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: