問題タブ [b-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
314 参照

rdbms - データベース管理のBツリーで並行操作はどのように実行されますか?

データベース管理のBツリーで並行操作はどのように実行されますか?それらは実際にどのように実装され、実行されますか?

0 投票する
1 に答える
2181 参照

mysql - innodb b-tree の内部ノードは物理的にどのように格納されますか?

リーフ以外のb ツリー ノードは innodb で物理的にどのように表されますか?

b-tree (より具体的には b+tree) には葉ノードと非葉ノードの両方があることを思い出してください。b+tree では、すべてのリーフ ノードが非リーフ ノードまたは「内部」ノードのツリーの下にあり、実際に行データを含むページを指します。

非リーフ ノードは非リーフ ノード セグメントに格納され、データ ページのようなページを使用することがわかっています。データ ページが物理的にどのように格納されているかについては十分なドキュメントを見つけましたが、非リーフ インデックス ページがどのように見えるかについては何も見つけることができませんでした。

0 投票する
2 に答える
5390 参照

c++ - B ツリーの順序通りのトラバーサル (c++)

現在受講しているクラスの B ツリー (または BTree ですか?) に取り組んでいます。私はそれのほとんどを正しく実装しています(私は思う)。ただし、不規則なトラバーサルを突き止めるのに苦労しています。これが私の主な機能です:

だから私は、文字を保持する 5 方向の btree を作成しています。各文字をツリーに挿入し、デバッグの目的で反復ごとに順不同のトラバーサルを表示しています。これは私が得る出力です:

それらのほとんどすべてで、一部の文字が重複していますが、挿入間で一貫していないため、(私には)重複データが入っているようには見えません。意味がわからないようですが、ここに私の順不同の方法:

私のノード実装では、カウントはツリー内の「データ」(各文字) の数です。count+1 は、非葉ノードのノードから分岐する枝の数になります。branch は次に低いノード セットの配列で、data は文字の配列です。

これが私のノードの実装です:

挿入に使用されるものはすべて次のとおりです。

0 投票する
1 に答える
1024 参照

database - B+ ツリーの挿入 - 理論上の問題

私は B+ ツリーがどのように機能するかを理解しようとしており、例を解決しようとしています。

ここにリストされているそのようなドキュメントの 1 つで、8 ページに示されている例 1 に記載されています。これは、ノードごとの「n」個の検索キー値が 4 として与えられるB+ ツリー構造について説明しています。

すべてがルールに従って 3 番目のステップまで進みますが、突然 4 番目のステップでルート ノードが分割され、他の分割が行われます。ノード17、19、21が分割されている理由がわかりました(これは明らかにテキストには示されていません)。しかし、なぜ根が分かれているのか不思議です。誰かが私にこれを明確にするか、非常に複雑ですが、より特徴的で段階的なアプローチを備えたより良い例を提案できますか.

0 投票する
2 に答える
4790 参照

c - B+ ツリーで文字列キーを実装する方法は?

多くの b+ ツリーの例は整数キーを使用して実装されていますが、整数キーと文字列キーの両方を使用する他の例を見たことがあります。b+ ツリーの基礎を学びましたが、文字列キーの仕組みがわかりません。

0 投票する
2 に答える
2936 参照

java - Btreeの実装

B+ツリーのデータ構造を使用しているデータベースのモデルを書いています。RAMのみを使用してJavaでこの構造を実装する方法を知っています。ただし、ディスクにデータを書き込む必要があります(書き込み、変更、または削除するたびに)

この構造をどのように実装できますか?

0 投票する
1 に答える
742 参照

informix - C-ISAM ファイルの一貫性

INFORMIX-SE 4.10.DD6: SE データベース内の C-ISAM ファイルでポインタが見つからないなど、誤った問題が発生しているようです。「bcheck -y FILE_123」を実行すると、インデックスが再構築され、問題が修正されたと表示されますが、再度 bcheck を実行すると、同じエラー メッセージが繰り返され、修正されたと表示されますが、そうではありません! これが SE のサポートされていないバージョンまたは古いバージョンであることは承知していますが、テーブルのアンロード/ドロップ/再作成してロードする以外に、これを修正するための他の代替手段を考えられる場合は、助けていただければ幸いです。SE 2.10.06 を使用していたときは bcheck は問題なく動作していましたが、4.10 に移行してから C-ISAM ファイルと bcheck に問題がありました。

0 投票する
1 に答える
694 参照

python - bsddbおよびreprepro(berkeley)データベース

によって作成されたデータベースファイルを読み込もうとしていますreprepro。私はbdbの経験があまりないので、ここで混乱するかもしれませんが、データベースが何らかの形で階層化されているように見えます。

単純に行うbtopen('path/to/packages.db', 'r')と、次のような内容のデータベースオブジェクトが取得されます。

ただし、db4.6_dumpは次のことを示しています。

ファイル自体は次のように識別されます:/var/packages/db/packages.db: Berkeley DB (Btree, version 9, native byte-order)by file

そのコンテンツにアクセスするにはどうすればよいですか?正しく理解していれば、実際のデータベースの名前だけを取得しましたkeys()。これらのデータベースのコンテンツに今すぐアクセスするにはどうすればよいですか?

0 投票する
3 に答える
2456 参照

java - javaでbツリーを視覚的に表示する方法は?

B ツリーを実装しており、デバッグ用にシンプルな UI (またはテキスト出力) に表示したいと考えています。できるだけ早くこれを行うには、どのライブラリをお勧めしますか?

これは単なるデバッグ ツールであり、できるだけシンプルにする必要があります。このためだけに複雑な UI フレームワークを学習するために時間を無駄にしたくありません。それをSTDOUTに出力するものを知っていれば、それも問題ありません。

0 投票する
2 に答える
2587 参照

mysql - HEAP / MEMORY MySQLテーブルのインデックスをHASHからBTREEに変更するにはどうすればよいですか?

MyISAMから変換されたHEAP/MEMORYストレージタイプのMySQLテーブルがあります。インデックスは自動的にHASHに変換されましたが、BTREEである必要があります。それらをHASHからBTREEに変更するにはどうすればよいですか?