O DESENVOLVIMENTO DE SISTEMA PARA ANÁLISE DA PERFORMANCE DE ALGORITMOS DE ORDENAÇÃO DE DADOS
Por: dancasaes • 20/11/2018 • Trabalho acadêmico • 6.511 Palavras (27 Páginas) • 186 Visualizações
UNIVERSIDADE PAULISTA
CIÊNCIAS DA COMPUTAÇÃO – 3º/4º SEMESTRE
DESENVOLVIMENTO DE SISTEMA PARA ANÁLISE DA PERFORMANCE DE ALGORITMOS DE ORDENAÇÃO DE DADOS
BUBBLE SORT, SELECT SORT E INSERTION SORT
DANILO CASAES DUARTE - N998DF1
DIEGO SILVA DOS SANTOS – C96DJJ7
LUCCAS DEL MASTRO GARCIA - C91EJB0
RODNEY CESAR SOARES – D143352
ÍNDICE
1. OBJETIVO DO TRABALHO
2. INTRODUÇÃO
3. REFERENCIAL TEÓRICO
3.1 BUBBLE SORT
3.2 SELECTION SORT
3.3 INSERTION SORT
4. DESENVOLVIMENTO
4.1 SELECTION SORT - FUNCIONAMENTO / ETAPAS
4.2 BUBBLE SORT - FUNCIONAMENTO / ETAPAS
4.3 INSERTION SORT - FUNCIONAMENTO / ETAPAS
4.4 COMPARATIVO ENTRE OS ALGORITMOS SELECIONADOS
5. RESULTADOS E DISCUSSÃO
5.1 Analise das técnicas individualmente
5.1.1 Analise do Bubble Sort
5.1.2 Analise do Selection Sort
5.1.3 Analise do Insertion Sort
5.1.4 Tabela de comparação entre as técnicas de ordenação
6. CONSIDERAÇÕES FINAIS
7. REFERÊNCIAS BIBLIOGRÁFICAS
8. CÓDIGO FONTE
9. FICHAS DE ATIVIDADES PRÁTICAS SUPERVISIONADAS
1. OBJETIVO DO TRABALHO
O trabalho tem como principal objetivo a inicialização de uma pesquisa relacionada às técnicas de ordenação de dados utilizando a linguagem de programação C, para fins de analisarmos o desenvolvimento de uma aplicação e como funciona seus métodos. Mostraremos três dos principais elementos do que diz respeito sobre ordenação e será abordado sobre a parte do seu referencial teórico.
Citar todos os resultados e discussão que levou o grupo a escolher essas três técnicas, dentro dos resultados mostrando a diferença de performance que ambos os elementos tem por sua estrutura.
Incluir dentro do trabalho toda a parte do desenvolvimento dessas estruturas, onde será descrito todos os estágios e processos que foram realizados, que por fim levará ao sistema de ordenação de dados. Implementar ambos os projetos dentro de um sistema que por sua vez terá a função do usuário escolher qual das técnicas que pretende iniciar naquela instancia.
Por fim, mostraremos novamente os resultados que obtivemos e apresentaremos de forma simples e objetiva as considerações finais, onde mostraremos o que nos levou a escolhermos essas três técnicas que abordamos durante todo o decorrer do trabalho.
2. INTRODUÇÃO
Com o avanço acelerado da tecnologia, milhares de informações que são processadas constantemente e instantaneamente, permitindo o uso simultâneo de dados armazenados em diversos sistemas e aplicações sendo necessários consultas, exclusões e inserções ou ate alterações em um curto espaço de tempo. Para alcançar essa eficiência e não gerar um atraso no processo de execução, à na manipulação de dados uma variedade considerada, onde algum dos seus fatores se tornam determinantes, que fazem a diferença em relação as técnicas utilizadas para a ordenação de dados, sejas elas simples ou complexas.
Todos sabem que o processo de ordenação de dados é muito utilizado na computação como uma forma de estruturar dados. Tendo em vista que após ser feita essa ordenação, os dados geram uma melhor performance de pesquisa. A ordenação se diz como basicamente o processo em que são encontrados elementos em uma forma de sequência de informações, considerados que são vistos em uma ordem predefinida. Ordenação se diz como um nome literal ao um termo técnico onde todos conhecem como sorting, cuja sua tradução literal é “classificação”.
Dentro do processo da montagem do ambiente de ordenação de dados, antes é desenvolvido um elemento de extrema importância que é conhecido como algoritmo. Tem o propósito de conceder uma solução e uma linha de raciocínio lógico onde o programa é desenvolvido em uma linguagem padrão que pode ser implementado em quaisquer linguagens de programações. Algoritmos descrevem dentro desse processo de raciocínio logico, um passo a passo dos procedimentos para chegar nessa solução do problema. Existem algumas formas diferentes para resolução de um problema utilizando algoritmos, porém em primeira instancia a que nos interessa é apenas sobre algoritmos de ordenação.
Os mais populares algoritmos de ordenação são: Insertion sort, Selection sort, Bubble sort, Comb sort, Quick sort, Merge sort, Heap sort e Shell sort. Porém dentro desses mais conhecidos entraremos em mais detalhes em apenas três deles. Bubble Sort, Insertion Sort e Selection Sort, três das técnicas que serão abordadas.
Dando uma breve introdução sobre os diferentes tipos de sorting, o Bubble Sort é considerado o algoritmo de maior simplicidade, o menos eficiente e é caracterizado como ordenação por bolha. O Selection Sort que dentro do seu método tem como principal ideal passar o menor valor sempre para a primeira posição e se caracteriza por ordenação por seleção. E por fim, o Insertion Sort, considerado também um algoritmo simples porém mais eficiente quando aplicado em pequenas listas, tem o ideal de percorres as posições do vetor começando com o índice de menor valor e nele é conhecido como ordenação por inserção.
Por fim, a análise de desempenho dos algoritmos de ordenação de dados é objeto de estudos de muitos órgãos, instituições acadêmicas e pesquisadores de todas as partes do mundo. Resultados desses estudos geram uma afirmação de que cada aplicação precisa especificamente de um tipo de ordenação mais
...