[問題] 給(前序or後序)+中序,建構為二元樹的演算
目前遇到一個問題
比如說今天題目給了一顆2元樹
前序走訪:CABDEF
中序走訪:BACEDF
還原成2元樹的話應該是長這樣
C
/ \
A D
/ /\
B E F
用想的是沒問題...
但是題目要求寫出程式碼...
想請問一下
要用什麼資料結構把給前序+中序
建構成二元樹的過程 寫成演算法?
想了很久實在沒有頭緒
有知道的版友可以給個大約的方向嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.254.138.228
推
09/04 20:47, , 1F
09/04 20:47, 1F
→
09/04 20:56, , 2F
09/04 20:56, 2F
可以呀
但是我卡在不知道要用什麼樣的資料結構先去存前序跟中序
比如說
前序第一個一定是樹根
再來去中序找到樹根 2邊就分別是左子樹跟右子樹
如此遞迴找下去
但就是有一種說不上來的沒頭緒...
※ 編輯: m6c04dk4 來自: 111.254.138.228 (09/04 21:11)
→
09/04 21:16, , 3F
09/04 21:16, 3F
→
09/04 21:17, , 4F
09/04 21:17, 4F
→
09/05 00:49, , 5F
09/05 00:49, 5F
推
09/05 14:17, , 6F
09/05 14:17, 6F
推
09/05 23:34, , 7F
09/05 23:34, 7F
→
09/05 23:37, , 8F
09/05 23:37, 8F
→
09/05 23:44, , 9F
09/05 23:44, 9F
→
09/05 23:44, , 10F
09/05 23:44, 10F
→
09/05 23:49, , 11F
09/05 23:49, 11F
→
09/05 23:50, , 12F
09/05 23:50, 12F
→
09/06 00:30, , 13F
09/06 00:30, 13F
OK 謝謝大大
※ 編輯: m6c04dk4 來自: 111.254.116.91 (09/07 08:15)
→
09/15 00:15, , 14F
09/15 00:15, 14F
→
09/15 00:16, , 15F
09/15 00:16, 15F
→
09/15 00:28, , 16F
09/15 00:28, 16F