當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX reverse_cuthill_mckee_ordering用法及代碼示例


本文簡要介紹 networkx.utils.rcm.reverse_cuthill_mckee_ordering 的用法。

用法:

reverse_cuthill_mckee_ordering(G, heuristic=None)

生成圖節點的排序(排列)以製作稀疏矩陣。

使用反向Cuthill-McKee啟發式(基於廣度優先搜索)[1]。

參數

G圖形

NetworkX 圖

heuristic函數,可選

用於選擇 RCM 算法的起始節點的函數。如果 None 使用來自 pseudo-peripheral 對的節點。可以提供一個用戶定義的函數,它接受一個圖形對象並返回一個節點。

返回

nodes生成器

反向Cuthill-McKee 排序的節點生成器。

注意

帶寬減少的最佳解決方案是NP-complete [2]。

參考

1

E. Cuthill and J. McKee. Reducing the bandwidth of sparse symmetric matrices, In Proc. 24th Nat. Conf. ACM, pages 157-72, 1969. http://doi.acm.org/10.1145/800195.805928

2

Steven S. Skiena. 1997. The Algorithm Design Manual. Springer-Verlag New York, Inc., New York, NY, USA.

例子

>>> from networkx.utils import reverse_cuthill_mckee_ordering
>>> G = nx.path_graph(4)
>>> rcm = list(reverse_cuthill_mckee_ordering(G))
>>> A = nx.adjacency_matrix(G, nodelist=rcm)

作為啟發式函數的最小度數節點:

>>> def smallest_degree(G):
...     return min(G, key=G.degree)
>>> rcm = list(reverse_cuthill_mckee_ordering(G, heuristic=smallest_degree))

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.utils.rcm.reverse_cuthill_mckee_ordering。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。