Академический Документы
Профессиональный Документы
Культура Документы
CIENCIA DE LA COMPUTACION I
Antonio Calvo,Jhon
SHELL SORT
5>
014
4
12
5
6
>>2
145
30
4
46>>>6
32
6 1 4
2
0
5 3
2
0 4
6
2
4
3 5
4 6
0
Salto 1
3
Dev C++
a[5]
a[6]
Intervalos Siguientes=IntervaloAnterior/2
Paso Intervalo
(6,2)= 2, 1, 5,6, 3, 4, 0
(5,4)= 2, 1, 4,6, 3,5, 0
(6;0)=2, 1, 4,0, 3,5, 6
2, 1, 4,0, 3,5, 6
0, 1, 4,2, 3,5, 6
Ninguno
0, 1, 4,2, 3,5, 6
3/2=1
0, 1, 2,3, 4,5, 6
Ninguno
Lista Ordenada
}
intervalo = intervalo / 2;
}
F(n)=n*Log2(n)
COMPLEJIDAD
Dependiendo de la eleccin de la secuencia de
espacios, Shell sort tiene un tiempo de ejecucin
en el peor caso de O(n2) (usando los incrementos
de Shell que comienzan con 1/2 del tamao del
vector y se dividen por 2 cada vez
La existencia de una implementacin O(nlogn) en
el peor caso del Shell sort permanece como una
pregunta por resolver.
COMPLEJIDAD EXPERIMENTAL
La grafica se obtuvo con las siguientes
condiciones de entrada:
Aleatorio: Tiempo de ejecucin para 50 tiempos
generados
de
manera
aleatoria,
con
incrementos de 2000 en el tamao del vector.
Ordenado: Tiempo de ejecucin para 50
arreglos
ordenados
anticipadamente.
Incrementos de 2000.
Desordenado: Tiempo de ejecucin para 50
arreglos que contienen datos ordenados de
Mayor a Menor. Incrementos de 2000.
COMPLEJIDAD EXPERIMENTAL
CONCLUSIONES
El tiempo que requiere este algoritmo
depende siempre de qu sucesin de
Incrementos se use.
Es importante recalcar que es de gran
ayuda realizar una prueba experimental
del algoritmo, debido a que el anlisis
anteriormente planteado se fundamenta
con datos reales, que sustentan la
complejidad encontrada.
GRACIAS