関連する概念
なんらかの方法でバイナリツリーをトラバースした結果は、ノードの線形シーケンスです。
空のチェーンドメインを変更して、ノードを指す先行ノードと後続ノードのアドレスを格納します。
手がかり:バイナリリスト内のnullポインターフィールドの「先行ノード」と「後続ノード」を参照するポインターはスレッドと呼ばれます。
スレッド化:バイナリリスト内のノードの空のチェーンフィールドにその先行ノードを格納しますまたは、情報を引き継ぐプロセスを手掛かりと呼びます。
手がかり二分木:手がかりを持つ二分木は、手がかり二分木と呼ばれます。
明らかに、手がかり二分木は、使用されるトラバーサル法に関連しており、事前注文手掛かり二分木、中次手掛かり二分木、およびポスト順手掛かり二分木があります。
中間シーケンス:
D、B、H、E、A、F、C、G
ノード構造
LTag = 0、lchildフィールドは左の子を指しますか?LTag = 1、lchildフィールドはその前の
子を指しますRTag = 0、rchild フィールドは右の子を指します?RTag = 1、rchildフィールドはその後続を指します
手がかり二分木は物理的な構造です
論理構造:コレクション、線形、ツリー、グラフ
物理構造:線形ストレージと非線形ストレージ
これらの中で、線形ストレージ構造には、シーケンシャル(シーケンシャル)、リンク(リンク)、インデックス(インデックス)、ハッシュ(ハッシュ)の4種類の構造
非線形があります。ストレージ構造には、ツリーストレージ構造、グラフィックストレージ構造が含まれます。
nノードの手がかり二分木では、手がかりの数はn + 1です。
n個のノードの手がかりバイナリツリーには、2n個のポインタ、n-1個の子ポインタがあり、残りは手がかりポインタです。
手がかりの二分木のシーケンスを構築するプロセス:
この走査方法でバイナリツリーを走査します。
走査中に、現在アクセスされているノードの左および右のポインターフィールドが空かどうかを確認します。
左のポインターフィールドが空の
場合は、前駆ノードの手掛かりに変更します。右のポインターフィールドが空の場合は、次のように変更します。後続のノードを指す手がかり。
横断的な手がかりに基づくバイナリツリー
特定の順序の手掛かりバイナリツリーを走査するには、順序の下の開始ノードから開始し、順序の下のノードの後続ノードをヘッドノードまで繰り返し検索します。