Implementação em Java do algoritmo de ordenação topológica utilizando listas de adjacência dinâmicas (algoritmo de Kahn).
Main.java: Ponto de entrada. Controla a execução baseada em arquivo e a análise de desempenho.OrdenacaoTopologica.java: Lógica central. Implementa a estrutura de dados customizada (Elopara vértices eEloSucpara arestas) e a ordenação.GeradorGrafo.java: Utilitário para gerar Grafos Acíclicos Direcionados (DAGs) aleatórios para os testes de estresse.entrada.txt: Arquivo de dados de exemplo. Cada linha define uma relação de dependência (ex:1 < 2).
-
Compile o projeto:
javac src/*.java -
Execute a classe principal na raiz do projeto (onde está o
entrada.txt):java -cp src Main
Ao ser executado, o programa realiza duas etapas automaticamente:
- Debug (Arquivo): Lê o arquivo
entrada.txt, constrói a lista de adjacência e exibe a ordenação topológica no console. - Benchmark: Executa testes automatizados de desempenho escalonando grafos de 10 até 100.000 vértices, imprimindo o tempo de execução (em nanosegundos/milissegundos).