作者qaz5620 (Ellie是我的最愛~)
看板Examination
標題[課業] 資料結構
時間Fri Apr 25 10:16:50 2014
設一Queue存於全長為n之密集串列Q內
HEAD, TAIL分別為開始及結尾指標 均以nil表為空
現欲加入新資料 處理可分為以下步驟
依序按條件做以下選擇
(1) 若 (A), 則表示Q已存滿, 無法做插入動作
(2) HEAD為nil, 表示Q內為空, 可取HEAD=1, TAIL=(B)
(3) 若TAIL=N, 表示(C)須將Q內由HEAD到TAIL位置之資料移到由
1到(D)之位置, 並取TAIL=(E), HEAD=1
解答 (A)TAIL-HEAD=N-1 (B)0 (C)佇列已加到陣列尾端
(D)TAIL-HEAD+1 (E)TAIL-HEAD+1
-------------------------------------------
這題我從(A)答案去推 得到以下佇列形式 可是BCDE解答就不知道怎推出了
H T
20 30 40 50
-1 0 1 2 3
3-(-1)=5-1=4
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.56.240.151
※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1398392213.A.D30.html
→ malowda:你推不對吧,這題應該是n個空間最多只用到n-1個空間,看你 04/25 11:40
→ malowda:推的是空間最大是4然後你又用了4個空間 04/25 11:41
→ qaz5620:我推的是包含-1共5個空間 4個元素這樣 04/25 12:13
→ panda555:妳推錯了 此題的head指向第一個元素 tail指向最後一個 04/25 14:39
→ panda555:第2題 她head指向null tail本身是在head以後的位置做 04/25 14:40
→ panda555:插入 04/25 14:40
→ qaz5620:那請問第二題 如果HEAD在NULL TAIL在1我懂 04/25 15:50
→ qaz5620:他後面又說可取HEAD在1 可是這樣跟TAIL在0衝突了@@ 04/25 15:51
→ malowda:這是一個單向的QUEUE他設T等於0,H等1不是很明顯是空的嗎 04/25 16:18
→ malowda:他又沒以T==H為條件怎麼會有衝突 04/25 16:20
→ panda555:建議你看一下queue的ADT 會比較了解queue的特性 04/25 16:20