簡體   English   中英

查找圖中的指定邊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM