我正在尋找一個通用優先級隊列R
。 R是否具有Java PriorityQueue
類或Python heapq
之類的通用優先級隊列實現(包)?R有像Java的PriorityQueue這樣的優先級隊列嗎?
7
A
回答
1
你也許可以創建這個很容易自己,無論是使用類(參考類最爲合適),或者使用與data.frame
自定義類型,與它(add_to_queue(element, queue_object, priority)
,get_item(queue_object)
)操作一些功能相結合。這些函數將是參考類中的方法。我更喜歡參考級解決方案,因爲它將狀態和邏輯存儲在一個地方。
2
您可以使用下面的implementation from Rosetta Code,但要注意插入需要爲O(n log 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 PriorityQueue進入一個穩定的優先級隊列
- 3. Java優先級隊列
- 4. 優先級隊列中的優先級
- 5. java優先級隊列隊列適應
- 6. 優先級隊列
- 7. Java中對象的優先級隊列
- 8. 比較JAVA中的優先級隊列
- 9. Java中的優先級隊列
- 10. 實現Java的優先級隊列
- 11. 具有兩個優先級的優先級隊列Python
- 12. 具有動態項目優先級的優先級隊列
- 13. Java鏈接列表優先級隊列
- 14. 爲什麼優先級隊列會產生這樣的結果?
- 15. 如何將java優先級隊列轉換爲C++優先級隊列?
- 16. 這個優先級隊列邏輯java有什麼問題?
- 17. 使用優先級隊列結構嗎?
- 18. Java優先級隊列行爲怪異
- 19. 優先級隊列比較-java vs C++
- 20. Java優先級隊列接口實現
- 21. Java優先級隊列排序
- 22. Java中的優先隊列?
- 23. Java中的優先隊列
- 24. PHP Sendmail隊列優先級
- 25. 雙重優先級隊列
- 26. Objective-c優先級隊列
- 27. 優先級隊列,可比
- 28. Amazon SQS優先級隊列
- 29. 關鍵 - 優先級隊列
- 30. 優先級隊列C
http://en.wikipedia.org/wiki/Priority_queue適合背景閱讀,以防萬一任何人想到實現它 – Spacedman 2012-08-03 08:12:58
看起來不像很多工作,它看起來可能很有趣。太糟糕了你我今天必須去宜家...;) – 2012-08-03 09:09:36
我記得用rredis做這樣的事情只花了一個小時左右的時間就扔在一起。 – Hansi 2012-08-03 10:35:16