11
Simulador de Simulador de Algoritmos de Algoritmos de Ordenação Ordenação Bruno Guedes e Matheus Proença

Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

Embed Size (px)

Citation preview

Page 1: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

Simulador de Algoritmos Simulador de Algoritmos de Ordenaçãode Ordenação

Bruno Guedes e Matheus Proença

Page 2: Simulador de Algoritmos de 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

Page 3: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

Algoritmos AnalisadosAlgoritmos Analisados

Algoritmos de ordem O(n²)

• Bubble Sort• Selection Sort• Insertion Sort

Page 4: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

Algoritmos AnalisadosAlgoritmos Analisados

Algoritmos de ordem O(n lg n)

• Heap Sort• Merge Sort• Quick Sort

Page 5: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

Algoritmos AnalisadosAlgoritmos Analisados

Algoritmos de ordem O(n) – ordem linear

• Counting Sort• Radix Sort

Page 6: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

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.

Page 7: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

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.

Page 8: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

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!).

Page 9: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

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.

Page 10: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

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.

Page 11: Simulador de Algoritmos de Ordenação Bruno Guedes e Matheus Proença

Material disponível em www.inf.ufrgs.br/~bsguedes/simulador

Non Multa Sed Multum