% 6個のノードから成るグラフ

nodenames = {'A', 'B', 'C', 'D', 'E', 'F'};

snode = [ 1, 1, 2, 2, 3, 3, 3, 4, 5 ];
tnode = [ 2, 3, 3, 4, 4, 5, 6, 6, 6 ];
dist  = [ 2, 8, 5, 1, 3, 2, 1, 1, 2 ];
g = graph(snode,tnode,dist,nodenames);

plot(g);
fprintf("グラフ\n");
fprintf("一時停止：何かのキーを押してください\n");
pause;

plot(g, 'EdgeLabel', g.Edges.Weight);
fprintf("グラフ（エッジに距離）\n");
fprintf("一時停止：何かのキーを押してください\n");
pause;

path = shortestpath(g,'A','F');
fprintf("最短経路（ノードAからノードF）\n");
path

tree = shortestpathtree(g,'A');
plot(tree, 'EdgeLabel', tree.Edges.Weight);
fprintf("最短経路木（ノードAから）\n");
fprintf("一時停止：何かのキーを押してください\n");
pause;
