私はR
の汎用プライオリティキューを探しています。 Rは、Java PriorityQueue
クラスやPython heapq
のような任意の汎用優先度キューの実装(パッケージ)を持っていますか?RにはJavaのPriorityQueueのような優先度キューがありますか?
7
A
答えて
1
おそらく(リファレンスクラスは最高のフィット)クラスを使用して、またはそれを操作するいくつかの機能と組み合わせたカスタムタイプ、(add_to_queue(element, queue_object, priority)
、get_item(queue_object)
)でdata.frame
のいずれかを使用して、非常に簡単に自分でこれを作成することができます。これらの関数は、参照クラスの場合のメソッドになります。私はそれが状態とロジックの両方を1つの場所に保存するので、参照クラスのソリューションがより好きです。
2
次implementation from Rosetta Codeを使用しますが、その挿入を用心することができ、私は先に行って、Rリファレンスクラスとしての基本的なキューを実装O(nはn個のログ)
PriorityQueue <- function() {
keys <<- values <<- NULL
insert <- function(key, value) {
temp <- c(keys, key)
ord <- order(temp)
keys <<- temp[ord]
values <<- c(values, list(value))[ord]
}
pop <- function() {
head <- values[[1]]
values <<- values[-1]
keys <<- keys[-1]
return(head)
}
empty <- function() length(keys) == 0
list(insert = insert, pop = pop, empty = empty)
}
5
関連する問題
- 1. Java優先度キュー
- 2. Javaの優先度キュー
- 3. javaにはインデックス付き最小優先度キューがありますか?
- 4. PriorityQueueには同じ優先順位のオブジェクトがあります
- 5. Javaのヘルプ:優先度つきキュー
- 6. ActiveJobには特定の優先度を持つキューがありますか?
- 7. 優先度キュー - バイナリヒープ
- 8. Javaの優先キュー?
- 9. cリンクリストの優先度キュー
- 10. Objective-c優先度キュー
- 11. 優先度キューを表すヒープがバイナリツリーより優れているのはなぜですか?
- 12. Brodal優先度キューの実装
- 13. Java優先キューはどのように動作するはずですか?
- 14. 関数コンパレータがソートのように優先度キューで動作しないのはなぜですか?
- 15. 永続優先キューとJavaのコンシューマスレッドプール
- 16. 優先度のキューではないソートされたコンテナ
- 17. PriorityQueueがキューのように動作しないのはなぜですか?
- 18. 優先キューC++
- 19. 要素の優先度が変更されたときにJava PriorityQueueを更新します
- 20. リンクリストに基づく優先度キューからのアイテムの削除
- 21. Scalaに保持されている不変優先キューがありますか?
- 22. ヒープソートと優先度キューとは何ですか?
- 23. 優先度キューのこのCコードセグメントはどのように機能しますか?
- 24. OpenMPの機能がありません:スレッドの優先度
- 25. カスタムGCDキューの優先度を変更する方法は?
- 26. 優先度キューを作成するとJavaでエラーが発生する
- 27. 優先度ThreadPoolExecutor in Java(Android)
- 28. C++で反復可能な優先度キューを実装する
- 29. ギャップベースの優先キュー/ソート?
- 30. 優先度キューから特定の要素を削除するにはどうすればよいですか?
http://en.wikipedia.org/wiki/Priority_queue背景が場合に読み込むための誰もが – Spacedman
は多くの仕事のようには見えませんし、それは楽しいかもしれないように見えるそれを実装する空想。あなたは私が...今日イケアに行かなければならないのが残念;)私はrredisでこのような何かをやって思い出す –
は一緒に投げるために時間かそこらを取りました。 – Hansi