作者darkcookies (D-GRAY MAN)
看板C_and_CPP
標題[問題] 二元樹建立問題
時間Sun Jan 29 22:52:47 2012
開發平台(Platform): GCC
額外使用到的函數庫(Library Used):
問題(Question):請問我有一個輸入是
5 1 1 4 1 0 8 1 1 11 1 1 13 0 0 4 0 1 7 0 0 2 0 0 1 0 0
樹長成
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
在建樹的過程小弟不知道怎麼判斷某個節點要接在某節點的下面的方法,請問該怎麼做呢?
餵入的資料(Input):5 1 1 4 1 0 8 1 1 11 1 1 13 0 0 4 0 1 7 0 0 2 0 0 1 0 0
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.48.17
→ darkcookies:輸入是三個數字為一組第一個數字是節點的值,第二個數 01/29 22:55
→ darkcookies:字為左節點是否存在,存在為1不存在為0,第三個數字為 01/29 22:57
→ darkcookies:右節點是否存在,如同左節點表示 01/29 22:58
推 LPH66:提示: 你不覺得他們的父節點是有順序的嗎...? 01/29 22:59
→ darkcookies:我的作法是先將把輸入存成陣列,但是大大說的順序,在 01/30 01:21
→ darkcookies:陣列裡並沒有空節點000,所以我用公式下去的話,會建 01/30 01:22
→ darkcookies:錯樹的結構... 01/30 01:22
推 cismjmgoshr:輸入是對二元樹做BFS的結果,可以用個佇列反推回去 01/30 02:24