aula 16: laboratório - métodos simples de ordenação (parte...
TRANSCRIPT
![Page 1: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/1.jpg)
1
Aula 16: Laboratório- Métodos simples de ordenação (parte 2)
MCTA028 – Programação Estruturada
Prof. Jesús P. Mena-Chalco
3Q-2017
![Page 2: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/2.jpg)
2
Atividade 01: Benchmark
![Page 3: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/3.jpg)
3
Vetores ordenados
![Page 4: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/4.jpg)
4
Vetor aleatório
![Page 5: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/5.jpg)
5
Vetor Parcialmente Ordenados
![Page 6: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/6.jpg)
6
Benchmark
$ sh v benchmark.sh
![Page 7: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/7.jpg)
7
Sobre ordenação
![Page 8: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/8.jpg)
8
Ordenação
Ordenar corresponde ao processo de re-arranjar um conjunto de objetos em ordem ascendente ou descendente.
Por que ordenar?O objetivo principal da ordenação é facilitar a recuperação posterior de itens do conjunto ordenado.Geralmente considerado no primeiro passo para resolver um problema prático.
As ordens mais utilizadas são a numérica e lexicográfica.
![Page 9: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/9.jpg)
9
21/03/2016
![Page 10: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/10.jpg)
10
Algoritmos para ordenar elementos
Baseado em comparações:Bogo sort
Selection sort
Insertion sort
Bubble sort
Mergesort
Quicksort
Heapsort
Ordenação em tempo linear:Radix sort
Ordenação de primeiros elementos (seleção parcial):Partial Quicksort
![Page 11: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/11.jpg)
11
Algoritmos de ordenação
![Page 12: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/12.jpg)
12
Selection Sort
Animação: https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html
![Page 13: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/13.jpg)
13
Selection Sort
![Page 14: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/14.jpg)
14
Selection sort
https://www.youtube.com/watch?v=92BfuxHn2XE
![Page 15: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/15.jpg)
15
Insertion Sort
Animação: https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html
Método preferido dos jogadores de cartas
Em cada passo, a partir do i=1, o i-ésimo elemento da sequência fonte é apanhado e transferido para a sequência destino, sendo inserido no seu lugar apropriado.
1 5 7 10 55 6
1 5 7 10 55
6
0 1 2 3 4 5 6 …
![Page 16: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/16.jpg)
16
Insertion Sort
Número de comparações T(n):- No melhor caso: T(n) = n-1- No pior caso: T(n) = ?
![Page 17: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/17.jpg)
17
Insertion sort
https://www.youtube.com/watch?v=8oJS1BMKE64
![Page 18: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/18.jpg)
18
Bubble Sort
O algoritmo de ordenação baseado em troca, consiste em intercalar pares de elementos que não estão em ordem até que não exista mais pares.
O principio do bolha é a troca de valores entre posições consecutivas fazendo com que os valores mais altos “borbulhem” para o final do vetor.
Animação: https://www.cs.usfca.edu/~galles/visualization/ComparisonSort.html
![Page 19: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/19.jpg)
19
Bubble Sort
Número de comparações T(n):- No melhor caso: T(n) = n²/2 – n/2- No pior caso: T(n) = n²/2 – n/2
Número de comparações T(n):- No melhor caso: T(n) = n-1- No pior caso: T(n) = n²/2 – n/2
![Page 20: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/20.jpg)
20
Bubble sort
https://www.youtube.com/watch?v=Cq7SMsQBEUw
![Page 21: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/21.jpg)
21
Atividade 02
- Tempo de processamento (segundos)- Número de comparações
![Page 22: Aula 16: Laboratório - Métodos simples de ordenação (parte 2)professor.ufabc.edu.br/~jesus.mena/courses/pe-3q-2017/PE-aula16.pdf1 Aula 16: Laboratório - Métodos simples de ordenação](https://reader036.vdocuments.mx/reader036/viewer/2022071007/5fc4a6bfc70ee443ae2b9558/html5/thumbnails/22.jpg)
22
Atividade 02: Teste empírico