ao
Exemplo
An
alise
Refer
encias
Shell Sort
Johann Felipe Voigt
Universidade Federal de Alagoas
25 de Marco de 2015
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Topicos
Descricao
Hist
oria
Funcionamento
Caractersticas
Sequencias de distancias
Exemplo
C++
Analise
Sequencia classica
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Historia
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4
Passo 1: 5 6 4 3
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4
Passo 1: 5 6 4 3
Passo 2: 5 6 4 3
8
8
1
1
2
2
7
7
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4
Passo 1: 5 6 4 3
Passo 2: 5 1 4 3
8
8
1
6
2
2
7
7
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4
Passo 1: 5 6 4 3 8 1 2 7
Passo 2: 5 1 4 3 8 6 2 7
Passo 3: 5 1 4 3 8 6 2 7
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4
Passo 1: 5 6 4 3
Passo 2: 5 1 4 3
Passo 3: 5 1 2 3
8
8
8
1
6
6
2
2
4
7
7
7
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4
Passo 1: 5 6 4
Passo 2: 5 1 4
Passo 3: 5 1 2
Passo 4: 5 1 2
3 8 1 2 7
3 8 6 2 7
3 8 6 4 7
3 8 6 4 7
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5
Distancia (gap): 2
6
8
4
6
3
4
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5 1 2 3 8
Distancia (gap): 2
Passo 1: 5 1 2 3 8 6 4 7
4
6
3
4
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5 1 2 3 8
Distancia (gap): 2
Passo 1: 2 1 4 3 5 6 8 7
4
6
3
4
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5 1 2 3 8
Distancia (gap): 2
Passo 1: 2 1 4 3 5 6 8 7
Passo 2: 2 1 4 3 5 6 8 7
4
6
3
4
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5 1 2 3 8 6 4 7
Distancia (gap): 2 2 1 4 3 5 6 8 7
Distancia (gap): 1
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5 1 2 3 8 6 4 7
Distancia (gap): 2 2 1 4 3 5 6 8 7
Distancia (gap): 1
Passo 1: 2 1 4 3 5 6 8 7
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5 1 2 3 8 6 4 7
Distancia (gap): 2 2 1 4 3 5 6 8 7
Distancia (gap): 1
Passo 1: 1 2 3 4 5 6 7 8
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
5
Distancia (gap): 4 5 1 2 3 8 6 4 7
Distancia (gap): 2 2 1 4 3 5 6 8 7
Distancia (gap): 1 1 2 3 4 5 6 7 8
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Funcionamento
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Descricao - Caractersticas
Nao estavel
adaptativo (heranca do Insertion Sort)
E
Complexidade de espaco: O(1)
Complexidade de tempo: Varia de acordo com a sequencia de distancias escolhida
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Hist
oria
Funcionamento
Caractersticas
Sequ
encias de dist
ancias
Termo
n Geral
2k
2k + 1
(n
umeros na forma 2p 3q )
4k + 3 2k1 + 1
(desconhecida)
n Termos
, n4 , ..., 1
2
1, 3, 5, 9, 17, ...
1, 2, 3, 4, 6, 8, ...
1, 3, 7, 21, 48, ...
1, 4, 10, 23, 57, 132, 301, 701
Shell Sort
Pior-caso
(n2 )
(n3/2 )
(n log2 n)
O(n4/3 )
?
Autor
Shell, 1959
Papernov & Stasevich, 1956
Pratt, 1971
Sedgewick, 1986
Ciura, 2001
Descric
ao
Exemplo
An
alise
Refer
encias
C++
Exemplo - C++
void shell_sort ( int ar [] , int size ){
int j ;
for ( int gap = size / 2; gap > 0; gap /= 2){
for ( int i = gap ; i < size ; ++ i ){
int temp = ar [ i ];
for ( j = i ; j >= gap && temp < ar [ j - gap ]; j -= gap ){
ar [ j ] = ar [ j - gap ];
}
ar [ j ] = temp ;
}
}
}
Johann Felipe Voigt
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Sequ
encia cl
assica
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Sequ
encia cl
assica
( n2 22 ) + ( n4 42 ) + ... + (2 ( n2 )2 ) + (1 n2 )
(1 n2 ) + (2 ( n2 )2 ) + ... + ( n4 42 ) + ( n2 22 )
1 1
n2 (1 + + + ...)
| 2 {z 4
}
p vezes
n2 (1 +
p1
P
k=1
1
2k
Shell Sort
Descric
ao
Exemplo
An
alise
Refer
encias
Referencias
Shell Sort