では純粋に機能最悪の時定数Catenableソートリスト、Brodalら。O(1)連結およびO(lg n)挿入、削除、および検索を備えた純粋に機能的なバランスの取れたツリーを提示します。データ構造はやや複雑です。
O(1)連結、機能的またはそうでないより単純なバランスのとれた検索ツリーはありますか?
では純粋に機能最悪の時定数Catenableソートリスト、Brodalら。O(1)連結およびO(lg n)挿入、削除、および検索を備えた純粋に機能的なバランスの取れたツリーを提示します。データ構造はやや複雑です。
O(1)連結、機能的またはそうでないより単純なバランスのとれた検索ツリーはありますか?
回答:
O(1)で償却した連結時間でデータ構造を簡単に作成できます。連結時に(O(n log n)コストを持つツリーのすべてを他のツリーからすべて再挿入するだけで、最初の場所なので、全体の時間はまだO(n log n))ですが、これは不正行為です。
最悪の場合、O(1)の時間について、著者は、それがあらゆるデータ構造の未解決の問題であると主張しているので、簡単な答えを見つけるとは思わない。
あなたが言及した論文をダウンロードしましたが、少なくとも論文の公開時には「いいえ」と答えます。それには2つの理由があります:
関連する作業を適切にレビューするには論文が必要であり、それらは序論でそれを行います。図1に要約があり、「いいえ」と書かれています。少なくとも評判の良い会議で発表されていたとしても、そのように見えます(Brodalは、主題に関する参考文献であるC.岡崎による「純粋に機能的なデータ構造」で数回引用されています)。
ただし、STOC '96のK&T論文でスケッチされた、検索時間O(log n log log n)とO(1)時間の連結を使用したアルゴリズムを本文で言及しています。あなたにとって興味深いかもしれません。
ポイント1はまた、これを引用している論文を単に探して、後の結果を見つけることができることを保証します。彼らはそれを引用する必要があります。
質問が実際的な関連性がある場合(ただしそうではない)、定数係数はO(1)とO(log N)の差よりも重要であると考えています(Sedgewickのアルゴリズムの紹介で説明したように)。アプリケーションのユースケースのベンチマークを探す必要があります。