あ 二分木のデータ構造 は、各ノードが最大 2 つの子 (左の子と右の子と呼ばれます) を持つ階層データ構造です。これは、挿入、削除、走査などのさまざまな操作によるデータの効率的な保存と取得のためにコンピュータ サイエンスで一般的に使用されます。
導入:
- 二分木の性質
- 二分木の種類
- バイナリーツリーの用途、メリット、デメリット
- バイナリ ツリー (配列実装)
- 完全なバイナリ ツリー
- 完璧な二分木
バイナリ ツリーの基本操作:
- ツリー トラバーサル (順序、事前順序、および事後順序)
- レベル順序ツリーのトラバーサル
- 指定されたバイナリ ツリーの最大の深さまたは高さを見つける
- バイナリツリーへの挿入
- 二分木での削除
- 二分木の列挙
その他の重要なバイナリ ツリー トラバーサル:
- スパイラル形式のレベル順序トラバーサル
- 逆レベル順序トラバーサル
- バイナリ ツリーの BFS と DFS
- 再帰なしの順序ツリー走査
- プレオーダー用のモリス・トラバーサル
- 反復的な事前注文トラバーサル
- 2 つのスタックを使用した反復事後探索
- 二分木の斜め走査
- 二分木の境界トラバーサル
二分木のデータ構造に関する簡単な問題:
- Preorder から完全なバイナリ ツリーの深さを計算します
- Inorder および Level の順序トラバーサルからツリーを構築する
- 指定されたバイナリ ツリーが SumTree かどうかを確認する
- バイナリ ツリー内の 2 つのノードがいとこであるかどうかを確認する
- エッジを削除するとバイナリ ツリーが 2 つの半分に分割されるかどうかを確認する
- 指定された二分木が完全かどうかを確認します
- バイナリ ツリーにサイズ 2 以上の重複サブツリーが含まれているかどうかを確認する
- 2 つの木がミラーかどうかを確認する
- 折りたたみ可能なバイナリ ツリー
- 対称ツリー (それ自体の鏡像)
- 2 つのツリーが同一かどうかを判断するコードを作成する
- 二分木内の指定された合計を持つサブツリー
- バイナリツリーの簡潔なエンコーディング
- 木のサイズを計算するプログラムを作成する
- 二分木の直径
- バイナリ ツリー内のノードのレベルを取得する
二分木のデータ構造に関する中程度の問題:
- 指定されたインオーダートラバーサルで可能なすべてのバイナリツリーを検索します
- すべてのノードにInorder Successorを設定します。
- リンクされたリスト表現から完全なバイナリ ツリーを構築する
- 二分木を二分探索木に変換するために必要な最小スワップ
- 指定されたバイナリ ツリーを二重リンク リストに変換する |セット1
- ツリーを偶数ノードのフォレストに変換する
- バイナリ ツリーを反転
- 再帰を使用せずにルートからリーフへのパスを出力します
- 指定された Preorder、Inorder、Postorder のトラバースが同じツリーのものであるかどうかを確認します
- 指定されたバイナリ ツリーが完全かどうかを確認します。セット 1 (反復解法)
- バイナリ ツリーが別のバイナリ ツリーのサブツリーであるかどうかを確認します。セット2
- ツリー内の最大のサブツリー合計を見つける
- 2 つのノードが隣接しないようなバイナリ ツリー内のノードの最大合計
- 二分木における最下位共通祖先 |セット1
- 親配列からの汎用ツリーの高さ
- バイナリ ツリーの 2 つの指定されたキー間の距離を求める
二分木のデータ構造に関する難しい問題:
- 右ポインタのみを使用して事前順序トラバーサルを取得するようにバイナリ ツリーを変更する
- Preorder トラバーサルとミラー ツリーの Preorder トラバーサルを使用して完全なバイナリ ツリーを構築する
- 指定された事前注文トラバーサルから特別なツリーを構築します
- 祖先行列からツリーを構築する
- 事前順序走査から完全な k 進木を構築する
- 括弧表現を使用して文字列からバイナリ ツリーを構築する
- スパイラル形式でバイナリ ツリーを二重リンク リストに変換する
- バイナリ ツリーを循環二重リンク リストに変換する
- 三項式を二項木に変換する
- 指定されたシーケンスを持つルートからリーフへのパスがあるかどうかを確認します
- sum>= k のパスに存在しないすべてのノードを削除します
- 二分木における最大スパイラル和
- 文字列として表されるツリーの k 番目のレベルのノードの合計
- ルートからリーフのパスまでに形成されるすべての数値の合計
- ノード合計を実行して 2 つのバイナリ ツリーをマージする (再帰的および反復的)
- すべてのノードの子 ID の合計が与えられるツリーのルートを検索します。
クイックリンク :
推奨:
- データ構造とアルゴリズムを学ぶ | DSA チュートリアル