O DESENVOLVIMENTO DE SISTEMA PARA ANÁLISE DE PERFORMANCE DE ALGORITMOS DE ORDENAÇÃO DE DADOS
Por: Franciele Barbosa Oliveira • 10/4/2017 • Trabalho acadêmico • 6.338 Palavras (26 Páginas) • 616 Visualizações
UNIP – UNIVERSIDADE PAULISTA
Curso de Ciência da Computação
ATIVIDADES PRÁTICAS SUPERVISONADAS - APS
DESENVOLVIMENTO DE SISTEMA PARA ANÁLISE DE PERFORMANCE DE ALGORITMOS DE ORDENAÇÃO DE DADOS
[pic 1]
UNIP – UNIVERSIDADE PAULISTA
Curso de Ciência da Computação
ATIVIDADES PRÁTICAS SUPERVISONADAS - APS
DESENVOLVIMENTO DE SISTEMA PARA ANÁLISE DE PERFORMANCE DE ALGORITMOS DE ORDENAÇÃO DE DADOS
Atividades Práticas Supervisionadas do 2º e 3º Semestres do Curso de Ciência da Computação da Universidade Paulista – UNIP.
Coordenador: Prof. Fernando A. Gotti
São José dos Campos, 11 de maio de 2016.
[pic 2]
UNIP – UNIVERSIDADE PAULISTA
Curso de Ciência da Computação
FICHA DE APROVAÇÃO
AGRADECIMENTOS
Agradecemos aos nossos familiares, que nos motivam a continuar estudando sempre e nos aprimorando cada um de sua maneira. Também agradecemos aos professores que cedem o seu tempo para ensinar aos alunos.
RESUMO
Este trabalho é o resultado do estudo de algoritmos para a ordenação de dados. Abordando sobre as estruturas clássicas de dados para ordenar vetores e verificar sua performance dos métodos de ordenação escolhidos: Isertion Sort, Selection Sort, Quick Sort, Bubble Sort e Shell Sort. Para a análise de cada uma vai receber a mesma massa de dados que será executado pelo mesmo computador, de modo que possa ser feita uma análise do desempenho de cada algoritmo.
Palavras-chave: ordenação de dados, Insertion Sort, Selection Sort, Quick Sort, Bubble Sort, Shell Sort.
ABSTRACT
This work is the result of the study of algorithms for sorting data. Addressing on the classic data structures to sort vectors and verify their performance of sorting methods chosen: Insertion Sort, Selection Sort, Quick Sort, Bubble Sort and Shell Sort. For the analyze each one will receive the same mass of data and executed by the same computer, so that it can be made an analysis of the performance of each algorithm.
Key words: Sorting Methods, Insertion Sort, Selection Sort, Quick Sort, Bubble Sort, Shell Sort.
LISTA DE FIGURAS
Figura 1- Testes realizados com o método Bubble – double 26
Figura 2- Testes realizados com o método Bubble – String 26
Figura 3- Testes realizados com o método Insertion Sort - double 27
Figura 4 - Testes realizados com o método Insertion Sort - String 27
Figura 5 - Testes realizados com o método QuickSort – double 28
Figura 6 - Testes realizados com o método QuickSort – String 28
Figura 7 - Testes realizados com o método Selection Sort – double 29
Figura 8 - Testes realizados com o método Selection Sort - String 29
Figura 9 - Testes realizados com o método Shell Sort - double 30
Figura 10 - Testes realizados com o método ShellSort – String 30
Figura 11- Comparação das médias das tentativas entre métodos de double 31
Figura 12 - Comparação das médias das tentativas entre métodos de String 31
LISTA DE TABELAS
Tabela 1: Tabela de resultados dos testes 25
SUMÁRIO
1 - INTRODUÇÃO 11
2 – REFERENCIAL TEÓRICO 14
2.1 – Insertion Sort 14
2.2 – Selection Sort 14
2.3 – Quick Sort 15
2.4 – Bubble Sort 16
2.5 – Shell Sort 17
4 – DESENVOLVIMENTO 18
4.1.2 Tecnologias 18
4.1.3 Base de dados 18
4.1.4 Estrutura do programa 19
4.1.5 Conceitos utilizados no programa 20
4.1.5.1 Importância 20
4.1.5.2 Diferenciação entre atributos e variáveis 20
4.1.5.3 Encapsulamento 21
4.1.5.4 Classe abstrata 21
4.1.5.5 Herança 21
4.1.5.6 Sobrecarga de métodos 22
4.2.1 Resultados Observados 23
4.2.2 Exemplo de Resultado Final 23
4.2.3 Comparação de Performance 25
5 - RESULTADOS E DISCUSSÕES 26
5.1 Bubble Sort 26
5.2 Insertion Sort 27
5.3 Quick Sort 28
5.4 Selection Sort 29
5.5 Shell Sort 30
5.7 Comparação geral 31
6 CONSIDERAÇÕES FINAIS 32
7 REFERÊNCIAS BIBLIOGRÁFICAS 34
APÊNDICE
A Classe AbstractSort
B Classe FileManager
C Classe Sort
D Classe SortInterface
E Classe SortManager
1 - INTRODUÇÃO
Em todo o mundo há uma constante troca de informações. O que podemos definir como informação é uma união de dados organizadamente que vão formar assim uma mensagem, por exemplo, quando conversamos estamos juntando vários dados e organizando de forma que a outra pessoa entenda, sendo assim ao final o que a outra pessoa terá ouvido serão informações que você passou para ela. Essa troca de informações acontece em tudo, desde pequenos insetos, humanos, até mesmo os computadores, seja em forma de códigos, símbolos, números binários.
...