Алгоритм BruteForceMedian имеет квадратичную эффективность. (Зачем?)

Этот алгоритм имеет квадратичную эффективность. (Зачем?)

2 ответа

Чтобы проанализировать сложность, вам просто нужно посчитать количество операций.

Здесь есть два вложенных цикла:

for i in 0 to n – 1 do
    for j in 0 to n – 1 do
        operation() // Do something
    done
done

С i = 0, operation будет выполняться для всех j в [0,n-1], то есть n раз. Затем увеличивайте i и повторяйте, пока i > n-1. Это operation побежал n*n раз в худшем случае.

Таким образом, в конце концов, это коды n^2 операции, поэтому он имеет квадратичную эффективность.

Это вопрос с подвохом, он может быть одновременно n^2 и 2^n в зависимости от того, выполняется ли оператор if в строке j.

Другие вопросы по тегам