Professional Documents
Culture Documents
Set de ejercicios No 4
Temas: Algoritmos de Ordenacion
Autor: Hector Rojas B.
Email: hrojas@alumnos.utalca.cl
1. Las siguientes preguntas tienen que ver con algoritmos de ordenaci
on. En la respuesta de cada una puede
usar referencias a los algoritmos estudiados o partes de ellos para responder. En cada caso se entrega
una ayuda acerca de que algoritmos, o partes de ellos, pueden servirle (no es obligatorio que use estos
algoritmos). En cada caso justifique claramente su respuesta.
a) Se quiere ordenar un arreglo de largo n que s
olo tiene 0s y 1s. Describa un procedimiento para
ordenar en tiempo lineal O(n) el arreglo sin necesitar espacio adicional al mismo arreglo, es decir,
s
olo intercambiando valores del arreglo. [Quicksort Countingsort]
b) Describa un procedimiento que dado un arreglo A con n n
umeros en el rango 0 a k, construya en
tiempo O(n + k) un arreglo B que sirva para responder en tiempo (1) cualquier pregunta acerca
de cu
antos de los n enteros iniciales se encuentran en el rango [a . . b] (0 a b k), o sea, cuantos
de los n elementos son mayores o iguales a a y menores o iguales a b. [Countingsort]
2. Sea T una tabla de hash de tama
no 10 y h la siguiente funcion de hash
h(k) = 4 + 3k
mod 10.
Se quieren insertar en T elementos con claves 1, 11, 5, 15, 55, 6, 26, 90, 50, 20 en ese mismo orden usando h.
a) Determine el resultado de insertar las claves en T si las colisiones se resuelven por encadenamiento
(suponga que un nuevo elemento se agrega al final de una lista).
b) Determine el resultado de insertar las claves en T si las colisiones se resuelven por examinaci
on lineal.
c) Considera usted que la tabla T equipada con la funcion de hash h es buena como tabla de hash?
Justifique claramente su respuesta con respecto a las condiciones que una funcion de hash debiese
cumplir.
3. Al igual como se entreg
o en los apuntes un arbol de decision para el algoritmo Insert-Sort, grafique un
arbol de decisi
on para el algoritmo Select-Sort.
Universidad de Talca
Departamento de Ingeniera de Sistemas
n
Escuela de Ingeniera Civil en Computacio
Soluci
on - Set de ejercicios No 4
Temas: Algoritmos de Ordenacion
Autor: Hector Rojas B.
Email: hrojas@alumnos.utalca.cl
1.
2.
c) La raz
on por la cu
al la tabla junto con la funcion funcionan muy mal como tabla de hash es
por que la posicion de cada n
umero depende
u
nicamente del u
ltimo dgito del n
umero,
es imprescindible que una funcion de hash tome
en cuenta el valor completo para decidir su ubicai
on en la tabla.
NOTA: Es muy generico decir algo como es mala
porque no minimiza las colisiones. Esta bien decir que no es bueno tener modulo 10 en una funcion de hash pero se deba decir por que no era
bueno.
s1 ? s0
<
>
s2 ? s0
s2 ? s1
<
<
>
s2 ? s0
s0 ? s1
<
(2, 0, 1) (2, 1, 0) (1, 2, 0)
<
>
(1, 0, 2)
s0 ? s1
>
(2, 0, 1)(2, 1, 0)
>
s2 ? s1
<
>
(0, 1, 2)
(0, 2, 1)
s0 s1 s2
s0 s1 s2
s2 s1 s0
s2 s0 s1
s2 s1 s0
s0 s1 s2
s1 s0 s2
s1 s2 s0
s2 s1 s0
s1 s0 s2 s2 s0 s1
s2 s1 s0
s0 s1 s2
s0 s2 s1
s0 s1 s2
Figura 1: Arbol
de decisi
on para selectsort cuando ordena un arreglo de tres elementos (arriba) y como se
actualiza la posicion de los elementos en el arreglo con cada decision (abajo).
3. Arbol
de decisi
on de Select-Sort
La figura anterior muestra el
arbol de decision para selectsort cuando este trabaja sobre un arreglo de 3
elementos (arriba) y como va cambiando la disposicion de los elementos en el arreglo (abajo).