如果我有一些带有如下表达式的变量。我想以编程方式确定直接或间接引用哪个变量表达式。如何解决此递归问题?
V1 = 1;
V2 = V1 + 6 * 5;
V3 = V2 + V4
V4 = 5 + V5
V5 = 6
这里V2直接依赖于V1,而V3间接依赖于V1,V4,V5不直接/间接依赖于V1。
答案 0 :(得分:3)
我会将所有信息存储在
中HashMap<Variable dependent,List<Variable dependee>>
进入地图的第一级将返回您直接依赖的所有内容。用您直接依赖的结果变量递归调用表将为您提供间接关系。遍历树时要小心循环。