計概16-01堆疊-公職試題
【選擇題】
【D】01.關於圖形拜訪(graph traversal)的方法,下列何者正確? (A)廣度優先搜尋先拜訪子節點再派訪父節點 (B)深度優先搜尋先拜訪兄弟節點再派訪子節點 (C)廣度優先搜尋實作時通常使用集合結構 (D)深度優先搜尋實作時通常使用堆疊結構。[109普考電子]
(A)深度優先。(B)廣度優先。(C)佇列(queue)結構。
【B】02.堆疊資料結構通常適合用來實作下列何種功能? (A)緩衝區 (B)程式遞迴 (C)網路封包處理 (D)廣度優先搜尋(Breadth First Search)。[110身心五等]
堆疊:先進後出(FILO, First In Last Out),最後放入(push)的資料,最先取出(pop),應用於回溯、遞迴、深度優先搜尋。
【D】03.下列何者不是堆疊(Stack)資料結構固有特性的應用? (A)反轉一個字串(String)的字元(Characters)順序 (B)檢查左括號與右括號是否正確配對 (C)遞迴(Recursive)程式的執行 (D)將一個資料串列分成兩大類。[110普考電子]
堆疊的應用:1.遞迴程式的呼叫及返還。2.中斷之處理。3.堆疊機器。4.回溯。5.中序式、前序式與後序式之間的相互轉換。6.後序運算式的計算。7.深度優先搜尋。8.字串反轉。
【A】04.假設有一個空的堆疊(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 |
【B】05.下列那一個不是堆疊(Stack)的特性? (A)後進先出(Last in first out) (B)常用於程序(Process)記憶體的動態配置 (C)插入資料的動作在頂端(Top) (D)刪除資料的動作在頂端。[110鐵路員級]
堆疊的應用:1.主副程式間訊息傳送。2.遞迴程式的的呼叫和返回。3.CPU中斷處理。4.中序式、前序式與後序式間的轉換。5.後序式求值計算。6.堆疊機器。
(B)Push 甲、Pop 甲、Push 乙、Push 丙、Pop 丙、Pop 乙
(D)Push 甲、Push 乙、Pop 乙、Push 丙、Pop 丙、Pop 甲
【B】07.有一初始空的堆疊,執行下列命令:push 35,push 27,pop,push 100,push 55,pop,請問堆疊中的內容由頂端(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 |
【B】08.對一個堆疊(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
【C】09.在一個圖(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.字串反轉。
【A】10.下列那一個結構,具有後進先出(Last In, First Out)的特色? (A)堆疊(Stack) (B)佇列(Queue) (C)最大堆積(Max Heap) (D)二元搜尋樹(Binary Search Tree)。[111鐵路員級]
堆疊:後進先出(LIFO),先進後出(FILO),最後放入(push),最先取出(pop)。
【C】11.正在執行的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
【C】12.有4個元素的資料序列{A,B,C,D},以A、B、C、D的順序(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
【B】13.已知資料來源的先後順序是:a、b、c、d(a最先、d最後),利用堆疊(Stack)做為緩衝區。將來源資料輸入、輸出堆疊,即存入(Push)或取出(Pop),下列何者是可能的資料輸出順序? (A)c、d、a、b(c最先、b最後) (B)c、d、b、a(c最先、a最後) (C)a、d、b、c(a最先、c最後) (D)d、c、a、b(d最先、b最後)。[112身心五等]
Push a → Push b → Push c → Pop c → Push d → Pop d → Pop b → Pop a
【D】14.作業系統是採用那種資料結構,來存取程式撰寫中遞迴函式呼叫(recursive function
call)的整個過程? (A)陣列(Array) (B)佇列(Queue) (C)平行佇列(Parallel Queue) (D)堆疊(Stack)。[112身心五等]
堆疊:先進後出(FILO, First In Last Out),最後放入(push)的資料,最先取出(pop),應用於回溯、遞迴、深度優先搜尋。
【B】15.資料結構的表示法中,運算元及運算子的位置會形成所謂前序或後序的表示法。若有兩個後序表示法,第一個是10 8 + 6 5 * -而第二個後序表示法是6 3 5 * - 2 4 - + 2 -。請問這兩個後序表示法若用堆疊法運算後,將個別的答案加起來,結果是多少? (A)-30 (B)-25 (C)27
(D)-8。[112初考資處]
【C】16.假設兩個堆疊(stack)S1與S2,一開始它們的內容都是空的(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迴圈,將S2的6 7移到S1
S1= (5 3 6 7)
●若Q1非空,從Q1刪除一個資料並push到S1中
●若S1非空,從S1pop出一個資料並加入到Q2中
●若Q2非空,從Q2刪除一個資料並push到S2中
●若S2非空,從S2pop出一個資料並加入到Q3中
我們可用任何順序執行這四個指令,直到所有資料皆存入Q3。下列敘述何者正確? (A)資料被加入Q3的順序不可能是A、C、B (B)資料被加入Q3的順序不可能是B、A、C (C)資料被加入Q3的順序不可能是C、A、B (D)資料被加入Q3的順序可以是A、B、C的任意排列順序。[112普考電子]
堆疊是先進後出,佇列是先進先出。
Q1資料A、B、C依序移入到S1,接著從S1移至Q2,再從Q2移入S2,最後從S2移至Q3,Q3的順序是A、B、C。
【C】18.關於堆疊(Stack)資料結構,下列敘述何者錯誤? (A)可以使用鏈結串列(Linked list)實作堆疊 (B)堆疊的頂端(Top)總是存放最新插入的元素 (C)堆疊是FIFO的資料結構 (D)可以使用陣列(Array)實作堆疊。[112鐵路員級]
堆疊:先進後出(FILO, First-in-last-out)的資料結構,主要的操作有放入資料(push)和取出資料(pop)。
留言
張貼留言