我正在使用Yed绘制一些图形,如下图所示。有没有办法可以使用python计算这些深度优先探索? 我希望算法能够协调他旅行过的边缘以及他访问过的节点。
示例图:
编辑: 我想用这种方法记录体育比赛中人们的动作。首先,你从一个基础/ Root开始,然后你可以运行或跳转(c或d)。跑步带你到第2点,跳到第5点。 我需要的结果是:
1. root, ([c,2] ,[b,3]), Descript_3
2. root, ([c,2] ,[a,4]), Descript_4
3. root, ([c,2] ,[b,2], [a,4]), Descript_4
...
我只是使用了yed,所以我可以使用图形界面。如果纯蟒蛇有更好的东西,我全力以赴。但是现在让我们坚持下去。我可以获得节点的其他属性吗?
编辑: 由于我不能让这件事为我自己工作,我正在为一个示例程序设置一个赏金。示例程序应执行以下操作:
1. Parse the graphml-File and build up the tree
2. Compute all Roundtrip-Path with Node-Coverage
3. write all paths into a table: Name of the node, Text on the arrow
从那里我可以自己解决剩下的问题。如果它是通过使用图书馆完成的,那也很酷,但我需要能够自己扩展它。我也可以让它能够处理图形,而不是树木。
答案 0 :(得分:3)
您可以使用networkx模块(需要安装pip install networkx
)。该模块是一个功能强大的库,用于处理图形。它可以读取生成的graphml格式,并具有遍历图形的算法。看一下它的文档:networkx