Хм.
А ведь, наверное, можно просто изучать алгоритмы, а потом найти книгу типа "Алгоритмы и структуры данных в C", и не мучить себя потугами родить реализацию всего подряд.
Ну не понимаю я, как представить ациклический ориентированный граф в коде.