从值的 ArrayList 构建布尔逻辑树
Building a Boolean Logic Tree from an ArrayList of values
[[{key:'categoryL2',value:'Screws'},
{key:'categoryL2',value:'Bolts'}], [{key:'categoryL3' : 'Nuts'}]
这表示为 List<List<Key,Value>>
,逻辑上为:
如果类别 L2 是螺钉和螺栓或类别 L3 是螺母 return 正确。
有没有办法在可以遍历的布尔逻辑树中正确表示它?
示例结构:
[
OR :
[
AND :
{"key":"categoryL2","value":"Screws"},
{"key":"categoryL2","value":"Bolts"},
{"key":"categoryL2","value":"Wires"}
],
[
{"key":"categoryL3","value":"Nuts"}
],
[
{"key":"categoryL4"}
]
]
我认为可行的与或树解决方案草图:
与或树解决方案草图:
实施知道包括反向引用,这将帮助您从任何子节点识别父节点
[[{key:'categoryL2',value:'Screws'}, {key:'categoryL2',value:'Bolts'}], [{key:'categoryL3' : 'Nuts'}]
这表示为 List<List<Key,Value>>
,逻辑上为:
如果类别 L2 是螺钉和螺栓或类别 L3 是螺母 return 正确。
有没有办法在可以遍历的布尔逻辑树中正确表示它?
示例结构:
[
OR :
[
AND :
{"key":"categoryL2","value":"Screws"},
{"key":"categoryL2","value":"Bolts"},
{"key":"categoryL2","value":"Wires"}
],
[
{"key":"categoryL3","value":"Nuts"}
],
[
{"key":"categoryL4"}
]
]
我认为可行的与或树解决方案草图:
与或树解决方案草图:
实施知道包括反向引用,这将帮助您从任何子节点识别父节点