Brodalキューの擬似コード


12

Brodalヒープに関するリソースをもっと探しています。私が見つけたのはBrodal-Okasakiヒープのhaskell実装だけですが、スキューヒープであると思いますが、これは正しいですか?さらに、私はHaskellで読み書きができないので、あまり役に立ちません。誰かが擬似コード、C、C ++、PythonでBrodalキュー実装を持っていますか(または知っていますか)?

上記の私の仮定が間違っている場合も修正してください。


3
Brodalキューを具体的に実装しようとしていますか、それとも優先キューの効率的な実装を探していますか?Brodalは、彼の論文の結論で、この分野でのさらなる調査がなければ実用的ではないと述べました。彼の論文は広く引用されていますが、何か役に立つでしょうか?CLRアルゴリズムの概要には、優先度キューに関するセクションがありますが、優先度キューのはるか以前の研究を参照しています。
ジェイエルストン

2
元のBrodalキューは破壊的な割り当てを使用しているため、Haskellバージョンにはいくつかの修正が必要です。
フレッドフー

回答:


2

Haskellの実装は、機能的なBrodal-Okasakiヒープに基づいており、そうです、スキューヒープのバリエーションです。論文は非常に明確に書かれているので、参考になるでしょう。

実装に関して、scalazライブラリの一部としてScalaにも実装されています。


1

コードをHaskellではないものに変換する方法をまだ理解していないため、これは部分的な答えです。Haskellを使用しなければならない理由は、Haskellが怠けているからです。Brodal-Okasakiヒープは、紙から怠zyな形で補完する必要があります。したがって、必要なのは、BOヒープが必要とする可能性がある他の要件(純粋に機能的なデータ構造など)とともに、その機能を別の言語に提供する方法です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.