从值的ArrayList构建布尔逻辑树

时间:2015-03-06 16:53:02

标签: java algorithm arraylist data-structures tree

  

[[{键:' categoryL2',值:'螺丝'},   {key:' categoryL2',value:' Bolts'}],[{key:' categoryL3' :'坚果'}]

这表示为List<List<Key,Value>>,逻辑上为:

如果categoryL2是Screws和Bolts OR categoryL3,则Nuts返回true。

有没有办法在可以遍历的布尔逻辑树中正确表示?

样本结构:

[
    OR :
        [
            AND : 
                {"key":"categoryL2","value":"Screws"},
                {"key":"categoryL2","value":"Bolts"},
                {"key":"categoryL2","value":"Wires"}
        ],
        [
            {"key":"categoryL3","value":"Nuts"}
        ],
        [
            {"key":"categoryL4"}
        ]   
]

我认为可以使用和/或树解决方案的草图:

and-or tree solution

1 个答案:

答案 0 :(得分:0)

和/或树解决方案的草图:

and-or tree solution

实现知道包含后向引用,它将帮助您从任何子节点中识别父级