Post on 18-Apr-2015
Simulador de Algoritmos Simulador de Algoritmos de Ordenaçãode Ordenação
Bruno Guedes e Matheus Proença
PropostaProposta
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 AnalisadosAlgoritmos Analisados
Algoritmos de ordem O(n²)
• Bubble Sort• Selection Sort• Insertion Sort
Algoritmos AnalisadosAlgoritmos Analisados
Algoritmos de ordem O(n lg n)
• Heap Sort• Merge Sort• Quick Sort
Algoritmos AnalisadosAlgoritmos Analisados
Algoritmos de ordem O(n) – ordem linear
• Counting Sort• Radix Sort
Modos de ExibiçãoModos 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çãoImplementação
Linguagem Java.
Interface Gráfica java.awt e javax.swing, codificadas com o auxílio do NetBeans.
Gráficos implementados com o auxílio da biblioteca JFreeChart (www.jfree.org/jfreechart).
Primeira área de INF01124 aplicada.
Modos de OperaçãoModos de Operação1. 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çãoModos de Operação1. 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çãoModos de Operação1. 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