グラフ#グラフ#


グラフとは?


頂点と頂点を結ぶ幹線からなる非線形資料構造.
頂点セットや幹線セットとして表現でき、主に人物関係図、地下鉄路線図、ページランキングなどに用いられる.

特長

  • 頂点には複数の幹線があります.
  • は、方向図と無方向図に大きく分けることができる.
  • 幹線を重み付けすることができます.
  • サイクルが発生する可能性があります.
  • 幹線方向性分類


    方向図



    幹線には方向のグラフがあり,は異なる幹線である.

    むきず



    幹線で接続された頂点間は双方向に移動可能であり、(A,B)と(B,A)は同じ幹線で扱われる.

    図形の接続状態によって分類する


    接続図



    すべての頂点のグラフに移動できます.

    非接続グラフィック



    特定の頂点に存在しない幹線のグラフィック

    完全なグラフィック



    すべての頂点間で接続されたグラフィック

    サイクル



    図形の頂点と直線のサブセットの間を循環する図形.

    Javascriptでの実装


    主に隣接マトリクス方式または隣接リスト方式で体現される.
    // 노드가 5일경우
    
    //인접행렬 방식
    const graph = Array.from(Array(5), () => Array(5).fill(false));
    graph[0][1] = true;
    graph[1][1] = true;
    graph[1][3] = true;
    graph[3][1] = true;
    
    console.log(graph);
    
    //인접리스트 방식
    const graph2 = Array.from(Array(5), () => []);
    
    graph2[0].push(3);
    graph2[1].push(5);
    
    console.log(graph2);