WordPressテーマVicuna Ext.の開発を行っています.(X)HTMLや、PHPなどの知識がなくても自由にレイアウトなどの変更ができるような拡張を試みています.詳細はプロジェクトホームページ(http://ma38su.org/projects/)をご覧ください.
◆ B-Tree ver.0.12
B-TreeをJavaで実装しました。
各ページはエントリーを配列で持っています。
現在の実装で問題であろうと考えられるのは以下の4点です。
- 次数1(の削除)に対応していない。
- 再帰を多用している。
- toStringの実装が十分ではない。
- すべてオンメモリで構成している。
その他にも問題やバグなどあれば、教えていただけると助かります。
現在、HashSetやTreeSetの方が高速でかつ確実ですので、
通常の利用にはそちらを活用することをオススメします。
もしエントリーEが、Comparable<E>を実装していなければ、
Comparator<? super E>を与えなければなりません。
利用については、LGPLライセンスに従うこととします。
* 更新履歴
- ver.0.12 2006/10/31
-- 実装上、次数1では削除が対応していないことを確認しました。
-- 今後、ディスク上にデータ構造を構築する予定であるので次数1への対応は考えていません。
- ver.0.11 2006/10/31
-- 削除のバグを修正。
-- 次数2,3,4でのテストではバグはみつかっていません。
- ver.0.10 2006/10/31
-- 削除を実装。次数2以外ではバグがいろいろと見つかっています。
- ver.0.09 2006/10/31
-- エントリー削除をページの併合時に分割を必要としない削除を実装。
- ver.0.08 2006/10/30
-- 削除の設計を見直し実装を一新。
-- ページの併合を必要としない削除を実装。
- ver.0.07 2006/10/29
-- 削除を部分的に実装。
- ver.0.06 2006/10/29
-- ページ内の検索メソッドを抽出するなどのリファクタリングを行いました。
- ver.0.05 2006/10/28
-- バイナリサーチによりエントリーの挿入、検索を行うように変更しました。
- ver.0.04 2006/10/28
-- Comparableなクラスを扱えるようになりました。
-- Comparatorにも対応しました。
- ver.0.03 2006/10/28
-- 親子関係の更新が行われないバグを修正しました。
- ver.0.02 2006/10/28
-- エントリーの検索を実装しました。
-- 親子関係の更新が行われないなどのバグを修正しました。
- ver.0.01 2006/10/27
-- IntegerでのB-Treeの挿入を実装しました。