二分探索木とハッシュ表

二分探索木の概念 二分探索木は、空の木または以下の性質を持つ二分木です。 左部分木が空でない場合、左部分木のすべてのノードの値は根ノードの値より小さい。 右部分木が空でない場合、右部分木のすべてのノードの値は根ノードの値より大きい。 左右の部分木もまた二分探索木である。 TreeSetやTreeMapは内部的に赤黒木(平衡二分探索木)を使用しており、中間順巡回 ...

5月21日 01:14 投稿

ハッシュテーブルの実装とアルゴリズム応用:基礎から競技プログラミング問題への適用まで

ハッシュテーブルの仕組みと実装 基本構造の構築 ハッシュ値の生成手法は一旦置き、ハッシュ値が外部から与えられる前提でハッシュテーブルの骨組みを実装する。内部では配列と連結リストを用いてキーと値のペアを管理する。 public class CustomHashMap { static class Node { int code; Object key; Object val; Node next; ...

5月20日 12:47 投稿

Java HashMapの内部構造と主要メカニズム徹底解説

HashMapの基本特性 HashMapはハッシュテーブルを基盤としたMapインターフェースの実装であり、キーと値のペアを格納する。非同期処理を前提としているためスレッドセーフではなく、キーと値の両方にnullを許容する。また、要素の格納順序は保証されない。 JDK 1.8以降、データ構造は大幅に改善された。以前は「配列+リスト」で構成されていたが、衝突(ハッシュ値が同一に ...

5月14日 13:44 投稿