看板 TransCSI 關於我們 聯絡資訊
※ 引述《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