Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? B-treeがMySQLで使用されている背景から、B-treeインデックスの構造、そしてそれに基づいたインデックスの使用方法の入門編です。以下の流れに沿ってまとめていきます。 インデックスってなに? B-treeってなんでインデックスに使われているの? B-treeインデックスの構造 インデックスの使用方法 ※ 勉強をかねてまとめていることもあり、間違っている箇所がございましたら教えていただけると嬉しいです。 インデックスってなに? 全体の内容の中から特定部分を探すために使用する、本の索引のような概念のことです。これを用いることで、検索
ツリー構造データとRDB ツリー構造データをリレーショナルデータベース(RDB) で扱う場合、以下の4つのモデルが知られていました。 隣接リストモデル (Adjacency List Model) 経路列挙モデル (Path Enumeration Model) 入れ子集合モデル (Nested Sets Model) 入れ子区間モデル (Nested Intervals Model) 閉包テーブルモデル (Closure Table Model) 入れ子集合モデルは、現時点では多くのフレームワークで採用されていて、便利なライブラリが多数のデベロッパーによって開発されています。 第五のモデル Fertile Forest Model (肥沃な森林モデル)は、新しい発想で設計された、第五のモデルです。従来のモデルよりも、次の点で優れています。 ツリー構造データのために追加されるデータ量のコス
状態変化なしに効率的な辞書を実装する重み平衡木 はじめに キーを指定して値を検索したいことはよくある。このような操作のために作られたデータ構造を辞書や連想配列と呼ぶ。多くの言語では辞書としてハッシュテーブルを使う。ハッシュテーブルの時間効率は「いちおう」O(1)ということになっている。しかし、ハッシュテーブルは「状態変化」を前提としたデータ構造だ。ハッシュテーブルは挿入・削除の操作のたびに変化し続ける。 状態変化があるということはコードの実行順序によって値が変化する可能性があるということだ。状態変化による結果を完全に理解することは人間の得意とするところではない。すぐに人間の思考はごちゃごちゃになってしまう。そしてよく訓練されたHaskellerなら非本質的な状態変化を「美しくない」と感じるはずだ。 リストによる辞書 そうだリストを使おう。リストを使えば状態変化にわずらわされることはない。キ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く