トラバーサルアルゴリズムは、コンピュータサイエンスの樹木やグラフを探索するのに不可欠です。それらは、構造を検索、ソート、または分析などの操作を実行するように、系統的にすべてのノードを訪問するのに役立ちます。このガイドは、一般的なトラバーサル方法のステップバイステップの概要を計算例に提供します。

ツリートラバーサルアルゴリズム

ツリーの横断アルゴリズムは、特定の順序でノードを訪問します。最も一般的な方法は、順番順調で、注文直後のトロールです。それぞれが異なる目的を果たし、ユニークな訪問順序に従います。

注文取引

注文取引のトラバースは、左サブツリー、現在のノード、右サブツリーを訪問します。 バイナリ検索ツリーからソートされた順序でデータを検索するために頻繁に使用されます。

例: ノード4、2、5、1、3のバイナリツリーの場合、 注文取引のシーケンスは1、2、3、4、5です。

事前注文トラバーサー

先行注文取引は、最初の現在のノードにアクセスし、左サブツリーが右サブツリーに続いています。ツリーをコピーしたり、プレフィックス式を作成したりするのに便利です。

例:同じツリーを使うと、前行列は4, 2, 1, 3, 5.

ポストオーダートラバーサー

後方横断面は左サブツリー、右サブツリー、そして現在のノードを訪問します。 ツリーの削除やポストフィックス式の評価に使用されます。

例:同じツリーの場合、後順列は1、3、2、5、4です。

グラフのトラバーサルアルゴリズム

グラフの横断アルゴリズムは、グラフ内のノードを探索します。 2つの主な方法は、BFSとDepth-First Search(DFS)です。 ネットワーク解析、パスファインディングなどで使用されます。

バースファースト検索(BFS)

BFSは、ソースノードから始まる、レベル別に隣接するレベルを探索します。 これにより、次のノードを追跡して次のノードにアクセスすることができます。

例: ノードAからグラフで、BFSは、A、B、C、D、E、それぞれ、その近接に基づいてノードを訪問します。

深度ファースト検索(DFS)

DFSは、バックトラックの前に各ブランチに沿って可能な限り探索します。 スタックまたは再帰を使用して、横断的な管理を行います。

例:A、B、D、E、C の順にノードをアクセスする場合があります。