Предположим, что:
- у нас есть некоторое множество объектов, которые могут зависеть от других подобных им объектов (а те в свою очередь тоже и т.д.), а могут и не зависеть.
- И есть задача: выстроить все объекты в линию, так, чтобы те, от которых зависят шли раньше, чем зависящие от них (для независимых порядок не важен).
-- такую задачу нужно решать, например, если вам требуется расположить js файлы (теги, их загружающие) в нужном порядке.