[英]Finding specifig edges in a graph
我有一個無向圖,其中有一些節點和邊。
每個節點具有特定的顏色,每個邊緣具有特定的類型,這取決於它所連接的節點的顏色:
red-blue == blue-red
。 我的任務是編寫算法,該算法將查找所有“隔離的”邊緣。
當原始邊緣和與原始邊緣相同類型的下一條邊緣之間至少有2個邊緣距離時,將隔離一條邊緣。
最好的方法是什么? 很可能可以使用廣度/深度優先搜索來解決,但是我無法找出一種方法將它們與特定問題聯系起來
我很確定這行得通,不確定復雜性
For each node n:
For each edge (n, n2) e:
n.colors[edgeColor(e)] += 1
For each node n:
n.colors2 = n.colors.copy()
For each edge (n, n2) e:
n.colors2 = mergeSum(n.colors2, n2.colors)
For each edge (n, n2) e:
if n.colors2[edgeColor(e)] == 2 and n2.colors2[edgeColor(e)] == 2:
isolated edge
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.