1. 학습
  2. /
  3. 강의
  4. /
  5. Pythonで学ぶネットワーク分析入門

Connected

연습 문제

オープンな三角形を見つける

それでは、オープンな三角形を見つけていきましょう。これは友達推薦システムの基盤でしたね。「A」が「B」を知っていて、さらに「A」が「C」を知っているなら、「B」も「C」を知っている可能性が高い、という考え方です。

지침

100 XP
  • 2つのパラメータ G と n を取り、ノードが隣接ノードとのオープンな三角形に含まれるかを判定する関数 node_in_open_triangle() を作成します。
    • for ループでは、考えられるすべての三角関係の組み合わせを反復します。
    • ノード n1 と n2 の間にエッジが「ない」場合、in_open_triangle を True に設定し、if 文を抜けて in_open_triangle を返します。
  • この関数を使って、T に存在するオープンな三角形の数を数えます。
    • for ループでは、T のすべてのノードを反復します。
    • 現在のノード n がオープンな三角形に含まれていれば、num_open_triangles をインクリメントします。