A Ciência da Computação Atividade Pratica Supervisionada
Por: jcoisa • 29/3/2022 • Trabalho acadêmico • 11.994 Palavras (48 Páginas) • 102 Visualizações
[pic 1]
Ciência da Computação
Atividade Pratica Supervisionada
Estudos e análises sobre Métodos de Ordenação
Daniel Lisboa - N467221
Junior Santos Souza - F034EG9
Nayron Nishiyama – N551CG9
São Paulo - SP
2020
Sumário
1 Introdução 5
2 Referencial teórico 7
2.1 Bubble sort 7
2.2 Comb Sort 7
2.3 Merge Sort 8
2.4 Quick sort 9
2.5 Tim Sort 9
3 Desenvolvimento 11
3.1 Interface 11
3.2 Aquisição de dados 11
3.3 Exibição dos dados 12
3.4 Os algoritmos de ordenação 13
3.4.1 Bubble Sort 13
3.4.2 Comb Sort 13
3.4.3 Merge Sort 14
3.4.4 Quick Sort 16
3.4.5 Tim Sort 17
5 Resultado e Discussões 20
5.1 Analise dos Cenários e Algoritmos 20
Computador 1: 21
Computador 2: 22
Computador 3: 23
5.2 Discussão 24
6 Considerações Finais. 26
7 Referencias Bibliográficas 28
8 Código Fonte do Programa 29
8.1 Classe Principal 29
8.2 Método Tim Sort 38
8.2 Método Comb Sort 41
8.3 Método Quick Sort 43
8.4 Método Bubble Sort 45
8.5 Método Merge Sort 46
9 Fichas de Atividade Prática Supervisionada...............................................47
Objetivo
Com este trabalho verificamos a relevância que os algoritmos de ordenação têm, nas áreas de pesquisa de estrutura de dedos, pois, com estes algoritmos é possível ordenar uma quantidade insondável de dados em questão de milisegundos, proporcionado com que a realização de tarefas que envolvam o uso rápido e ordenhado, se tornem algo rápido e fácil através de um programa. Nota-se que cada método de ordenação tem seu processo e seu próprio desempenho, o que nos leva a testar e analisar seus resultados de forma mais detalhada para verificar qual apresenta os melhores resultados.
Este trabalho foca em mostrar a diferença entre diferentes tipos de métodos de ordenação assim como seus respectivos desempenhos em prol de avaliar os resultados que eles proporcionam em variadas situações como o hardware utilizado para executa-los ou os valores inseridos. Mantendo como foco a analise de tempo de execução feita pelos algoritmos com os mesmos valores sendo impostos a eles, buscando apresentar a diferença entre cada algoritmo escolhido, tendo em vista a complexidade de cada um.
1 Introdução
O computador é uma maquina que faz a manipulação e execução de informações. A ciência da computação inclui a organização, manipulação e utilização destas informações em um computador (Balbuz, 1989). Por isso é importante a compreensão de como informações são adquiridas e coordenadas.
As estruturas de dados são usadas para adaptar as informações do hospital, para que sejam armazenadas e manipuladas pelos computadores. Elas diferem-se umas das outras pela forma que dispõem a manipulam os dados, e também por cada qual possuir uma vantagem e desvantagem. O tipo de estrutura influencia na escolha do algoritmo que será utilizado para solucionar um problema. E temos como uma das principais tarefas, especialmente nos dias passados, a busca por informações. Essas buscas são extremamente facilitadas caso as informações sejam ordenadas de tal forma que o buscador consiga identificar facilmente o que deseja encontrar ou como deseja que essas informações estejam dispostas (em casos numéricos, se essas informações estiverem ordenadas em ordem crescente ou decrescente, ou em um contexto textual, caso estejam organizadas por ordem alfabética, tópicos e etc.).
Com base neste texto, temos os algoritmos de ordenação. Um algoritmo de ordenação é um algoritmo feito de uma série de instruções que obtém um vetor como entrada, performam uma série de operações especificadas no vetor e apresenta como saída o vetor original. Tendo como intuito justamente mostrar informações de forma mais visualmente agradável e de fácil compreensão.
Dentro da ciência, são encontrados os mais diversos algoritmos de ordenação, dos mais aos menos complexos, com mais ou menos variantes de complexidade e velocidade de ordenação. Muitos destes datam do inicio da era da computação moderna, criados na década de 50, 60 ou 70. Citando alguns dos mais populares temos: Insertion sort, Selection sort, Bubble sort, Comb sort, Quick sort, Merge sort, Heap sort e Shell sort. Todos estes são algoritmos relativamente antigos, onde os criadores de alguns se basearam em outro desses métodos para a criação do seu próprio (por exemplo, o Comb Sort é considerado uma versão melhorada do Bubble Sort, e o Quick sort uma versão melhorada do merge Sort).
...