計概16-01堆疊-公職試題

【選擇題】

D01.關於圖形拜訪(graph traversal)的方法,下列何者正確? (A)廣度優先搜尋先拜訪子節點再派訪父節點 (B)深度優先搜尋先拜訪兄弟節點再派訪子節點 (C)廣度優先搜尋實作時通常使用集合結構 (D)深度優先搜尋實作時通常使用堆疊結構。[109普考電子]

(A)深度優先。(B)廣度優先。(C)佇列(queue)結構。

 

B02.堆疊資料結構通常適合用來實作下列何種功能? (A)緩衝區 (B)程式遞迴 (C)網路封包處理 (D)廣度優先搜尋(Breadth First Search)[110身心五等]

堆疊:先進後出(FILO, First In Last Out),最後放入(push)的資料,最先取出(pop),應用於回溯、遞迴、深度優先搜尋。

 

D03.下列何者不是堆疊(Stack)資料結構固有特性的應用? (A)反轉一個字串(String)的字元(Characters)順序 (B)檢查左括號與右括號是否正確配對 (C)遞迴(Recursive)程式的執行 (D)將一個資料串列分成兩大類。[110普考電子]

堆疊的應用:1.遞迴程式的呼叫及返還。2.中斷之處理。3.堆疊機器。4.回溯。5.中序式、前序式與後序式之間的相互轉換。6.後序運算式的計算。7.深度優先搜尋。8.字串反轉。

 

A04.假設有一個空的堆疊(stack),依序執行下列動作:push(3)push(10)push(25)push(5)pop()push(10)pop()pop()pop(),堆疊最上面的一個數字為何? (A)3 (B)5 (C)10 (D)25[110關務四等]

步驟

push(3)

push(10)

push(25)

push(5)

pop()

push(10)

pop()

pop()

pop()

stack

3

10

3

25

10

3

5

25

10

3

25

10

3

10

25

10

3

25

10

3

10

3

3

 

B05.下列那一個不是堆疊(Stack)的特性? (A)後進先出(Last in first out) (B)常用於程序(Process)記憶體的動態配置 (C)插入資料的動作在頂端(Top) (D)刪除資料的動作在頂端。[110鐵路員級]

堆疊的應用:1.主副程式間訊息傳送。2.遞迴程式的的呼叫和返回。3.CPU中斷處理。4.中序式、前序式與後序式間的轉換。5.後序式求值計算。6.堆疊機器。

 

C06.有甲、乙、丙三顆實心球,由左向右依序滾動跌入垂直管,如圖所示,有一機械手臂可從垂直管頂部一次取出一球,球取出的順序,下列何者是不可能的? (A)丙、乙、甲 (B)甲、丙、乙 (C)丙、甲、乙 (D)乙、丙、甲。[111地方四等電子]

 (A)Push 甲、Push 乙、Push 丙、Pop Pop Pop

(B)Push 甲、Pop Push 乙、Push 丙、Pop Pop

(D)Push 甲、Push 乙、Pop Push 丙、Pop Pop


 

B07.有一初始空的堆疊,執行下列命令:push 35push 27poppush 100push 55pop,請問堆疊中的內容由頂端(top)向下依序為何? (A)55 100 27 35 (B)100 35 (C)27 35 (D)55 100[111身心五等]

push 35

push 27

pop

push 100

push 55

pop

35

27

35

35

100

35

55

100

35

100

35

 

B08.對一個堆疊(Stack)可以執行推入(Push)、彈出(Pop)和清空(Empty)等基本運算。現在接連對一個空堆疊連續執行推入A、推入B、清空、推入C、推入D、推入E、彈出,最後執行推入F。在執行以上運算後,堆疊中共存在多少元素? (A)2 (B)3 (C)4 (D)5[111身心四等]

推入A A

推入B AB

清空

推入C C

推入D CD

推入E CDE

彈出 CD

推入F CDF

 

C09.在一個圖(Graph)中進行深度優先搜尋(Depth-first Search),應使用下列那種資料結構設計,可使得搜尋的過程最符合深度優先的順序? (A)佇列(Queue) (B)堆積(Heap) (C)堆疊(Stack) (D)雜湊表(Hash Table)[111身心四等]

堆疊的應用:1.遞迴程式的呼叫及返還,2.中斷之處理(Interrupt Handling)3.堆疊機器(Stack Machine)4.回溯(Backtracking)5.中序式、前序式與後序式之間的相互轉換,6.後序運算式的計算,7.深度優先搜尋,8.字串反轉。

 

A10.下列那一個結構,具有後進先出(Last In, First Out)的特色? (A)堆疊(Stack) (B)佇列(Queue) (C)最大堆積(Max Heap) (D)二元搜尋樹(Binary Search Tree)[111鐵路員級]

堆疊:後進先出(LIFO),先進後出(FILO),最後放入(push),最先取出(pop)

 

