先序序列為a,b,c,d的不同二叉樹有多少?


 

一棵二叉樹的構建可以看作是一次入棧—出棧的過程。
 

對一個結點來說:

  • 當它在棧中時,往后入棧的元素都是它的左子樹
  • 出棧之后,往后入棧的元素都是它的右子樹

用遞歸的思想,這一次完整的將所有結點入棧—出棧的過程就能構造一棵唯一的二叉樹。
 

舉例說明:

(a入棧,b入棧,b出棧,c入棧,c出棧,a出棧,d入棧,d出棧)

image-20200720171400322
出棧順序:b-c-a-d

 

出棧順序 = 此二叉樹的中序遍歷

而前序+中序可以唯一確定一棵二叉樹

所以,有多少種出棧的順序,就有對應多少顆不同的二叉樹了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM