タグ付けされた質問 「ds.data-structures」

スペースの下限、オブジェクトの挿入と削除の時間の複雑さなど、データ構造のプロパティとアプリケーション。

1
疑い、不確実性、嘘がある場合の論理
私はハリーフランクフルトのOn Bulls * tを読んでいました。これは、真実と虚偽の間のぼやけた概念についての1986年の哲学的エッセイです。 これは不必要な運動ではありません。私たちは常にデータセットを互いにパイプしているので、これはコンピュータサイエンスへの応用があるかもしれません。これらのデータソースの一部は疑わしい場合があり、パイピングプロセスが失敗する可能性があります。または、それらから得られる結論も間違っている可能性があります。 フランクフルトの理論にアプローチする1つの方法は、論理回路の観点から表現することであり、ゲートまたは入力の整合性が問題になる場合があります。 鉛筆と紙では、主にブールロジックを使用し、値は、ゲートはn o t、∨ 、∧です。ブールロジックをわずかに摂動して、回路がどのようにrobusされているか、またはノイズに関してブレークダウンできるかをモデル化することが可能かもしれません。T、FT、FT,Fn o t、∨、∧んot、∨、∧\mathbf{not},\vee,\wedge 疑念と不確実性を説明する論理理論は存在しますか?嘘がどれほど結論の整合性を損なうかを測定できますか? 検証可能な真または偽のステートメントのコレクションがあったとしても、値が真ん中にある引数(および結論)を書くことは可能だと確信しています。あるいは、ある引数が別の引数よりも「より」有効であるかどうかを判断することさえできます。 ここに質問が1つもない場合は、事前に謝罪します。 コメント ロジックは非常に幅広いテーマですが、私はロジック専門家ではないので、具体的にどのようにするかわかりません。使いやすさが優先されます。そのため、ブールロジックのブートストラップのみを検討します。 私たちは命題を「呼び出す」とき...結論は正しいかもしれませんが、VijayDがコメントで示唆しているように、思考プロセスは間違っているかもしれません。 bulls ** tが不確実性と同じであるかどうかは明らかではありません-証明が間違っていると確信している可能性があります。 ステートメントではなくプルーフに値を割り当てるブールロジックの拡張を見るとよいと思います。すべてのステップが有効であるという証明には、Tの値が割り当てられますます。ステップに欠陥がある場合は、前提からどの程度結論に至らないかを測定します。 このアイデアは以前に試されたに違いない。Googleの検索では、代数、トポス、多値ロジックなどの概念や、コメントや回答のソースがさらに増えます。

