認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【隊列和棧】
認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【隊列和棧】
認(rèn)識數(shù)據(jù)結(jié)構(gòu)系列往期文章:
?認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【樹】?認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【數(shù)組】?認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【鏈表】
隊列
隊列的定義
front)進(jìn)行刪除操作,而在表的后端(rear)進(jìn)行插入操作,隊列是一種操作受限制的線性表。進(jìn)行插入操作的端稱為隊尾,進(jìn)行刪除操作的端稱為隊頭。隊列中沒有元素時,稱為空隊列。隊列的操作
?入隊:在隊列中插入一個隊列元素稱為入隊?出隊:從隊列中刪除一個隊列元素稱為出隊
隊列的特點(diǎn)
FIFO—first in first out)的特點(diǎn)。隊列的消費(fèi)限流
一般的限流算法有:
?計數(shù)器限流?漏桶算法?令牌桶算法
注:關(guān)于各種限流算法后續(xù)有文章會單獨(dú)講解,請關(guān)注須彌零一公眾號第一時間獲取,此處不再展開。
棧

棧的定義
stack)又名堆棧,同隊列一樣,它也是一種運(yùn)算受限的線性表。棧是允許在同一端進(jìn)行插入和刪除操作的特殊線性表。允許進(jìn)行插入和刪除操作的一端稱為棧頂(top),另一端為棧底(bottom);棧底固定,而棧頂浮動;棧中元素個數(shù)為零時稱為空棧。棧的操作
?PUSH:從棧頂插入棧元素一般稱為進(jìn)棧、入棧或者壓棧。?POP:從棧頂刪除棧元素則一般稱為退棧、出棧或者彈棧。
棧的特點(diǎn)
FILO—first in last out)的特點(diǎn)。棧的應(yīng)用場景
漢諾塔(Tower of Hanoi),又稱河內(nèi)塔,是一個源于印度古老傳說的益智玩具。大梵天創(chuàng)造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。

最后
往期文章:
?認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【樹】?認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【數(shù)組】?認(rèn)識數(shù)據(jù)結(jié)構(gòu)之【鏈表】
歡迎關(guān)注我的公眾號“須彌零一”,原創(chuàng)技術(shù)文章第一時間推送。
評論
圖片
表情
