Есть ли ссылка на сложность Python? В cppreference, например, для многих функций (таких как std:: array:: size или std:: array:: fill) существует раздел сложность, который описывает их сложность работы, с точки зрения линейности по размеру контейнера или константа.
Я бы ожидал, что такая же информация появится на веб-сайте python, возможно, по крайней мере для реализации CPython. Например, в справочной таблице, в list.insert я ожидаю увидеть сложность: linear; Я знаю, что этот случай (и многие другие операции, связанные с контейнером) покрываются здесь, но многих других случаев нет. Вот несколько примеров:
- В чем сложность
tuple.__le__? Похоже, что при сравнении двух кортежей размераn,kсложность составляет околоO(min(n,k))(однако при маломnон выглядит иначе). - В чем сложность
random.shuffle? Кажется, этоO(n). Также представляется, что сложностьrandom.randintсоставляетO(1). - Какова сложность метода строк
__format__? Он кажется линейным по размеру входной строки; однако он также растет, когда число соответствующих аргументов возрастает (сравните("{0}"*100000).format(*(("abc",)*100000))с("{}"*100000).format(*(("abc",)*100000))).
Я знаю, что (а) на каждый из этих вопросов можно ответить сам по себе, (б) можно посмотреть на код этих модулей (хотя некоторые из них написаны на С), и (в) StackExchange не список рассылки python для пользовательских запросов. Итак: это не запрос функции-документа, а вопрос двух частей:
- Вы знаете, существует ли такой ресурс?
- Если нет, знаете ли вы, в чем место, чтобы спросить об этом, или вы можете предположить, почему мне это не нужно?