2016-03-09 53 views
0

想象一下,您有一組節點(1 2 3),並且這些節點通過弧(1,2),( 1,3)和(2,3)。一起代表一個網絡。如何基於「從」和「到」弧數據創建一組相鄰節點

如何創建包含所有相鄰節點的節點子集?即我wan't以下子集是這樣的:

NeighborNode 
1 2 3 
2 1 3 
3 1 2 

這Python代碼是遙遠,但也許你的想法:

def NNode_rule(model,i): 
for i in model.Nodes: 
    model.NNodes[i].add(model.ToNode[i]) if model.Nodes[i]==model.FromNode[i] 
model.NNodes = Set(model.Nodes, initialize=NNode_rule) 

回答

0

你知道面向對象編程是什麼?

我認爲最簡單的解決方案是創建一個簡單的類(例如節點)具有屬性鄰居,這是其他節點的列表。

您還需要添加兩個節點,這樣的事情之間的邊緣的方法:

def add_edge(self, other_node): 
    self.neighbors.append(other_node) 
    other_node.neighbors.append(self) 

然後每個節點擁有它有它的鄰居的信息。

希望這有助於;)

相關問題