|
|
ParfenRogozhin |
Орграф, поиск вершины в которой сходятся пути 01.04.2024, 18:58 |
|
08/07/19 2
|
Последний раз редактировалось ParfenRogozhin 01.04.2024, 19:02, всего редактировалось 1 раз.
Всем привет.
Nested(V) - множество всех вершин достижимых из V.
Имеется ориентированный граф с циклами, для выбранной вершины A, необходимо найти ближайшую к ней вершину B такую, что любой путь из A в Nested(B) обязательно проходит через B.
Задача несколько похожа на поиск шарнира в графе, отличие в том, что в нашем случае шарнир подразумевается только относительно путей из A в Nested(B), обратные пути из Nested(B) в A не обязаны проходить через B.
Ищется линейное решение основанное на поиске в ширину, так как подразумевается, что графы могут быть достаточно большие, но их структура такова, что B очень часто находится рядом с А.
Бэкграунд: Граф является потоком управления некоторого байткода, данная процедура призвана помочь в поиске границ синтаксических конструкций (if, while) и их восстановлении. Синтаксические конструкции обычно имеют одну точку входа(А) и одну точку выхода(В).
Спасибо за помощь!
|
|
|
|
|
|
Страница 1 из 1
|
[ 1 сообщение ] |
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы