堆(大頂堆,小頂堆),中序遍歷,前序遍歷,后續遍歷序列


堆的概念:

  • 堆中某個節點的值總是不大於或不小於其父節點的值;
  • 堆總是一棵完全二叉樹。

以百度的一個面試題為例:

  序列{9,12,17,30,50,20,60,65,4,19}構造為堆后,堆所對應的的中序遍歷序列可能為

  A、65,12,30,50,9,19,20,4,,17,60
  B、65,12,30,9,50,19,4,20,17,60
  C、65,9,30,12,19,50,4,20,17,60
  D、65,12,9,30,50,4,20,9,17,60

一、序列構造成堆:

  堆構造原則:先固定已穩定的堆,再 安照從上到下,從左到右的原則堆積。

  小頂堆原理:每個結點的值都小於其左孩子和右孩子結點的值

                                          

 

 

                           

 

                            

 

 

              

 

             

 

              

 

         

 

  小頂堆映射的數組為 

大頂堆

  原理與小頂堆相似:每個結點的值都大於其左孩子和右孩子結點的值

        

 

  大頂堆映射的數組為 

 

  注:藍色為穩定狀態,橙色為新增未確定狀態,紅色為要調整狀態

二、堆所對應的的中序遍歷序列

   中序遍歷:左中右     對構造成功的 小頂堆

       

              

 

 

 

        

 

        

 

      

 

    

 

       

 

 中序遍歷遍歷結果:

 答案選: B

先序遍歷遍歷結果:

后序遍歷遍歷結果:

 


免責聲明!

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



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