答案 0 :(得分:1)
您是否正在寻找开箱即用的内容或有关如何自己实现此功能的算法思路?我可以为您提供帮助。
您想要做的事情称为contraction个顶点,这些顶点具有2
个邻居,即度数2
。
要实现此目的,请执行以下操作:
while exists vertex v with degree 2:
- remove v and the 2 outgoing edges
- add a new edge between the neighbours of v
- the weight of the new edge is the sum of the weights of the deleted edge
也就是说,如果您具有图形的以下部分:
u ---2--- v ---5--- w
并应用收缩,您最终得到u ---7--- w
。
只需反复执行此操作,直到没有顶点和度2
为止,就会将第一张图片中的图形转换为第二张图片中的图形。
确切的实现细节当然取决于您使用哪种数据结构在Python(或使用的任何其他语言)中表示图形。