Re[4]: range-v3 и модный C++
От: Ватакуси Россия  
Дата: 26.07.20 11:57
Оценка:
N>Ну, это и правда больше упражнение, благо для матриц сейчас библиотек достаточно и вряд ли кто-то решит писать сам. А необходимость поиска нескольких минимальных/максимальных элементов иногда встречается, реализации из коробки нет, вот и приходится самому думать. Что предлагают делать разработчики на Питоне? Сортировать! На втором месте уже np.argpartition, про который говорят, что он сработает за линейное время, что неверно в общем случае. И только где-то там самый быстрый алгоритм — heapq.nlargest. Хотя именно с кучей можно быстрее всего найти k-top элементов. Не хочется, чтобы С++ уходил в эту же сторону, краткость не решает.

Не читай советских газет перед обедом (с)

def kth(a, n):
    m = a.shape[0]
    perc = (np.arange(m-n,m)+1.0)/m*100
    return np.percentile(a, perc)
Все будет Украина!
Отредактировано 26.07.2020 15:18 Ватакуси . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.