1. Universidade Presbiteriana Mackenzie
Aula
4:
Selec+on
Sort
Prof. Ms. Daniel Arndt Alves
Faculdade
de
Computação
e
Informá+ca
Computação e Informática
Faculdade de
Estrutura
de
Dados
II
Daniel
Arndt
Alves
Selec0on
Sort
1
2. Tópicos
da
Aula
• Selec%on
Sort
• Complexidade
Computacional
• Desvantagens
Daniel
Arndt
Alves
Selec0on
Sort
2
3. • Um
dos
algoritmos
mais
simples
• Mais
recomendado
para
conjuntos
pequenos
• Procedimento:
– Selecione
o
menor
item
do
conjunto
e
troque-‐o
com
o
item
que
está
na
posição
i
– Repita
essas
operações
com
os
demais
itens
até
que
reste
apenas
um
elemento
Selection Sort
Daniel
Arndt
Alves
Selec0on
Sort
3
4. Selection Sort
• O algoritmo de ordenação selection sort
permite ordenar os valores num vetor, por
exemplo:
a[0] <= a[1] <= a[2] … <= a[a.length-1]
• O algoritmo selection sort coloca o menor
item em a[0], o seguinte menor item em
a[1], e assim sucessivamente até ao último
item.
for(i = 0; i <a.length-1; i++)
coloca o io item menor em a[i]
Daniel
Arndt
Alves
Selec0on
Sort
4
5. Selection Sort
• Selection sort começa por procurar o menor
item do array e troca-o com o item a[0].
• Selection sort continua procurando o próximo
menor item e troca-o com as sucessivos itens
do array a.
• Selection sort termina quando já só existe um
item.
Daniel
Arndt
Alves
Selec0on
Sort
5
6. Selec%on
Sort
• Na
primeira
etapa
seleciona-‐se
o
maior
valor
entre
N
elementos
e
move-‐se
para
a
“área
de
saída”
• Na
segunda
etapa
seleciona-‐se
o
maior
valor
entre
N-‐1
elementos
e
move-‐se
para
a
“área
de
saída”
• Repete-‐se
o
processo
até
que
N
registros
tenham
sido
selecionados
Daniel
Arndt
Alves
Selec0on
Sort
6
7. Selec%on
Sort
O
R
D
E
N
A
1
2
3
4
5
6
Chaves
Iniciais:
i=1:
A
R
D
E
N
O
A
D
R
E
N
O
A
D
E
R
N
O
A
D
E
N
R
O
A
D
E
N
O
R
i=2:
i=3:
i=4:
i=5:
Daniel
Arndt
Alves
Selec0on
Sort
7
13. Desvantagens
• O
fato
de
o
conjunto
já
estar
ordenado
não
ajuda
em
nada
(o
número
de
comparações
con0nua
o
mesmo)
• O
algoritmo
não
é
estável,
isto
é,
os
registros
com
chaves
iguais
nem
sempre
irão
manter
a
mesma
posição
rela0va
de
antes
do
início
da
ordenação
Daniel
Arndt
Alves
Selec0on
Sort
13