2015-11-19 89 views
0

是否有任何理由爲什麼人們會想在隊列的前面插入東西之前插入?我正在編寫一個關於雙端隊列的報告,這讓我很煩惱。

我猜想,也許事情的重要性更高將在前面需要時插入,但隨後一個優先級隊列會更有意義。爲什麼從隊列(雙端隊列)

回答

1

一個例子是偷作業調度algorithm.This的算法執行任務調度多個處理器。爲每個處理器維護一個單獨的雙線程並執行線程。爲了執行下一個線程,處理器從deque獲取第一個元素(使用「remove first element」deque操作)。如果當前線程分叉,則將其放回到deque的前面(「在前面插入元素」),並執行新線程。當處理器中的一個完成其自己的線程的執行(即,其雙端隊列爲空),它可以從另一個處理器「偷」一個線程:它得到的最後一個元件與另一個處理器的雙端隊列(「刪除最後元件」)和執行它。英特爾線程構建模塊(TBB)庫使用盜取作業調度算法進行並行編程。

0

。注意,優先級隊列爲從雙端隊列本質上的不同,與在PQ元件根據其優先級,而在一個雙端隊列只能刪除並在前面插入或背面的隊列的正在處理中。我可以很快想到的一個可能的應用程序是一個「撤消」功能,使您能夠回退到以前的狀態。其中,可以使用雙端隊列