サンプルプログラムのダウンロード
サンプルプログラムでは,ダイクストラ法を実装したエクセルファイルを用意しています.
こちらからダウンロードしてください.
エクセルでの実行方法
(画像クリックでちょっと拡大)
まずエクセルファイルを開いたら,「安全でない場所からダウンロードされた恐れがあります」みたいなことを訊かれるかと思いますが,心配せずに
「マクロの有効」ボタンを押してほしいと思います.
マクロを有効化したうえで,上の画像のような画面にならない場合は,画像左下の赤い丸で囲まれたところから
「canvas」というところをクリックしてシートを変更してください.
次に,
「Alt+F8」キーを入力するか,あるいは上部の
「開発」タブから
「マクロ」を選択してください.「開発」タブがない場合は,上のどこかのタブで右クリックし,「リボンのユーザー設定」を選択,出てきた画面の右半分の「メインタブ」の中に「開発」という部分があるはずなので,その横のチェックボックスにチェックを入れてください.タブが現れます.
上の手順で「マクロ」という画面が出てきたら,念のためまずは
「A_reset」というものを選択し,実行してください.
いま表示されているグラフは,有向グラフのつもりです.辺は,
青→緑の方向を向いていると考えてください.辺のすぐ横に書いてある数字が辺の重みです.
この辺の重みは自由に変更することが出来ます.最初の状態では,パワーポイントでの例と全く同じ状態になっています.また,1と書いてある頂点が始点です.
もう一度「マクロ」という画面を開いて,
「dijkstra」を選択して実行してください.ダイクストラ法により,始点からの最短距離とその経路が表示されます.
「dijkstra」を実行すると最短経路以外の辺は消えるので,もう一度辺を表示させるには,「A_reset」でリセットしてください.
また,
「Alt+F11」キーを入力するか,あるいは
「開発」タブから
「Visual Basic」を選択すると,VBAによるプログラムが表示されます.ぜひ自由に手を加えてプログラムの改良や別のアルゴリズムの実装など試してみてください.