Escolar Documentos
Profissional Documentos
Cultura Documentos
2
Ordenação
•Entrada: um vetor de n números [a1, a2, a3, ..., an]
•Saída: uma versão ordenada do vetor de entrada [a1’, a2’,...,an’] com a1’ <= a2’
<= ... <= an’
•Exemplos:
•Entrada: [ 5, 8, 0, 1, 3, 6 ]
•Saída: [0, 1, 3, 5, 6, 8]
3
Em Python
4
Em Python
5
Algoritmos de ordenação
•Existem diversos algoritmos de ordenação na literatura!
• Bubble Sort
• Insertion Sort
• Quick Sort
• Merge Sort
• Selection Sort
• Radix Sort
• Bucket Sort
• Dentre outros
6
Bubble Sort ou Método de Bolhas
•Descrito no “The Art of Computer Programming”
• Publicado em 1962
• Donald E. Knuth
7
Bubble Sort
•Coelhos
• Números grandes no começo do vetor
•Tartarugas
• Números pequenos no fim do vetor
8
Bubble Sort – O que você precisa saber
• Trocar duas variáveis
9
10
Variável fim:
Marca o tamanho
do vetor
11
Variável trocou:
Indica se uma
iteração teve trocas
12
Variável continuar:
Se uma iteração não
teve trocas, o
algoritmo não
precisa continuar
13
Indica que é
necessário trocá-las
14
Procedimento de
troca
15
Marca a posição no
vetor que estamos
começando a olhar
16
Bubble Sort
17
Bubble Sort com AlgoRythmics
18
Exercícios
•Faça um algoritmo que leia um vetor V[10] e um vetor X[10]. A seguir, crie
um vetor Y[20] que conterá os valores dos vetores V e X em ordem
crescente
19
Exercícios
•Construa uma função em Python que dado um vetor, verifique se o
mesmo está ordenado de maneira crescente, retornando True em caso
afirmativo, e False em caso contrário
20
Exercícios
•Faça uma função em Python que receba uma lista e que retorne uma
nova lista, que contém os mesmos elementos da lista original, mas
ordenados de maneira decrescente.
21
Exercícios
22
Exercícios
23