2015-11-19 88 views
0

是否有任何理由为什么人们会想在队列的前面插入东西之前插入?我正在编写一个关于双端队列的报告,这让我很烦恼。

我猜想,也许事情的重要性更高将在前面需要时插入,但随后一个优先级队列会更有意义。为什么从队列(双端队列)

回答

1

一个例子是偷作业调度algorithm.This的算法执行任务调度多个处理器。为每个处理器维护一个单独的双线程并执行线程。为了执行下一个线程,处理器从deque获取第一个元素(使用“remove first element”deque操作)。如果当前线程分叉,则将其放回到deque的前面(“在前面插入元素”),并执行新线程。当处理器中的一个完成其自己的线程的执行(即,其双端队列为空),它可以从另一个处理器“偷”一个线程:它得到的最后一个元件与另一个处理器的双端队列(“删除最后元件”)和执行它。英特尔线程构建模块(TBB)库使用盗取作业调度算法进行并行编程。

0

。注意,优先级队列为从双端队列本质上的不同,与在PQ元件根据其优先级,而在一个双端队列只能删除并在前面插入或背面的队列的正在处理中。我可以很快想到的一个可能的应用程序是一个“撤消”功能,使您能够回退到以前的状态。其中,可以使用双端队列