Единственный способ - не «простой» или «сложный», а единственный разумный способ - найти точную сложность сложного алгоритма - это профилировать его.Современная реализация алгоритма имеет сложное взаимодействие с числовыми библиотеками, а также с процессором и его модулем с плавающей запятой.Например, доступ к кэш-памяти гораздо быстрее, чем к кэш-памяти, и, кроме того, кэш может иметь более одного уровня.Подсчет шагов действительно намного больше подходит для асимптотической сложности, которая, как вы говорите, недостаточна для вашей цели.
Но, если вы действительно хотите посчитать шаги автоматически, есть и способы сделать это.Вы можете добавить команду приращения счетчика (например, «bloof ++;» в C) к каждой строке кода, а затем отобразить значение в конце.
Вы также должны знать о более усовершенствованном выражении сложности времени, f(n) * (1 + o (1)), что также полезно для аналитических расчетов.Например, n ^ 2 + 2 * n + 7 упрощается до n ^ 2 * (1 + o (1)).Если постоянный фактор - это то, что беспокоит вас в обычной асимптотической записи O (f (n)), это уточнение является способом отследить его и все равно выбросить незначительные члены.