Python中深度优先搜索特定树的数据结构表示

2024-04-24 03:02:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用迭代深度优先搜索实现分支定界,但是不知道什么是最好的数据结构表示?我想计算从根到离开的每个分支的权重。如果分支值超过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)

树从

^{pr2}$

我的问题是,什么是最好的代表(列表?字典?)对于节点和边缘?在

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

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

但在我看来,这样的陈述是不恰当的。有什么建议吗?在


Tags: 示例数据结构列表字典节点分支代表max