1

BTreeを実装しようとしています。私はツリーをほぼ完成させており、より小さな入力でうまく機能します。つまり、ツリーをメモリに実装しました。ここで、ツリーをファイルに書き込む必要のある大きな入力を試してみたいと思います。どこから始めたらいいのかわからない。私はJavaを使用していますが、「ディスク書き込み」コーディングはあまり行っていません。どんな助けでも大歓迎です。誰かが私を助けたいと思ったら、それはさらに良い例です。

4

2 に答える 2

3

BTreeとそのノードがSerialiableを実装している場合は、ObjectOutputStreamとFileOutputStreamを使用してツリーとそのコンテンツをファイルに書き込むことができます。テストは簡単です。.serファイルに書き、読み直して、元のBTreeが戻っていることを確認します。

Java Almanacには、役立つパッケージごとの優れた例がいくつかあります。

更新:変更が加えられたときに動的に書き込むためのユースケースも、「ツリー全体を書きたくない」というユースケースも見当たりません。

あなたが提案していることは、信じられないほど遅いようです。メモリ内の各変更をファイルへの対応する変更とともにミラーリングするには、長い時間がかかります。

独自のデータベース実装を行おうとしている場合、これは理にかなっています。どのようなシナリオを考えていますか?

于 2009-12-06T18:05:56.480 に答える
1

この質問をご覧になることをお勧めします。

于 2010-12-22T21:41:29.087 に答える