队列,如何优先实施

0 java queue

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

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

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

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

Hyp*_*cle 5

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

看看这个:

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

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

  • [内置于'PriorityQueue`中的Java的源代码](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/util/PriorityQueue.java)是另一个好例子. (2认同)