joaoarthurbm / eda

Material escrito para a disciplina de Estruturas de Dados e Algoritmos da Universidade Federal de Campina Grande.
http://joaoarthurbm.github.io/eda
53 stars 65 forks source link

Introdução à Análise de Algoritmos - c7 em loops aninhados #112

Open Guaragna opened 1 year ago

Guaragna commented 1 year ago

https://joaoarthurbm.github.io/eda/posts/introducao-a-analise/

No exemplo com loops aninhados, está escrito:

Como c7 é executada uma vez a menos que c6, então temos que o primeiro termo da PA é a1=1 e an=n−1. Assim, temos que c7 é executada n2/2.

No meu entendimento a PA de c7 teria a1 = 0, pois quando o último valor de i seria n-1, resultando em j = n e não ocorreria a operação c7 = j++ nesse caso. Nesse caso, pela fórmula da soma da PA, teríamos: S=n/2∗(0+n-1) = (n^2-n)/2. Outro forma de pensar seria que c7 ocorre uma vez a menos que c6 em cada iteração do for, de modo que seriam n ocorrências a menos e portanto c7 = c6 - n = (n^2+n)/2 - n = (n^2 - n)/2.

Se tiver algum erro em meu raciocínio, gostaria de saber. Obrigado!