うごく B-TREE
2008年07月30日06:33
今僕は、B-tree という、データベースの設計にとって極めて重要なデータ格納用のアルゴリズムについて研究している。
作り始める前に、シミュレーターを作ってアルゴリズムと動作を確認したかったので、マクロメディアのFLASHというソフトを使って作ってみた。
本当はもっと簡単にできるかと思ったのだけど、はるかに難航した。僕の目標はデータ構造から特定のデータを削除するアルゴリズムのシミュレートなのだけど、削除まで到底とどかず、追加のところが出来上がったところで朝が来た。 ほんとうは、昨日出来上がるかと思ったのだけどとんでもなかった。
http://oka.nu/b-tree.html
予想外にものすごく長い時間がかかると、なんか時間を無駄にしたなぁ...という気もしてくる。 だけど、こうやって試行錯誤している時間が長ければ長いほど、理屈ではないアルゴリズムに対する感覚が身についてくる。 この経験の長さが、実際に作りこんだ時にかかる時間やプログラムの動作精度に対して大きな違いを生み出すことが多いように思う。
たいへんだけど、精度の高いものを作ろうとするときは、こうする以外に他に方法はない。
これでいいのだ。
==
うごくB-tree
http://oka.nu/b-tree.html
使い方:
上の編集ボックスに数字を入れて ADDボタンを押すか、リターンキーを押すと、ツリーデータに特定の数値が追加される。 スライドバーを移動することで、速度の調整が出来る。
あまり連続して追加すると誤動作する。 しかし、これはデータベース上のB-treeデータも同様な誤動作を起こすという点で、正しい動作だ。 どういう操作をすると誤動作を起こすのか、いろいろ試してみることは有用だ。
リセットしても直らないときは、ブラウザの再読み込みボタンを押す。
作り始める前に、シミュレーターを作ってアルゴリズムと動作を確認したかったので、マクロメディアのFLASHというソフトを使って作ってみた。
本当はもっと簡単にできるかと思ったのだけど、はるかに難航した。僕の目標はデータ構造から特定のデータを削除するアルゴリズムのシミュレートなのだけど、削除まで到底とどかず、追加のところが出来上がったところで朝が来た。 ほんとうは、昨日出来上がるかと思ったのだけどとんでもなかった。
http://oka.nu/b-tree.html
予想外にものすごく長い時間がかかると、なんか時間を無駄にしたなぁ...という気もしてくる。 だけど、こうやって試行錯誤している時間が長ければ長いほど、理屈ではないアルゴリズムに対する感覚が身についてくる。 この経験の長さが、実際に作りこんだ時にかかる時間やプログラムの動作精度に対して大きな違いを生み出すことが多いように思う。
たいへんだけど、精度の高いものを作ろうとするときは、こうする以外に他に方法はない。
これでいいのだ。
==
うごくB-tree
http://oka.nu/b-tree.html
使い方:
上の編集ボックスに数字を入れて ADDボタンを押すか、リターンキーを押すと、ツリーデータに特定の数値が追加される。 スライドバーを移動することで、速度の調整が出来る。
あまり連続して追加すると誤動作する。 しかし、これはデータベース上のB-treeデータも同様な誤動作を起こすという点で、正しい動作だ。 どういう操作をすると誤動作を起こすのか、いろいろ試してみることは有用だ。
リセットしても直らないときは、ブラウザの再読み込みボタンを押す。
コメント一覧
tear 2008年07月30日 07:46
早速試してみました。おもしろい動き。
私には100年かかっても理解できない理系の世界。。
私には100年かかっても理解できない理系の世界。。