二分木の非再帰的走査

前順走査 前順走査では、ノードの値を「根 → 左の子 → 右の子」の順に処理します。 再帰的な実装 public void traverse(Node node) { if (node == null) { return; } System.out.println(node.value); traverse(node.left); traverse(node.right); } 非再帰的な実装 非再帰では、スタックを使用してノードを管理します。根ノードを最初に処理 ...

8月4日 15:22 投稿

マップの4つのコレクション走査方法

HashMap<K,V>はハッシュテーブル構造を使用してデータを格納し、要素の挿入順序と取得順序が一致しない(挿入した順番に必ずしも取り出せない); LinkedHashMap<K,V>はハッシュテーブル構造とリスト構造を組み合わせてデータを格納する。リスト構造により、要素の挿入順序と取得順序が一致する(挿入順に取り出す); 二、カスタムクラスによる走査 getメソッ ...

8月3日 02:32 投稿

バイナリツリーの基礎理論と再帰的走査アルゴリズム

バイナリツリーの基本概念 バイナリツリーは計算機科学における重要なデータ構造であり、多くのアルゴリズムでスタックを用いて実装されます。 バイナリツリーの分類 完全二分木 (Full Binary Tree) すべてのノードが0個または2個の子ノードを持ち、すべての葉ノードが同じ深さにある二分木を完全二分木と呼びます。深さkの完全二分木は2^k-1個のノードを持ちます。 完 ...

5月14日 12:57 投稿