2014-05-19 4 views
-2

Я работаю над проектом. Я разработал алгоритм, который имеет много шагов. каждый шаг имеет для циклов, для циклов внутри цикла for. но самый большой из них ниже кода, который имеет множество циклов внутри цикла. я предполагаю, что для всех этапов алгоритма шаг с наивысшей временной сложностью - сложность алгоритма. но я не знаю, как рассчитать сложность времени алгоритма. можете ли вы рассказать мне, как рассчитать сложность времени. код ниже.Как рассчитать сложность времени для данного кода?

for (z = 0; z <con1; z++) { 

    outer: 
    for (m = 0; m < con2; m++) { 
     if() { 

      for (i = 0; i < con3; i++) {   
       if() { 

        for (k = 0; k < con4; k++) { 

         for (j = 0; j < con5; j++) { 
          if() { 

           for (l = 0; l < con6; l++) { 

           } 

           for (r = 0; r < con3; r++) { 
            if() { 

            } 
           } 

           for (n = 0; n < con6; n++) { 

           } 

           for (s = 0; s < con4; s++) { 
            if(){ 

            } 
           } 

           break outer; 
          } 
         } 
        } 
       } 
      } 
     } 
    } 
} 
+1

http://stackoverflow.com/questions/125898/tool-for-calculating-cyclomatic- сложность –

+0

Учитывая редкий код здесь, не могли бы вы рассказать нам о вероятности истинных/ложных условий для каждого оператора 'if'? –

+0

каждое «если» истинно хотя бы один раз перед выходом из кода. – user3552285

ответ

1

на основе скудной информации, доступной, сложность в наихудшем случае, вероятно, по приказу O(con1 * con2 * con3 * con4 * con5(2*con6 + con3 + con4))

+0

если я поместил числа в con1, con2 .. как con1 = 10, con2 = 260, con3 = 53, con4 = 53, con5 = 260, con6 = 9 и вычислить временную сложность, каков будет ответ, и будет ли это наносекундами ?? потому что, если он рассчитан, он превращается в очень большое число. – user3552285

+1

@ user3552285 Кажется, что вы совсем не понимаете сложность времени ... Это не должно указывать на то, сколько времени вам понадобится для запуска вашего алгоритма. Включение чисел не имеет смысла. – awksp

+1

Точно - это верхняя граница производительности алгоритма. Посмотрите http://en.wikipedia.org/wiki/Time_complexity –

Смежные вопросы