Você está na página 1de 25

Cadeira: EAD

Helton Luís General 2022


➢ Insertion Sort
➢ Merge Sort
➢ Quick Sort
➢ Heap Sort
A ideia do algoritmo Insertion Sort é a seguinte:
➢ A cada iteração i, os elementos das posições
[0, i-1] da lista estão ordenados.
➢ Então, precisamos inserir o elemento da
posição i, entre as posições 0 e i, de forma a
deixar a lista ordenada até a posição i.
➢ Na iteração seguinte, consideramos que a
lista está ordenada até a posição i e repetimos
o processo até que a lista esteja
completamente ordenada.
0 1 2 3 4 5 6 7
4 2 3 0 9 3 5 7

deve sair
4 3 0 9 3 5 7

Movem-se
2 4 3 0 9 3 5 7

deve sair
2 4 0 9 3 5 7

Movem-se
0 1 2 3 4 5 6 7
2 3 4 0 9 3 5 7

Já ordenados deve sair


2 3 4 9 3 5 7

Movem-se
0 2 3 4 9 3 5 7

deve sair
0 2 3 4 9 5 7

Movem-se
0 1 2 3 4 5 6 7
0 2 3 3 4 9 5 7

deve sair
0 2 3 3 4 9 7

Movem-se
0 2 3 3 4 5 9 7

deve sair
0 2 3 3 4 5 9

Movem-se
0 2 3 3 4 5 7 9
A ideia:
➢ divida o vetor em 2 subvetores (ao meio)
recursivamente até ele ter o tamanho 1.
➢ Intercale pares de elementos adjacentes.
➢ Combina 2 subconjuntos de forma a obter 1
conjunto maior e ordenado
➢ Repita esse processo até restar apenas um
arquivo de tamanho n com apenas 1 conjunto
12 4 2 3 14 11 1 7

12 4 2 3 14 11 1 7

12 4 2 3 14 11 1 7

12 4 2 3 14 11 1 7
12 4 2 3 14 11 1 7

4 12 2 3 11 14 1 7

2 3 4 12 1 7 11 14

1 2 3 4 7 11 12 14
O quicksort (Ordenação Rápida) é um método
de ordenação baseado no conceito de dividir-e-
conquistar.
Inicialmente ele seleciona um elemento o qual é
chamado de pivô, depois remove este pivô e
particiona os elementos restantes em duas
sequências, uma com os valores menores do
que o pivô e outras com valores maiores.
Pivó
85 24 63 45 17 31 96 50

24 45 17 31 85 96 63

85 96
24 17 45

85
24
Pivó
17 24 31 45 50 63 85 96

17 24 31 45 63 85 96

85 96
17 24 45

85
24
Utiliza uma estrutura de dados com um critério
bem-definido baseada em árvore binária (heap)
para organizar a informação durante a execução
do algoritmo.

Um heap deve satisfazer uma das seguintes


condições:
➢ Todo nó deve ter valor maior ou igual que
seus filhos (Heap Máximo). O maior elemento
é armazenado na raiz.
➢ Todo nó deve ter valor menor ou igual que
seus filhos (Heap Mínimo). O menor elemento
é armazenado na raiz.
17

12 8

5 3 6 2

4 2 1
16

14 10

8 7 9 3

2 4 1
14

8 10

4 7 9 3

2 1

16

16
10

8 9

4 7 1 3

14

14 16
9

8 3

4 7 1 2

10

10 14 16
8

7 3

4 2 1

9 10 14 16
7

4 3

1 2

8 9 10 14 16
4

2 3

7 8 9 10 14 16
3

2 1

4 7 8 9 10 14 16

1
3

3 4 7 8 9 10 14 16
1

2 3 4 7 8 9 10 14 16

1 2 3 4 7 8 9 10 14 16

Você também pode gostar