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 投稿