二分探索木とハッシュ表
二分探索木の概念
二分探索木は、空の木または以下の性質を持つ二分木です。
左部分木が空でない場合、左部分木のすべてのノードの値は根ノードの値より小さい。
右部分木が空でない場合、右部分木のすべてのノードの値は根ノードの値より大きい。
左右の部分木もまた二分探索木である。
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 投稿