1

我尝试使用迭代深度优先搜索来实现分支和绑定,但不知道什么是最好的数据结构表示?我想计算从根到离开的每个分支的权重。如果分支值超过 max_weight,则修剪分支,并回溯到相邻分支

下图显示了树的简单说明。

                                          0
                           /                             \
                          /                               \ 
                        1 (X1=1)                           0 (X1=0)
                  /                     \              /               \
                 /                       \            /                 \
               1 (X2=1)             0 (X2=0)        1(X2=1)            0(X2=0)  
        /               \          /
       /                 \        /
   1 (X3=1)          0 (X3=0)  1 (X3=1)

树从

root 0 -> 
node X1=1 -> 
node X2=1 -> 
node X3=1 (calculate branch value)->
node X3=0 (calculate branch value)-> 
node X2 = 0-> 
node X3=1 (calculate branch value)->
node X1=0 ->
node X2=1 (calculate branch value)
node X2=0 (calculate branch value)

我的问题是,节点和边缘的最佳表示(列表?字典?)是什么?

例如,下面的示例显示了具有每个节点的清晰表示的树的表示

graph = {'A':['B','C'],'B':['D','E'],'C':['D','E'],'D':['E'],'E':['A']}`

但在我的情况下,这种表示似乎是不合适的。有什么建议吗?

4

0 回答 0