队列,如何优先实施

时间:2014-03-23 01:40:51

标签: java queue

“当工作人员可用时,他们根据他们的优先主题列表从等待请求池中进行选择。在时间t到达的所有请求都可以在时间t分配。如果两名工作人员同时可用,则安排优先权给予最近一份工作最早安排的工作。如果仍然存在平局,则在工作人员的输入列表中,其编号首先出现的人员会安排优先顺序。“

我该如何实现?我在实现获得优先权的服务代理时遇到了麻烦。 例如: 我要定义两个代理人。 代理1可以做数学,科学的主题。 代理人2可以做科学,数学。

给出一个名为“科学”的主题 如果这两个代理商可用, 我该如何选择代理2?因为他比代理人1更优先考虑科学主题。 ...

如果两个代理商同时可用,我没有遇到任何问题,它将被提供给最近工作最早安排的代理商。 我只是通过我给他们的属性对代理进行了排序。 任何提示都会有所帮助。

2 个答案:

答案 0 :(得分:5)

优先级队列是通过堆实现的。这是一个值得学习的数据结构。

检查出来:

http://pages.cs.wisc.edu/~vernon/cs367/notes/11.PRIORITY-Q.html

http://algs4.cs.princeton.edu/24pq/

答案 1 :(得分:0)

在Java中查找Priority Queue - 它以排序(自然或自定义)顺序检索元素,而不管它们的插入顺序如何。