Python 模擬試験

Pythonデータ分析実践 模擬試験 第2回 問38・9章 グラフデータの処理(NetworkX)

重み付きグラフの最短経路

次のコードを実行したときの出力として、正しいものを1つ選べ。

import networkx as nx
G = nx.Graph()
G.add_edge(1, 2, weight=1)
G.add_edge(2, 3, weight=1)
G.add_edge(1, 3, weight=5)
print(nx.shortest_path(G, 1, 3, weight="weight"), nx.shortest_path_length(G, 1, 3, weight="weight"))
  1. A

    [1, 3] 5

  2. B

    [1, 2, 3] 1

  3. C

    [1, 3] 1

  4. D

    [1, 2, 3] 2

正解と解説を見る

正解:D

weight を指定すると、辺の重みの合計が最小の経路を求める。指定しないと、辺の数が最小の経路。

順実行する行実行後の変数
1`import networkx as nx`—
2`G = nx.Graph()`—
3`G.add_edge(1, 2, weight=1)`—
4`G.add_edge(2, 3, weight=1)`—
5`G.add_edge(1, 3, weight=5)`—
6`print(nx.shortest_path(G, 1, 3, weight="weigh…`—
結果実際の出力[1, 2, 3] 2

学習のポイント:道路網の距離や時間の分析に使う。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。