Skip to content

建立 2026-09-14 更新 2026-09-14

圖產生器

不必每次手刻節點。NetworkX 內建經典圖與隨機模型,適合當教材、基準測試,或當還沒有真實資料時的替代品。

確定性的小圖

import networkx as nx

P = nx.path_graph(5)          # 0—1—2—3—4
C = nx.cycle_graph(6)         # 六邊形
K = nx.complete_graph(4)      # 每對節點都有邊
S = nx.star_graph(5)          # 中心 0 連到 1..5
G = nx.karate_club_graph()    # Zachary 空手道社,社群偵測經典資料

path_graphcycle_graph 這類函式回傳的是已經建好的 Graph,可直接拿去畫或跑演算法。

三個常用隨機模型

模型 函式 在模擬什麼
Erdős–Rényi erdos_renyi_graph(n, p) 每對節點以機率 p 連邊
Watts–Strogatz watts_strogatz_graph(n, k, p) 小世界:高群聚、短路徑
Barabási–Albert barabasi_albert_graph(n, m) 無尺度:少數樞紐度很大
ER = nx.erdos_renyi_graph(20, 0.15, seed=1)
WS = nx.watts_strogatz_graph(20, 4, 0.3, seed=1)
BA = nx.barabasi_albert_graph(20, 2, seed=1)

seed= 能讓結果可重現。教學與測試請固定種子。

何時該用產生器

  • 講解演算法時,小的 path_graph / karate_club_graph 比真實大圖清楚。
  • 比較「隨機 vs 小世界 vs 無尺度」的度分布、平均路徑時,用上面三個模型。
  • 真實專案仍應讀自己的資料,見 讀寫檔案