java - 从值的 ArrayList 构建 boolean 逻辑树

标签 java algorithm arraylist data-structures tree

[[{key:'categoryL2',value:'Screws'}, {key:'categoryL2',value:'Bolts'}], [{key:'categoryL3' : 'Nuts'}]

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

如果 categoryL2 是 Screws AND Bolts 或 categoryL3 是 Nuts,则返回 true。

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

示例结构:

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

我认为可行的与或树解决方案草图:

and-or tree solution

最佳答案

与或树解决方案草图:

and-or tree solution

实现知道包括反向引用,这将帮助您从任何子节点识别父节点

关于java - 从值的 ArrayList 构建 boolean 逻辑树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903656/

相关文章:

java - eclipse : How to terminate all applications at once?

algorithm - 如何创建与其他集合不同的集合?

algorithm - 在什么情况下,[0,1) 上生成的随机数与 [0,1] 上生成的随机数之间的差异会产生影响?

python - 文本生成算法

java - 如何从 SQLite 检索整数数据并将其显示在 TextView 中?

java - Hibernate validator 中的国际化

java - 如何循环遍历字符串ArrayList并为字符串ArrayList中的每个单词创建临时字符数组

java - Spring Batch 生成的项目列表的 Bean ID

java - 如何获得正确的输入来获取 ArrayList 的索引?

java - 线性布局使用权重来适应屏幕尺寸