2
平面内の線の動的上部エンベロープ
平面内の線の配置の上部エンベロープを計算する簡単なアルゴリズムがあります。たとえば、調査Davenport-Schinzelシーケンスとその幾何学的アプリケーションのセクション2.3を参照してください 。 同じ問題の動的バージョンの既知のアルゴリズム/データ構造はありますか?つまり、次の操作で平面内の一連の線の上部エンベロープを維持したいとします。 挿入):セットに行を追加しますℓ(ℓ(ℓ(\ellℓℓ\ell 削除:セットから行を削除しますℓ(ℓ)(ℓ)(\ell)ℓℓ\ell query:上部エンベロープに座標を持つラインを返します。つまり、点から垂直方向の下向きの光線が最初に当たるセットの線を返します。x (x 、∞ )(x)(x)(x)xxx(x,∞)(x,∞)(x, \infty)

1
病理学的データの動的平面の正確なk最近傍
2次元ユークリッド空間の点のセットに対して以下の操作を提供するデータ構造の最もよく知られている結果は何ですか? insert(x)insert(x)insert(x) delete(x)delete(x)delete(x) nearest(k,x)nearest(k,x)nearest(k,x)(は0より大きい整数)は、セット内の最も近い点を返します。kkkkkkxxx この特定のケースでは、近似最近傍、モンテカルロアルゴリズム、またはデータが何らかの形で整形式であることを前提とするアルゴリズムには特に興味がありません。 私はラスベガスのアルゴリズム、ポイントの座標がビットであると仮定するアルゴリズム、または依存する実行時間のあるアルゴリズムに対して偏見はありません。O(lgn)O(lg⁡n)O(\lg n)kkk

2
セットのコレクションからセットのサブセットを見つける
のサブセットのコレクションを表し、次の操作をサポートするためにどのデータ構造を推奨しますか?{1,…,n}{1,…,n}\{1, \dots, n\} Sinsert(S)insert(S)insert(S):コレクションにを挿入します。SSS S ' S ' ⊂ Squery(S)query(S)query(S):になるようなコレクションにが存在する場合はtrueを返し、それ以外の場合はfalseを返します。S′S′S'S′⊂SS′⊂SS' \subset S 私の主な基準は、実用的な時間効率です。

1
優れたパフォーマンスを備えた関数型スパースマトリックス?
ペトリネットプログラムを作成しているときに、グラフを表すデータ構造に関する選択に直面しました。隣接リスト(つまり、個々の場所または遷移への弧を列挙するリスト)は実装が簡単ですが、ペトリネットの理論を研究しているときに、マトリックスベースの状態方程式アプローチの美しさに夢中になりました。おそらく、スパース行列を使用する必要があります。 どちらが私を不思議に思いました-行と列の両方で高速な列挙を提供するスパース行列の実装はありますか?そうでない場合、Erlangなどの関数型言語で2部グラフを構築して効率的にトラバースできる代替手段はありますか? FWIW-「効率的に」とは、この場合、特定の遷移または場所に発生するアークをすばやく列挙することを意味します。トレードオフが必要な場合は、時間とスペースをトレードするほうが幸せです。グラフは作成後に変更されないため、挿入や更新に特に効率的である必要はありません。 TIA

2
リンクカットツリーの初期化時間はどれくらいですか?
リンクカットツリーは、SleatorとTarjanによって発明されたデータ構造であり、時間におけるノードフォレストでのさまざまな操作とクエリをサポートし。(たとえば、オペレーションリンクはフォレスト内の2つのツリーを1つに結合し、オペレーションカットはフォレスト内のツリーを2つのツリーに分割します。)O (log n )んnnO (ログn )O(log⁡n)O(\log n) リンクカットツリーを使用することでいくつかのアプリケーションが知られています。ここでは特にノードの平面グラフが与えられるとノードがサブグラフである対応するバイナリツリーとその子が得られるグッドリッチのセパレーター分解に興味があります。ノードのサブグラフであるのセパレータで割っ。このような分解は時間で簡単に構築できます(セパレーターは時間で見つけることができるため、セパレーターはレベルの分離後にグラフをバランスよく分割するため、ツリーの葉のサイズはG G H H H O (n log n )O (n )O (log n )O (1 )んnnGGGGGGHHHHHHHHHO (n ログn )O(nlog⁡n)O(n \log n)O (n )O(n)O(n)O (ログn )O(log⁡n)O(\log n)O (1 )O(1)O(1))。Goodrichの主な貢献は、各レベルでセパレーターを見つけるために使用されるデータ構造を維持および再利用することにより、時間でそのような分解を構築できることです。O (n )O(n)O(n) 構築で使用されているデータ構造の1つは、確かにリンクカットツリーです。Goodrichによる論文の 7ページで、リンクカットツリーの初期化は時間で実行できると彼は主張しました。そこに引用されているすべての論文を調べていますが、操作linkを使用してリンクカットツリーを作成すると、合計で時間がかかるようです。O (n )O(n)O(n)O (n ログn )O(nlog⁡n)O(n \log n) 何か誤解していますか?リンクカットツリーの初期化は時間ますか?O (n )O(n)O(n)

3
スキップリストが期待どおりに強くバランスされていることを証明する
高さスキップリストが与えられた場合、定数(乗法)係数の範囲内で、その期待される長さはどれくらいですか?んnn Cache-Oblivious B-Treesのセクション2.2 では、強く重み付けされた検索ツリーは次のように定義されています。 定数場合、高さすべてのノードには子孫があります。V H Θ (D H)dddvvvhhhΘ (dh)Θ(dh)\Theta(d^h) 彼らが主張します: プロパティ1と2を満たす検索ツリーには、ウェイトバランスされたBツリー、決定論的スキップリスト、および予想される意味でのスキップリストが含まれます。 決定論的スキップリストの要求については、既に質問しました。この質問は、スキップリストの主張についてです。 私はスキップリストがこの性質を期待していると信じていますが、厳密な理由を見つけることができません。逆の確率(長さが与えられた高さ)は、定数係数内で直接計算できます。洗練された分析は、二項変換とスキップリストの分析に記載されています。 編集: スキップリストで「子孫」を定義するには、いくつかの異なる概念があります。この用語は、ピューの元の論文では使用されていません。「子孫」のいくつかの可能な解釈は、スキップリストをツリーとして表示することから生じます。これを行うさまざまな方法が含まれています ランダムスキップリストの限界理論 確定的スキップリスト ツリーのスキップ、並行アプローチでリストをスキップするための代替データ構造 スキップリストとバイナリ検索ツリーの間の二重性の調査 「確定的スキップリスト」の概念を使用すると、これは同じ質問をする別の方法だと思います。 私が公正なコインを受け取った場合、最後の結果が尾であるように何度かフリップし、最も長い連続したヘッドのシーケンスが長さだった、尾を見た回数の期待値はどれくらいですか?んnn また、閉じた形の解がなくても、期待される強力な重量バランスの非建設的な証明にも興味があります。ddd

4
低次元二分決定グラフの効率を推定するためのヒューリスティックス?
縮小順序付きバイナリ・ディシジョン・ダイアグラム(ROBDD)は、複数の変数の論理関数を表現するための効率的なデータ構造である。それらがどれほど効率的であるかを直感的に知りたいのです。f(x1、x2、。。。、xん)f(x1,x2,...,xn)f(x_1,x_2,...,x_n) たとえば、データ圧縮の場合、完全にランダムなデータは圧縮できないが、エントロピーの低いデータ(一部のシンボルは他のシンボルよりも頻繁に出現し、繰り返しが多い)は非常にうまく圧縮できることがわかっています。 ROBDDが特定のブール式をどれだけ効率的に表すことができるかを推定するための類似の直感はありますか? たとえば、ビットの数値の乗算は効率的に表現できないと聞いたことがあります。ROBDDの最小サイズはnの指数関数です。これが事実である理由を説明する直感的な議論を知っていますか?んnnんnn 関連質問:数値を計算するBDDの効率に関する直感(複数端末BDDなど)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.