Está en la página 1de 1

Anlisis y Diseo de Algoritmos Divide y Vencers

Ejercicios de Divide y Vencers


1. Disee un algoritmo "divide y vencers" que permita encontrar la mediana de un vector
sin tener que ordenar el vector previamente.
2. Disee un algoritmo "divide y vencers" que permita calcular el ksimo menor elemento
de un vector.
3. Disee un algoritmo "divide y vencers" que permita calcular el ksimo mayor elemento
de un vector.
4. Dado un vector de n elementos, de los cuales algunos estn duplicados, disee un
algoritmo que permita eliminar todos los elementos duplicados.
5. Dado un vector ordenado de nmeros enteros X, disee un algoritmo "divide y vencers"
que permita determinar si existe un ndice i tal que X[i] = i.
6. Supongamos que tenemos k arrays ordenados, cada uno con n elementos, y queremos
combinarlos en un nico array ordenado con kn elementos. Una posible alternativa
consiste en, utilizando un algoritmo clsico, mezclar los dos primeros arrays,
posteriormente mezclar el resultado con el tercero, y as sucesivamente.
a. Cul sera el tiempo de ejecucin de este algoritmo?
b. Disee un algoritmo de mezcla ms eficiente.
7. Un array se dice que tiene un elemento mayoritario si ms de la mitad de sus elementos
tienen el mismo valor. Dado un array A, nos proponen que diseemos un algoritmo
eficiente que nos permita determinar sin un array tiene un elemento mayoritario y, en
caso afirmativo, identifique dicho elemento. Ahora bien, los elementos del array no tienen
por qu pertenecer a un dominio ordenado como el de los nmeros enteros y, por tanto,
NO se pueden realizar comparaciones del tipo A[i] > A[j]. En cualquier caso, s que se
pueden realizar comprobaciones del tipo A[i] == A[j].
8. Resuelva el problema que nos dice que dados los enteros positivos a y n, se trata de
calcular an (potenciacin de enteros). No use el algoritmo clsico para hallar potencias
sino un algoritmo ms eficiente Divide y Vencers considerando que una potencia se
puede expresar:

En otras palabras:

respinozad@unmsm.edu.pe

También podría gustarte