ウィキペディアはパス圧縮なしのランク別組合はの償却時間複雑与え言い、そしてランクとパス圧縮することにより、両方の労働組合は、の償却時間複雑与えることをO (α (N ))(αはの逆であるがアッカーマン関数)。ただし、ユニオンランクなしのパス圧縮の実行時間については触れていません。これは、私が通常自分で実装するものです。
パス圧縮最適化を使用して、ランク最適化による結合を使用しない場合のunion-findの償却時間の複雑さはどのくらいですか?
ウィキペディアはパス圧縮なしのランク別組合はの償却時間複雑与え言い、そしてランクとパス圧縮することにより、両方の労働組合は、の償却時間複雑与えることをO (α (N ))(αはの逆であるがアッカーマン関数)。ただし、ユニオンランクなしのパス圧縮の実行時間については触れていません。これは、私が通常自分で実装するものです。
パス圧縮最適化を使用して、ランク最適化による結合を使用しない場合のunion-findの償却時間の複雑さはどのくらいですか?
回答:
SeidelとSharirは、2005年に[1]、任意のリンクでパス圧縮を使用すると、おおよそ操作でおおよそ。
[1]のセクション3(任意のリンク)を参照してください:が、操作と要素を持つunion-findの実行時間を示すとします。彼らは以下を証明した:
。
[2]のセクション3で、Tarjanとvan Leeuwenがより複雑な方法を使用して同様の境界を与えました。
.
Lemma 9 of [2]. Suppose . In any sequence of set operations implemented using compression and naive linking, the total number of nodes on find paths is at most .
[2]:R.タージャンとJ.ファンレーウェン。集合和集合アルゴリズムの最悪の場合の分析。J. ACM、Vol。31、No。2、1984年4月、245-281ページ。
償却実行時間が何であるかはわかりませんが、状況によっては、パス圧縮だけでなく、両方を使用したい理由の1つを挙げます。操作ごとの最悪の実行時間は パス圧縮のみを使用する場合は、ランクによるユニオンとパス圧縮の両方を使用する場合よりもはるかに大きくなります。
のシーケンスを考えます 深みの木を生み出すために悪意を持って選択された連合の作戦 (it is just a sequential path of nodes, where each node is the child of the previous node). Then performing a single Find operation on the deepest node takes time. Thus, the worst-case running time per operation is .
In contrast, with the union-by-rank optimization, the worst-case running time per operation is : no single operation can ever take longer than . For many applications, this won't matter: only the total running time of all operations (i.e., the amortized running time) will matter, not the worst-case time for a single operation. However, in some cases the worst-case time per operation might matter: for instance, reducing the worst-case time per operation to might be useful in an interactive application where you want to make sure that no single operation can cause a long delay (e.g., you want a guarantee that no single operation can cause the application to freeze for a long time) or in a real-time application where you want to ensure that you will always meet the real-time guarantees.