Javaによる単方向・双方向・循環リストの実装と操作

リスト構造は順序を持ち、ノード単位で連結されるが、メモリ上では必ずしも連続していない。 各ノードはデータ領域と次のノードへの参照を持つ 先頭ノード(ヘッド)は実データを持たず、リストの起点として機能する ノードの配置は物理的に連続している必要はない ヘッドノード有り/無しの設計は用途に応じて選択可能 基本操作:追加・更新・削除・逆転 publ ...

5月20日 14:19 投稿

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

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

5月20日 12:47 投稿

ハッシュテーブルを活用したアルゴリズム問題の効率的な解法

ハッシュテーブルは、キーと値のペアを格納し、平均的に定数時間O(1)でデータの検索、挿入、削除を行うことができる非常に効率的なデータ構造です。ここでは、ハッシュテーブルの特性を利用して計算量を削減し、アルゴリズムのパフォーマンスを最適化する代表的な問題について解説します。 有効なアナグラムの判定 2つの文字列がアナグラム(文字の並び替え)であるかどう ...

5月11日 10:22 投稿