ビデオ: データ構造とアルゴリズム #01 アルゴリズムを学ぶにはC言語が必須だ | PythonやJavaではダメな理由 2024
グラフはアルゴリズムで使用される一般的なデータ構造の形式です。あなたは、GPSのための地図のような場所や、木構造のトップダウンのアプローチがうまくいかない場所で使用されるグラフを見ることができます。
グラフはツリー拡張の一種です。ツリーと同様に、ノードには互いに接続して関係を作成します。ただし、バイナリツリーとは異なり、グラフには1つ以上の接続があります。実際、グラフノードには多くの場合、多数の接続があります。しかし、物事を単純に保つためには、グラフを見てください。
<! - 1 - > グラフノードは、無数の方法で互いに接続できます。この場合、グラフはAがBとFの両方に接続するリングを作成しますが、そのようにする必要はありません。 Aは切断されたノードでも、Cにも接続できます。グラフは複雑な関係を定義するのに便利な方法でノード間の接続性を示します。
<! - 2 - >グラフには、これまで考えなかったかもしれないいくつかの新しいねじれが追加されています。例えば、グラフは方向性の概念を含むことができる。親子関係を持つツリーとは異なり、グラフノードは特定の方向を念頭に置いて他のノードに接続できます。都市の通りについて考える。ほとんどの通りは双方向ですが、一方向の移動は片道だけです。
<! - 3 - >グラフ接続の表示は実際にグラフの現実を反映しないかもしれません。グラフは、特定の接続に対する重みを指定できます。ウェイトは、2つのポイント間の距離を定義し、ルートを通過するのに必要な時間を定義したり、他の種類の情報を提供することができます。