CSP-J初賽中有許多此類題目,普通方法比較耗費時間以至于無法完成后面的題目,所以在這里介紹一下較快的一種方法,
Bilibili:Link
額,視頻沒有字幕,在學校的話沒有耳機并不方便,這里手敲出來做法:
注意,本文在介紹做法時以已知先序遍歷與中序遍歷為例;
- 準備:
算草紙和筆就夠了(還有腦子;
- 首先,將算草紙順時針旋轉
90°,在算草紙(旋轉后的狀態)的第一行寫下先/后序遍歷的結果,如圖:

- 然后,將算草紙逆時針旋轉
90°,在算草紙(旋轉后的狀態)的最后一行寫下中序遍歷的結果,如圖:

- 額,下邊為了方便書寫,將省略“先序”和“中序”等字眼,并且將會把“
A B C D E”替換為實體,請注意;
- 把這張圖當作平面直角坐標系,描出各點,如圖:

- 現在,把這些點都連起來,如圖:

- 現在,你就得到了這棵樹!你只需要動動你還能掙扎著使用的腦子寫下先序/后序遍歷就可以了!
在這道題中,它的結果是:C B E F D A;
完結撒花!
本文來自博客園,作者:Taunting_Wind,轉載請注明原文鏈接:https://www.cnblogs.com/xinao2186182144/p/17212879.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/546767.html
標籤:C++
