エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
みんな大好きScalaですが、immutableなPriorityQueueが標準で無かったので試しに作ってみました。想定バ... みんな大好きScalaですが、immutableなPriorityQueueが標準で無かったので試しに作ってみました。想定バージョンはScala 2.7.7です。 Immutable PriorityQueue in Scala — Gist データ構造 今回は優先順位つきキューの実装に、Leftist Heapというヒープを使いました。これは左側の高さが右側よりもやや高くなるようにヒープを調整するもので、「Purely Functional Data Structures」ではかなり先頭のほうで紹介されている簡単なデータ構造です。だいたいの操作をO(log n)でやります。 ちなみにヒープというのは、親の要素が子よりも小さいような木構造のことです。 クラス構成 TreeSetやQueueの実装を見ながら、よりシンプルなクラス構成にしてみたらこうなりました。 関数型チックなデータ構造を作る