You are on page 1of 1

Anlisis de Algoritmos

Facultad de Ingeniera en Electricidad y Computacin, ESPOL

2009 Segundo Semestre Deber N 1


1.- Escriba el seudo cdigo para el algoritmo que ordena una secuencia por seleccin. Discuta por que es correcto este algoritmo. Exprese en notacin teta() los tiempos de ejecucin para el peor y para el mejor de los casos de este algoritmo. 2.- Considere el algoritmo de bsqueda secuencial (o lineal) cuando la secuencia no necesariamente esta ordenada. En promedio, cuantos elementos de la secuencia necesitan ser comparados?, suponga que el elemento buscado podra ser cualquiera con la misma probabilidad. Cuantas comparaciones son necesarias en el peor de los casos? Exprese los tiempos de ejecucin promedio y en el peor de los casos de este algoritmo empleando la notacin-teta. 3.- Con respecto al problema de buscar al elemento x en una secuencia A de longitud n, note que si la secuencia esta ordenada y comparamos x con el elemento en la mitad de la secuencia, la bsqueda de x en la secuencia se reduce a la bsqueda de x en una secuencia ordenada de tamao aproximadamente igual a la mitad del tamao de A. El algoritmo de bsqueda binaria repite este procedimiento, dividiendo cada vez la porcin restante de la secuencia por 2. Discuta lo correcto de esta solucin. Escriba el seudo cdigo de este procedimiento de bsqueda, ya sea en la forma recursiva o iterativa. Argumente a favor de la hiptesis de que el tiempo de ejecucin de este algoritmo en el peor de los casos es teta(lg n). (lg n es el logaritmo base 2 de n) 4.- Diga si la hiptesis 2n+1 = O(2n) es verdadera. Diga si 22n = O(2n) lo es. 5.- Demuestre que el tiempo de ejecucin del un algoritmo es (g(n)) si y solo si el tiempo de ejecucin del peor de los casos es O(g(n)) y del mejor de los casos es (g(n)). 6.- Sea A[1..n] una secuencia de n nmeros distintos. Se define como inversin de A al par (i, j) tal que siendo i<j, A[i] > A[j].

Liste las cinco inversiones de la secuencia 2, 3, 8, 6, 1 Que secuencia de elementos tomados del conjunto 1, 2, , n} tiene el mayor numero de inversiones. Cuntas tiene? Cual es la relacin entre el tiempo de ejecucin del algoritmo que ordena por insercin y el nmero de inversiones en la secuencia de entrada? Justifique su respuesta.

7.- Demuestre que lg(n!) = teta(n lgn) y que n! = o(nn) 8.- Para cada una de las siguientes expresiones, diga si es verdadera o falsa y demuestre su respuesta: n8 = granomega(n9) O(f(n)) * O(g(n)) = O(f(n) * g(n)) f(n) = O(g(n)) implica que 2f(n) = O(2g(n)) C(n, c) = O(nc), donde C(n, c) es el numero de combinaciones sin repeticin c de n. C(n, c) = granomega(nc)

You might also like