問題タブ [van-emde-boas-trees]

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 に答える
2683 参照

c++ - vEBツリーのC++実装はありますか?

vEBツリーの信頼できるC++実装はありますか?

Boostにはありません。かなり珍しいようです。

vEBツリーまたはy-fastトライまたは同様のデータ構造用の(おそらく商用の)ライブラリはありますか?

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

data-structures - van Emde Boas ツリーの上位ビットと下位ビット

vEB ツリーの概念を理解しようとしていました。

例: ユニバース セット U = {0, 1, 2, 3 ..... 8} を仮定しました。なのでサイズは9号。

ここで、サブセット S = {0, 1, 3, 4, 6, 7} を取ります。

オペレーションの場合、FindSuccessor (3, S); サブセット S で 3 を超える最小の要素を知る必要がある場合、要素の上位ビットと下位ビット、つまり 3 を知る必要があります。

1つの説明は、前半と後半のビットであり、結果00と11をそれぞれハイとローとして与えます。

別の言い方:

高 = 床 [要素/平方(|U|)] = 床 [3/平方 (9)] = 床 [1] = 1;

低 = 要素 % sqrt(|U|) = 3 % sqrt (9) = 0;

どこが間違っているのか説明してください。

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

data-structures - van Emde Boas ツリーの最大要素は、ツリーの外部に格納する必要がありますか?

max 要素を min 要素と同じように扱う必要はありませんか? この非対称性を持ちながら、0(loglogN) 時間で操作を実行できるのはなぜですか? 最大要素はツリーを下に伝播しますが、最小要素は伝播しません...逆のケースで操作の時間を確保することは可能ですか?

私はここで見つけました: http://code.google.com/p/libveb/wiki/Intro 要素の sqrt は時間のかかる操作であるため、それを保存する必要があります。しかし、私は何か他のものがあると思います。

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

language-agnostic - van Emde Boasの木の用途?

整数の高速優先キュー以外に、 van Emde Boasツリーのアプリケーションはありますか?

0 投票する
5 に答える
1832 参照

java - コンストラクターで再帰を使用するのは悪い習慣ですか?

van Emde Boas ツリーを実装していますが、コンストラクターで再帰を使用すると非常に便利な状況に遭遇しました。

ツリーにルート ノードを作成すると、そのノードは他の多くのノードへのポインタを持ち、それらのノードは他の多くのノードを指すようになります。これらが null データで初期化されていても、すべてそこにある必要があります。

編集:コメントへの回答として、メモリを割り当てるときは常に注意する必要があるため、悪い習慣かもしれないと思いました。この場合、ユーザーはそのような新しいノードを割り当てることによる影響を認識していない可能性があるため、意図したよりも多くのメモリを割り当てる可能性がありますか? それ以外は、コンストラクターでメモリを割り当てるのは奇妙/危険に思えたと思います。

このコードは、完全なツリーが作成されるまで、新しいノードを再帰的に作成します。これは悪い習慣ですか?もしそうなら、Javaでそれを行うより良い方法はありますか?