Мне интересно, в чем сложность функции most_common
, предоставляемой объектом collections.Counter
в python 2.7.Python collections.Counter: most_common complex
Более конкретно, это Counter
сохраняя некоторый вид отсортированного списка, пока она обновляется, что позволяет выполнять операцию most_common
быстрее, чем при O(n)
n
этого количества (уникальных) элементов добавляются к счетчику? Для вас информация, я обрабатываю большое количество текстовых данных, пытаясь найти n-ый самый часто используемый токен.
Я проверил официальную документацию (https://docs.python.org/2/library/collections.html#collections.Counter), вики CPython (https://wiki.python.org/moin/TimeComplexity), но я не смог найти ответ. Заранее спасибо!
Romain.
I *** думаю ***, что 'most_common' имеет сложность« O (N * log x) », если у вас есть' x' наиболее распространенные элементы. Кто-то может меня исправить. – miradulo