Как включить функцию вероятности в анализ сложности кода.
if (cond1(l,n)) {
for (int r=l;r<n;r++)
for (int m=r;m<n;m++)
for (int k=m;k<n;k++)
//calculation
} else
// calculation
Типичный анализ сложности этого кода даст сложность как O (N ^ 3).
Предположим, что cond1(l,n) в значительной степени дает false, поэтому внутренние циклы for в гипотетических вычислениях пропускаются.
Я хотел бы рассчитать сложность кода как можно точнее, потому что я хочу сравнить сложность ряда похожих алгоритмов.
Например, я хочу заменить cond1(l,n) другим набором алгоритмов, которые сокращают вызов внутреннего цикла.
Как я могу рассчитать сложность алгоритма как можно точнее.
Реалистичный сценарий кода, который я пытаюсь проанализировать, находится в [ссылка] Анализ экспоненциально-рекурсивной функции