C11.正在執行的A程式可被中斷(Interrupt)暫停,而去執行B程式,等B程式執行完後再回到A程式繼續執行。下列那種資料結構最適合用於設計這樣的機制? (A)環形佇列(Circular Queue) (B)先進先出佇列(FIFO Queue) (C)堆疊(Stack) (D)雜湊表(Hash Table)[112地方四等電子]

堆疊:先進後出(FILO, First In Last Out),最後放入(push)的資料,最先取出(pop)

執行A Push A 被中斷

執行B Push B

B執行完畢 Pop

A執行完畢 Pop

 

C12.4個元素的資料序列{A,B,C,D},以ABCD的順序(A最先)經過堆疊(Stack)改變資料輸出的順序,堆疊可用推入(Push)、彈出(Pop)的動作,下列那種資料輸出順序是不可能的? (A)CBAD (B)BACD (C)ADBC (D)DCBA[112地方四等電子]

(A)Push A Push B Push C Pop Pop Pop Push D Pop 輸出順序CBAD

(B)Push A Push B Pop Pop Push C Pop Push D Pop 輸出順序BACD

(C)Push A Pop 應為Push B,不可能Push D

(D)Push A Push B Push C Push D Pop Pop Pop Pop 輸出順序DCBA

 

B13.已知資料來源的先後順序是:abcd(a最先、d最後),利用堆疊(Stack)做為緩衝區。將來源資料輸入、輸出堆疊,即存入(Push)或取出(Pop),下列何者是可能的資料輸出順序? (A)cdab(c最先、b最後) (B)cdba(c最先、a最後) (C)adbc(a最先、c最後) (D)dcab(d最先、b最後)[112身心五等]

Push a Push b Push c Pop c Push d Pop d Pop b Pop a

 

D14.作業系統是採用那種資料結構,來存取程式撰寫中遞迴函式呼叫(recursive function call)的整個過程? (A)陣列(Array) (B)佇列(Queue) (C)平行佇列(Parallel Queue) (D)堆疊(Stack)[112身心五等]

堆疊:先進後出(FILO, First In Last Out),最後放入(push)的資料,最先取出(pop),應用於回溯、遞迴、深度優先搜尋。

 

B15.資料結構的表示法中,運算元及運算子的位置會形成所謂前序或後序的表示法。若有兩個後序表示法,第一個是10 8 + 6 5 * -而第二個後序表示法是6 3 5 * - 2 4 - + 2 -。請問這兩個後序表示法若用堆疊法運算後,將個別的答案加起來,結果是多少? (A)-30 (B)-25 (C)27 (D)-8[112初考資處]

 

C16.假設兩個堆疊(stack)S1S2,一開始它們的內容都是空的(empty)。那麼執行下列的演算法後

push(S1, 5)

push(S1, 3)

push(S1, 2)

push(S2, 6)

push(S2, 7)

pop(S1)

while(not empty(S2)) push(S1, pop(S2))

S1的內容為何?(由左至右的順序代表堆疊的底部到上面) (A)5 3 2 7 6 (B)3 2 7 6 (C)5 3 7 6 (D)5 3 6 7[112國安五等]

S1 = (5 3 2), S2 = (6 7)

POP(S1) S1取出2

S1 = (5 3), S2 = (6 7)

執行while迴圈,將S26 7移到S1

S1= (5 3 6 7)

 

D17. 假設有堆疊S1S2與佇列Q1Q2Q3,以下圖方式連結,且Q1有三個資料ABC(A在佇列前端),其餘堆疊與佇列皆為空。

今有四個指令如下:

Q1非空,從Q1刪除一個資料並pushS1

S1非空,從S1pop出一個資料並加入到Q2

Q2非空,從Q2刪除一個資料並pushS2

S2非空,從S2pop出一個資料並加入到Q3

我們可用任何順序執行這四個指令,直到所有資料皆存入Q3。下列敘述何者正確? (A)資料被加入Q3的順序不可能是ACB (B)資料被加入Q3的順序不可能是BAC (C)資料被加入Q3的順序不可能是CAB (D)資料被加入Q3的順序可以是ABC的任意排列順序。[112普考電子]

堆疊是先進後出,佇列是先進先出。

Q1資料ABC依序移入到S1,接著從S1移至Q2,再從Q2移入S2,最後從S2移至Q3Q3的順序是ABC

 

C18.關於堆疊(Stack)資料結構,下列敘述何者錯誤? (A)可以使用鏈結串列(Linked list)實作堆疊 (B)堆疊的頂端(Top)總是存放最新插入的元素 (C)堆疊是FIFO的資料結構 (D)可以使用陣列(Array)實作堆疊。[112鐵路員級]

堆疊:先進後出(FILO, First-in-last-out)的資料結構,主要的操作有放入資料(push)和取出資料(pop)

 

B19.下列那個序列是下圖中以0為起點的Depth-first search順序? (A)012345 (B)013245 (C)012435 (D)013524[112鐵路員級]

深度優先搜尋法(DFS)(A)(C)12沒相連,(D)52沒相連。

 

留言

這個網誌中的熱門文章

計概16-09後序-公職試題

計概16-06樹-公職試題

計概16-09後序-統測試題