VBA 使えるソースコード

つたないソースコードを載せます。これは、他人の書いたソースコードを読む練習に最適です。初心者の方は、どうしたらきれいになるかなど考えながら活用してください。

Python 有向グラフとダイクストラ法

感覚を身に付けよう

# -*- coding: utf-8 -*-

import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()#空の有向グラフのインスタンスの作成

G.add_node('a')#ノードの追加
G.add_node('b')
G.add_node('c')
G.add_node('d')
G.add_node('e')
G.add_node('f')
G.add_node('g')
G.add_edge('a','b',weight=3)#枝と重みの追加
G.add_edge('a','c',weight=4)
G.add_edge('a','d',weight=7)
G.add_edge('b','e',weight=6)
G.add_edge('c','e',weight=2)
G.add_edge('c','f',weight=5)
G.add_edge('d','b',weight=3)
G.add_edge('d','g',weight=3)
G.add_edge('e','f',weight=2)

#aからgへの最短路をダイクストラ法で求める
print(nx.dijkstra_path(G,'a','g'))

#aからほかのノードへの最短路をダイクストラ法のよって求める
print(nx.single_source_dijkstra_path(G,'a'))

nx.draw_circular(G,with_labels=True,node_color='y')

plt.show()