使用Python生成树的成本

时间:2012-06-26 14:18:48

标签: python graph tree

最近,我尝试在C ++中从图形边缘生成树,但如果条件或循环导致过多。我把注意力转向python,它似乎是用最少量的复杂代码生成树。我是python的新手,这就是我寻求帮助的原因。类似的问题已在论坛上发布,但它们没有解决我试图解决的同样问题。所以问题是我有一些图形边缘,如1 ----> 2,成本为10; 1 ---> 3,成本为20等。现在,如果'1'是根节点,我想生成多个可能的树及其成本。我猜我的代码看起来像;

class Edge:
    def __init__(v1, v2, v3):
        self.v1 = v1
        self.v2 = v2
        self.v3 = v3
graph = [Edge(1, 2, 10), Edge(2, 4, 20)] 

这是我应该回来的;

map = {}
map[1] = [Edge(1, 2)] Cost: 10
map[2] = [Edge(1, 2), Edge(2, 4)] Cost: 30

如果2是根节点;

map = {}
map[1] = [Edge(2, 4)] Cost: 20

如果有人可以帮我解决这个问题,过去5天我一直坚持这个问题并且似乎无法找到解决方案。虽然,我查看了networkx模块,但不知道如何使用他们的API。 :(

编辑:总结一下,给定森林,我如何生成多个独特的“树”?

0 个答案:

没有答案