Поддержка инструментов обозначений Ландау (ide) - PullRequest
3 голосов
/ 26 апреля 2010

Во время разработки полезно иметь важную информацию, такую ​​как нотация Ландау, чтобы знать затраты времени на функции. Так должно быть задокументировано в источниках, не так ли?

Я ищу инструменты, которые могут рассчитать его.

1 Ответ

3 голосов
/ 22 июня 2011

В общем случае асимптотическая сложность произвольного алгоритма неразрешима по теореме Райса 1002 *.

Но на практике вы часто можете сделать правильное предположение, многократно запуская алгоритм на различных входах (размеров, охватывающих несколько порядков), записывая фактическое время ЦП и подгоняя кривую. (Вы должны выбрасывать точки данных с очень коротким временем выполнения, так как они будут доминировать из-за шума. Кроме того, в JIT-средах выполнения, таких как виртуальная машина Java, не забудьте запустить функцию на некоторое время перед запуском синхронизации, чтобы убедиться, что виртуальная машина прогрелся.)

...