Como um exemplo motivador, considere um conjunto de cinco cursos obrigatórios { C1, C2, C3 , C4, C5} um aluno de meio período precisa fazer algum programa de graduação. Os cursos podem ser tomados em qualquer ordem, desde que os seguintes pré requisitos sejam atendidos: C1 e C2 não tem pré requisitos, C3 reque C1 e C2, C4 requer C3 e C5 C3 e C4. O aluno pode fazer apenas um curso por período, Em que ordem ele deve fazer os cursos ?
A situação pode ser modelada por um dígrafo em que os vértices representam cursos e as bordas direcionadas indicam os requisitos de pré-requisito. Em termos de neste dígrafo, a questão é se podemos listar seus vértices em uma ordem que para cada aresta do gráfico, o vértice onde a aresta começa é listado antes do vértice onde termina a aresta. Esse problema é chamado de classificação topológica.
Pode ser colocado para um dígrafo arbitrário, mas é fácil ver que o problema não pode ter uma solução se um dígrafo tem um ciclo direcionado. Assim, para que a classificação topológica seja possível, um dígrafo em questão deve ser um dag. Acontece que ser um dag não é apenas necessário mas também suficiente para que a classificação topológica seja possível; ou seja, se um dígrafo não tem ciclos dirigidos, o problema de classificação topológica para isso tem uma solução. Além disso, existem dois algoritmos eficientes que verificam se um dígrafo é um dag e, se for, produz uma ordenação de vértices que resolve a ordenação topológica.