Simulador de Algoritmos de Ordenao Bruno Guedes e
Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença
Proposta Programa simulador de situações com algoritmos de ordenação. Análise e Visualização Gráfica dos Seguintes Atributos: • Tempo de Execução • Número de Comparações • Número de Trocas
Algoritmos Analisados Algoritmos de ordem O(n²) • Bubble Sort • Selection Sort • Insertion Sort
Algoritmos Analisados Algoritmos de ordem O(n lg n) • Heap Sort • Merge Sort • Quick Sort
Algoritmos Analisados Algoritmos de ordem O(n) – ordem linear • Counting Sort • Radix Sort
Modos de Exibição Para cada algoritmo, temos três dados distintos: • Número de chaves vs tempo; • Número de chaves vs número de comparações; • Número de chaves vs número de trocas; Obs. : Para o cálculo do tempo, variações consideráveis ocorrem devido a condições externas ao algoritmo. Portanto, o programa não calcula o tempo diretamente, e sim uma grandeza proporcional ao número de trocas + número de comparações.
Implementação Linguagem Java. Interface Gráfica java. awt e javax. swing, codificadas com o auxílio do Net. Beans. Gráficos implementados com o auxílio da biblioteca JFree. Chart (www. jfree. org/jfreechart). Primeira área de INF 01124 aplicada.
Modos de Operação 1. Análise de Ordenação Seleciona até quatro algoritmos, e exibe seus gráficos para um certo número de chaves. Exibe também os gráficos das curvas ideais n², n lg n e n. Permite a escolha do eixo vertical do gráfico (tempo, trocas ou comparações) Permite a escolha da quantidade de chaves, e do valor máximo das mesmas (inteiros!).
Modos de Operação 1. Análise de Ordenação Resolução: Número de pontos a serem calculados. Maior resolução acarreta em gráfico mais preciso e em maior tempo de execução (pode ser grande demais!). Constante: Para os gráficos ideais. Compressão ou expansão vertical do mesmo, para tornar possível a verificação da aproximação de um algoritmo e de sua complexidade.
Modos de Operação 1. Relatório Análise mais detalhada (e massiva) sobre os algoritmos. Saída em texto. Aqui, o tempo é realmente o tempo (não é mais a variável proporcional a troca+comparação). Tempo total de execução, dependendo do algoritmo, pode ser muito grande.
Material disponível em www. inf. ufrgs. br/~bsguedes/simulador Non Multa Sed Multum
- Slides: 11