[英]Algorithm to simplify/reduce graph
您是否正在尋找開箱即用的東西或關於如何自己實現此算法的想法? 我可以為您提供幫助。
您要執行的操作稱為頂點收縮 ,該頂點具有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(或使用的任何其他語言)表示圖形。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.