全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)數(shù)據(jù)庫(kù)考點(diǎn)分析之?dāng)?shù)據(jù)結(jié)構(gòu)與算法(6)

字號(hào):

考點(diǎn)6 棧
    棧又稱為堆棧,它是一種運(yùn)算受限的特殊的線性表,僅允許在表的一端進(jìn)行插人和刪除運(yùn)算,可進(jìn)行運(yùn)算的一端為棧頂( top),另一端為棧底( bottom)。表中無(wú)任何元素的棧稱為空棧。由于棧的插人和刪除運(yùn)算僅在棧頂進(jìn)行,后進(jìn)棧的元素必定先被刪除,所以又把棧稱為“后進(jìn)先出”(LIFO)表。
    棧的基本操作有:
    (1) push(S,X)。往棧S中插人(或稱推人)一個(gè)新的棧頂元素x,即進(jìn)棧。
    (2)pop(S)。從棧S中刪除(或稱彈出)棧頂元素,即出棧。
    (3)lop(S,X):把棧S的棧頂元素讀到變量x中,棧保持不變。
    (4)empty(S)。判斷棧S是否為空棧,是則返回值為真。
    (5)makempty。(S)將棧S設(shè)置為空。
    棧既然是一種線性表,所以線性表的存儲(chǔ)結(jié)構(gòu)同樣也適用于棧。棧通常用順序存儲(chǔ)方式來(lái)存儲(chǔ),分配一塊連續(xù)的存儲(chǔ)區(qū)域存放棧中元素,用一個(gè)變量來(lái)指向當(dāng)前棧頂。
    考點(diǎn)7 隊(duì)列
    隊(duì)列簡(jiǎn)稱為隊(duì),它也是一種運(yùn)算受限的線性表,隊(duì)列的限定是僅允許在表的一端進(jìn)行插入,而在另一端進(jìn)行刪除。進(jìn)行刪除操作的一端稱做隊(duì)列的頭,進(jìn)行插人操作的一端稱為隊(duì)列的尾.
    隊(duì)列的基本操作有:
     (1) enq(Q, X)。往隊(duì)列口中插人一個(gè)新的隊(duì)尾元素x,即人隊(duì)。
     (2)deq(口)從隊(duì)列Q中刪除隊(duì)頭元素,即出隊(duì)。
     (3 ) front口,x)將隊(duì)列口的隊(duì)頭元素值讀到變量x中,隊(duì)列保持不變。
     (4)empty ( Q ).判斷隊(duì)歹,l口是否為空,是則返回值為真。
     (5)makempty(口)將隊(duì)列口置為空隊(duì)列。
    和線性表一樣、隊(duì)列的存儲(chǔ)方式也有順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)兩種。順序隊(duì)列在進(jìn)行人隊(duì)操作時(shí),會(huì)產(chǎn)生假溢出現(xiàn)象解決的辦法是讓隊(duì)列首尾相連,構(gòu)成一個(gè)循環(huán)隊(duì)列