Нужен алгоритм топологической сортировки подграфа ориентированного графа.
Неформально, задача стоит такая:
Есть большой ориентированный(циклов нет) граф, скажем, граф зависимостей между ячейками в табличном процессоре.
Некая ячейка изменяет состояние. Необходимо построить список всех ячеек, от нее зависящих, и последовательно применить правила преобразования данных, согласно формулам, заданным в ячейках.
Граф может быть очень большим, поэтому затрагивать его весь крайне нежелательно - старые значения ячеек кешируются, не нужно перевычислять внешние, по отношению к подграфу, зависимости.
Также, очень нежелателен рекурсивный алгоритм - сам подграф тоже может быть достаточно большим, и рекурсия может вызвать переполнение стека.
Это нужно для моего нового dataflow фреймворка для Common Lisp.
Вот часть исходников: http://paste.lisp.org/display/119136
Пример: http://paste.lisp.org/display/119137
То что там сейчас это non-solution, потому что ячейки в выбранном списке повторяются, так как та вариация алгоритма сортировки не учитывает «стоки» в ячейку.
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от AIv
Ответ на:
комментарий
от Doug
Ответ на:
комментарий
от Doug
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум топологическая сортировка, сборка пакетов (2017)
- Форум Алгоритм топологической сортировки для циклических ориентированных графов (2010)
- Форум graphviz и подграфы (2008)
- Форум поиск подграфа в графе (2010)
- Форум Задача о подграф изоморфизме (2010)
- Форум Максимальный вполне несвязный подграф (2015)
- Форум подграф в графе, стадия 2 (2010)
- Форум Не отображаются метки ребер в подграфе (2012)
- Форум Сортировка тегов (2015)
- Форум Скрипт сортировки. (2014)