※ 引述《undeaduck (undeaduck)》之銘言:
: 有四題,麻煩了!!!!
: 1.如圖(2)所示之樹,將其二元化後做中序追縱(inorder traversal),則所拜訪
: 的節點順序
: 為
: (A)ABCDEFGHI
: (B)EFBCGHIDA
: (C)EBFACGDHI
: (D)EBFCAGHDI
: 圖2:http://www.badongo.com/pic/4499056
: 另外可以請問什麼是二元化嗎?之前學的時候沒有聽過,找網頁也沒有!!
: 答案是給我B
二元化的意思是把一般樹化成二元樹,圖是一般樹。
用 left-most-child-next-right-sibling 法
原圖:
A
╱ ︱ ╲
B C D
╱ ╲ ╱∕﹨
E F G H I
化成二元樹:
A
╱
B
╱ \
E C
\ \
F D
/
G
\
H
\
I
再去做中序走訪就行了
: 2.一顆二元樹以中序追蹤的順序是ECFBDAHG,以後序追蹤的是EFBCHGAD,則以前序
: 追蹤的是
: (A)ABDGCEHF
: (B)ABCDEFGH
: (C)DECFBAHG
: (D)DCEBFAHG
: 答案是給B
: 可是我有問題的是"不是以後序追蹤的話最後一個就是根嗎?如果是根的話再以前序
: 追蹤的話應該是C或D答案才對?可是他給我的是B?想問是的是個問題 ?
可能是答案錯了吧
: 3.假設指令PUSH X動作是將暫存器X的內容放入STACK中,指令POP X動作是從STACK中
: 取出一個數目放至暫存器X中,X可為任意暫存器,若暫存器A,B,C,D的內容分別是
: 18,19,20,21時,依序執行PUSH A,PUSH B,PUSH C,PUSH D,PUSH D,PUSH C,PUSH B
: ,PUSH A,PUSH B後,暫存器A的內容將為
: (A)18 (B)19 (C)20 (D)21
: 答案給的是B----->覺得怪怪的,可否說明一下,看有沒有跟我想的一樣?麻煩了
他要問 stack 後的最上面一個值是多少?
PUSH A,PUSH B,PUSH C,PUSH D,PUSH D,PUSH C,PUSH B ,PUSH A,PUSH B
我算是 19
push A 指的是 push A 的值,依此類推
: 4.承3,現在假設指令PUTQ X動作是將暫存器X的內容放入QUEUE,指令GETQ X 是貯
: 列中取出一個PUTQ A,PUTQ B,GETQ C,GETQ D,PUTQ C,PUTQB,GETQ A,GETQ B後 ,
: 暫存器A的內容將為(A)18 (B)19 (C)20 (D)21
: 答案是A---->可否與3一樣說明一下呢?謝謝!!!!
我覺得這題怪怪
queue 裡面是空的,資料都被取出來
最後一個值是 19
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.228.101