You are on page 1of 2

Licenciatura em Computao

AEDI - 2015.2
Prof. Luciano Vilas Boas Espiridio

Lista 2 Complexidade
04/09/2015

Valor: 5.0

Instrues
Para a reposio da aula de sbado faam apenas os exerccios 1,2 e 6. Os demais
tm prazo at o dia 04 de setembro de 2015, prxima sexta-feira.

1. Considere um arranjo A com n elementos no ordenados. O problema achar o


maior valor dentre estes n elementos.
a. Apresente um algoritmo timo para resolver esse problema. Implemente o
seu algoritmo, ou.
b. Apresente um algoritmo para resovler esse problema. Qual a funo de
complexidade desse algoritmo no melhor, pior caso, e no caso mdio?
2. Considere um arranjo A com n elementos no ordenados. O problema achar o
maior e o segundo maior valor dentre estes n elementos.
a. Apresente um algoritmo timo para resolver esse problema. Implemente o
seu algoritmo, ou.
b. Apresente um algoritmo para resovler esse problema. Qual a funo de
complexidade desse algoritmo no melhor, pior caso, e no caso mdio?
3. Hoje, dos algoritmo de ordenao mais utilizados, o que possui menor
complexidade o insero, considerando o seu melhor caso, O(n). Podemos dizer
que nenhum outro algoritmo poder atingir uma complexidade melhor do que
esta? Justifique.
4. Dois algoritmos A e B possuem complexidade n5 e 2n, respectivamente. Voc
utilizaria o algoritmo B ao invs do A. Em qual caso? Exemplifique.
5. Para duas funes g(n) e f(n) temos que f(n)=(n) se somente se f(n)= (g(n)) e
f(n)=O(g(n)). Explique o teorema acima.
6. Podemos definir o seguinte algoritmo para calcular a ordem de complexidade de
algoritmos no recursivos:
1- Escolher o parmetro que indica o tamanho da entrada.
2- Identificar a operao bsica (comparao, atribuio).
3- Estabelea uma soma que indique quantas vezes sua operao bsica foi
executada (pio caso).
4- Utilize regras para manipulao de soma e frmulas definindo uma funo
de complexidade.
5- Encontre a ordem de complexidade.

Licenciatura em Computao
AEDI - 2015.2
Prof. Luciano Vilas Boas Espiridio

a) Baseando-se no algoritmo acima determine a ordem de complexidade do


algoritmo abaixo:
Misterio(vetor v)
max=v[1];
min=v[1];
para i=2 at n faa
se v[1]> max ento max=v[1]; fimse
se v[1]< min ento min=v[1]; fimse
fimpara;
fim.
b) Podemos dizer que o algoritmo acima O(n2)? Justifique.
7. Uma outra mtrica muito utilizada para avaliar algoritmos a Mtrica Emprica.
Essa consiste em escolher uma mtrica (tempo , nmero de instrues
executadas, etc), propor entradas diferenciadas (geralmente com alguma
caracterstica pr-definida), ou seja, amostras. Finalmente executar o algoritmo
com as entradas e analisar os resultados. Esta medida muito utilizada para
comparar dois algoritmos. Critique a mtrica.
8. Considere o problema de inserir um novo elemento em um conjunto ordenado de
dados: a1> a2>a3>....>an. Apresente um limite inferior para este problema e
exemplifique.
9. Por muitas vezes damos ateno apenas ao pior caso dos algoritmos. Explique o
porque.