Beruflich Dokumente
Kultur Dokumente
c(a)Complexidadedeanopiorcaso
(n)Tamanhodeentrada
Ser considerada a complexidade pessimista ou de pior caso nas anlises a
seguir realizadas.
A complexidade de um algoritmo pode ser definida a partir da soma das
complexidades de suas partes. A complexidade de uma parte pode ser
absorvida pela de outra parte no seguinte caso:
A complexidade de a absorvida pela complexidade de b, se e somente
se
c N n N complexidade(a)(n) c . complexidade(b)(n). Neste caso,
diz-se que:
complexidade(a) + complexidade (b) = complexidade(b)
Por exemplo, considere complexidade(a) e complexidade(b) polinmios, n2
e n3 respectivamente.
Neste caso a complexidade de menor grau absorvida pela de maior grau.
Desta forma, complexidade(a) absorvida por complexidade(b), ou seja, n2
absorvida por n3.
A seguir cada uma das estruturas algortmicas citadas analisada e
definida uma expresso para a complexidade.
Atribuio
A atribuio uma estrutura sintaticamente simples e apresentada na
forma:
a := b ou a b
A complexidade associada a esta estrutura depende do tipo dos dados
envolvidos.
c (a := b) = c(:=) + c (b)
A atribuio pode ser uma operao simples, como a atribuio de um valor
a uma varivel, ou uma atribuio mais complexa, como a insero de um
nodo num grafo, a atualizao de uma matriz, dentre outros. A atribuio
pode ainda requerer uma avaliao de b, que pode ser uma expresso ou
uma funo. Nestes casos, existe um esforo computacional associado a
operao de atribuio c(:=) propriamente dita e um esforo associado
avaliao de b.
Sequncia
Esta estrutura tem a seguinte forma:
a;b;
A complexidade da sequncia a soma das complexidades das
componentes. A execuo de a, entretanto, pode alterar o volume de dados
para b, ento:
c(a ; b) (n) = c(a) (n) + c(b) (t(n))
onde, t(n) o tamanho da entrada aps a execuo de a, dado que antes da
execuo era n. O valor t(n) pode ser menor, maior ou igual a n.
Condicional
A estrutura condicional pode apresentar-se de diversas formas, sendo a
mais usual:
if a then b else c
A complexidade desta estrutura definida pela complexidade da avaliao
da condio a mais a complexidade de b ou a complexidade de c, conforme
o critrio de complexidade a ser utilizado.
h(n)1