2

たとえば、親の前に子供を順番に、または後から訪問することには、どのような意味がありますか? inorder、preorder、postorder トラバーサルは、ツリーを表す方法にすぎないことを理解しています。私は正しいですか?

4

2 に答える 2

1

インオーダー、ポストオーダー、プリオーダーは、ツリーを表す方法ではなく、ツリーをトラバースする方法です。興味深いのは、あるトラバーサルを別のトラバーサルよりも選択する理由です。

事前順序トラバーサルは、ノードとエッジを複製してバイナリ ツリーの完全な複製を作成するのに非常に役立ちます。また、(式ツリーから) 前置式を作成する場合にも役立ちます。

ノードと値の削除中にポストオーダー トラバーサルを使用すると、バイナリ ツリー全体を削除できます。同様に、バイナリ ツリーの後置表現を生成することもできます。

最後に、インオーダー トラバーサルは、基になるセットから順番に値を返すため、二分探索ツリーに役立ちます。

于 2018-11-29T05:14:42.147 に答える
0

Pre-orderIn-orderPost-orderは、ツリーをトラバースする3 つの方法です。上記の 3 種類のトラバーサルは、 Depth Firstトラバーサルに属します。

以下の写真を例に取ります。

ここに画像の説明を入力

Depth First Pre-orderは 、Node -> Left_Child -> Right-Child規則に従います。これを現在の例で使用すると、次のようになります。

A、B、D、E、C

Depth First In-Orderトラバーサルは、Left -Child -> Node -> Right-Child規則に従います。次のようになります。

D、B、E、A、C

Depth First Post-Orderトラバーサルは、Left -Node -> Right-Node -> Node規則に従います。それがどのように見えるかです:

D、E、B、C、A

Breadth First Level-Orderトラバーサルは、ルート ノードから開始し、ツリーの各レベルを下ってノードを左から右に読み取るトラバーサルです。次のようになります。

A、B、C、D、E

于 2020-12-01T09:47:45.947 に答える