Big O для вложенной серии циклов for

У меня есть вопрос о вычислении времени выполнения Big O для серии циклов, вложенных во внешний цикл for.

Например:


for (50,000 times)
{
    for (n times)
    {
        //Do something
    }
    for (n-2 times)
    {
        //Do something
    }
    for (n times)
    {
        //Do something
    }
    for (n-2 times)
    {
        //Do something
    }
}

Внешний цикл - это константа, поэтому я думаю, что это игнорируется. Тогда это так же просто, как выполнить следующий расчет?

N + N-2 + N + N-2

2N + 2 (N-2)

4N - 4

O (4N - 4 )

O (4N) - после удаления константы -4

Это правильно?

Спасибо.

5
задан Tom W 28 November 2010 в 00:55
поделиться