Как найти все переменные, используемые в другом выражении, переменные прямо или косвенно в Java - PullRequest
0 голосов
/ 07 октября 2018

Если у меня есть некоторые переменные с выражениями, как показано ниже.И я хочу программно определить, какие из переменных выражений ссылаются прямо или косвенно.Как мне подойти к этой рекурсивной проблеме?

V1 = 1;

V2 = V1 + 6 * 5;

V3 = V2 + V4

V4= 5 + V5

V5 = 6

Здесь V2 напрямую зависит от V1, а V3 косвенно зависит от V1, V4, V5 не зависят от V1 прямо или косвенно.

1 Ответ

0 голосов
/ 07 октября 2018

Я бы сохранил всю эту информацию в

HashMap<Variable dependent,List<Variable dependee>>

Первый уровень на карте вернет все, от чего вы напрямую зависите.Рекурсивный вызов таблицы с переменными результатов, от которых вы напрямую зависите, даст вам косвенные отношения.При обходе дерева следите за циклами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...