2013-07-29 6 views
2

Когда я вызываю cProfile.run('myFunction1'), он возвращается с несколькими вызовами функций.cProfile.run вызовы функций против сложности

Я хотел бы сравнить различные варианты myFunction и найти наиболее эффективный (например, с наименьшей сложностью).

Какая связь между function calls и complexity?

Что описывают вызовы функций?

Если у меня есть две функции, функция с наименьшим количеством вызовов функций наиболее эффективна?

ответ

1

Количество вызовов функций - это именно то, что означает: количество вызовов (под) функций. Не существует строгой корреляции между вызовами func и сложностью. Чтобы найти оптимальное решение , вам следует попробовать сопоставить свою функцию с различными наборами аргументов и задать время. Использование модуля timeit.

Вычисление сложности функции является слишком широким аргументом для одного ответа. Это зависит от самого алгоритма и сложности его подфункций.

Здесь для получения дополнительной информации: https://en.wikipedia.org/wiki/Analysis_of_algorithms