我正在寻找一个通用优先级队列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. 优先级队列中的优先级
- 3. java优先级队列队列适应
- 4. 优先级队列
- 5. 比较JAVA中的优先级队列
- 6. Java中的优先级队列
- 7. 实现Java的优先级队列
- 8. 具有动态项目优先级的优先级队列
- 9. Java链接列表优先级队列
- 10. 使用优先级队列结构吗?
- 11. Java优先级队列接口实现
- 12. Java中的优先队列?
- 13. Java中的优先队列
- 14. 优先级队列,可比
- 15. 优先级队列C
- 16. 双重优先级队列
- 17. 如何在JAVA中创建高优先级有界子队列和低优先级有界子队列
- 18. 优先级队列VS队列
- 19. 新近度是次要优先级的优先级队列?
- 20. 优先级队列的优先级总是需要是整数?
- 21. 具有定制匿名比较器的Java优先级队列
- 22. 优先级队列的ArrayList HashMap的
- 23. 更改Minix3的优先级队列
- 24. 不符合QoS优先级的队列
- 25. 节点的优先级队列
- 26. 比较优先级队列的类别
- 27. Hazelcast中的优先级阻止队列
- 28. 使用链表的优先级队列
- 29. PHP中的优先级队列
- 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