0
鑑於鄰接矩陣和頂點我們如何能夠在置換蟒圖的一個新的排序?這個任務有沒有圖書館?無向圖重新排序頂點
鑑於鄰接矩陣和頂點我們如何能夠在置換蟒圖的一個新的排序?這個任務有沒有圖書館?無向圖重新排序頂點
您只需用手構建新的鄰接矩陣。 old
是舊鄰接矩陣,和perm
是,對於每個新頂點存儲舊的名稱,即,如果頂點j
移動到頂點i
然後perm[i] == j
的載體。
import numpy as np
def rearrange(old, perm):
n = old.shape[0]
new = np.zeros_like(old)
for x in xrange(n):
for y in xrange(x+1): # only need to traverse half the matrix
# the matrix is symmetric (because of undirectedness)
new[y, x] = new[x, y] = old[perm[x], perm[y]]
return new
(請注意,我假設你正在存儲您的鄰接矩陣作爲一個n
× n
numpy的陣列密集矩陣。此外,爲Python 3.x中,xrange
應該是range
。)
可能重複[Python的圖形庫(http://stackoverflow.com/questions/606516/python-graph-library) – talonmies