skip-lists

    3

    2答えて

    nエレメントを挿入した後にスキップリストによって使用されるの予想されるスペースは何ですか? 私は、最悪の場合、スペース消費量が無限に増加すると予想しています。 ウィキペディアは "Space O(n)"と言っています。 これはどうやって証明できますか?

    -1

    1答えて

    私は2つのレベルしかない一定のギャップサイズを持つ「完璧な」スキップリストを作ろうとしています。さまざまなサイズのskiplistsのために訪問されたノードを計算することから、私はそれがサイズによって決定されると言うことができますが、私はそれを計算するためにnに関して数式を思いつくことができません。

    0

    2答えて

    ロックフリーの二重リンクリストに関する研究は数多く存在します。同様に、ロックフリーのスキップリストにはたくさんのリサーチがあります。しかし私が知る限り、ロックフリーの二重リンクスキップリストは管理していません。誰かが逆の研究を知っているのですか、それともなぜそうなのでしょうか? 編集: 具体的なシナリオは、高速分位数(50%、75%など)のアキュムレータを構築するためのシナリオです。サンプルはO(

    -1

    1答えて

    私のデータ構造体クラスは、独自のデータ構造体をSkipListの形で実装しようとしています。私が取り組んでいるメソッドはsubListです。私はほとんどのエラーを処理しましたが、私のエラーtestSubList()メソッドに例外がスローされていると言ってきました。私は入力変数ですべてのエラーをカバーしていると信じているので、これが何であるか分かりません。他のすべてのメソッドが動作していると仮定する

    0

    1答えて

    リンクされていないリンクリストとスキップリストを参照するには、誰も良いリソースを持っていますか。 私はちょうど2つに出くわして、それらのハングを得ることができません。私はNarsimha Karumanchiによって簡単に作成されたデータ構造とアルゴリズムを参照しています。良い本ですが、私は2種類のリストを正しく理解していません。 誰かが現実的なユースケースの助けを借りて2つの利点と利点を説明でき

    1

    1答えて

    私は次のようにスキップリストを実装しています:スキップリストの頭と尻尾は無限大/負の無限大のキーを持っていますが、それらはすべての数字キーを使用している、私がオンラインに見てきた説明では template<typename Key, typename Value> class SkipList {...} 。 私は<と==事業者は、キーのために利用可能であると仮定することができますので、私は約

    0

    1答えて

    を返します。私がRedis SkipListをデバッグするとき、私はzslGetElementByRank(t_zset.c)を使いたいと思います。私はとRedisのメイン関数のコードに置き換え:は int main(int argc, char **argv) { zskiplistNode *node; zskiplist *zsl = zslCreate(); /

    2

    3答えて

    リンクされたn個のノードのリストがあります。k番目のノードを削除し、その中に要素を表示します。これは、nの値が比較的小さく、問題の複雑さが問題でない場合は簡単です。 問題は、n> = 200000のリンクされたリストにn個のノードがあり、比較的大きな値(たとえばk = 150000)のノードを削除したい場合です。 この問題の通常の解決策は、リンクリスト全体を横断してノードを削除することです(ソリュ

    0

    1答えて

    スキップ・リストのデータ構造を作成しようとしています。ここではNodeのためのコードのスナップショットです。 #define MAX_HEIGHT = 20; struct Node { int i; Node *nodes[20]; } この場合、私がベクトルを使用すると、動的にサイズを変更できるので、はるかに良いと思います。私は配列を使いたいと思