通俗易懂講解迴圈佇列原理

2021-10-02 06:18:12 字數 897 閱讀 2608

迴圈佇列(環形佇列)

顧名思義,為了能夠重複利用佇列,將佇列看作環形,迴圈使用,為什麼判斷隊滿的時候是(rear+1)%maxsize呢?我們來簡單理解一下。

1,隊空的時候:

rear代表能寫入的位置,front代表能讀的位置;當rear==front的時候隊列為空(想象當隊列為空的時候,能寫入是第乙個位置,也就是0下標,能讀的也是0下標)

2, 那麼按照上面 的思想,想象一下隊滿的時候是什麼情況;

按照上面的思想,rear為能寫入的位置,front為能讀的位置,所以當隊滿隊時候,能讀入隊位置是下標為0的位置,所以front=0;這時候如果在最後乙個位置也就是下標為3的位置寫入了資料(隊滿),rear向後跳乙個就是寫入的位置,那麼下乙個能寫入的位置又回到了下標為0的位置,這時front=rear=0;如果是這樣的話,那麼隊滿的時候和隊空的時候,都會是rear和front相等,為了區分隊滿和隊空,隔了乙個位置,如下代表隊滿(約定空乙個位置代表隊滿);

也就是rear+1(即rear走向下乙個位置)=front的時候為滿,又因為實際上rear這時候為3(下標為3),front為0,rear+1=4;因為這是環形的,所以要(rear+1)%4(四份)=0=front;

結論:

當隊空隊時候rear==front;

當隊滿的時候(rear+1)%maxsize==front;

通俗易懂地講解 Vue router

charset utf 8 vuejs 教程title name viewport content width device width,initial scale 1.0,maximum scale 1.0,user scalable 0 content yes content black rou...

通俗易懂講解 CAP理論

乙個分布式系統裡面,節點組成的網路本來應該是連通的。然而可能因為一些故障,使得有些節點之間不連通了,整個網路就分成了幾塊區域。資料就散布在了這些不連通的區域中。這就叫分割槽。當你乙個資料項只在乙個節點中儲存,那麼分割槽出現後,和這個節點不連通的部分就訪問不到這個資料了。這時分割槽就是無法容忍的。提高...

通俗易懂的講解Softmax

s of tmax softmax softma x是機器學習中很重要的分類函式。通常位於神經網路的最後一層,它的作用是將前面輸出層的資料轉換為概率分布,這個概率分布的特點就是 任意事件發生的概率在0 1之間,且所有事件發生的概率總和為1,並且總有乙個事件會發生。假設原始的神經網路輸出為y1,y2....