二叉樹遍歷分析

  簡單二叉樹遍歷,可分爲:先序,中序,後序。3d

  在此分別總結先序,中序,後序的結點輸出順序。blog

  先序: 1.訪問根結點ci

    2.訪問左子樹二叉樹

    3.訪問右子樹遍歷

 

先序較簡單,不予以即系解釋。im

  中序:1.訪問左子樹總結

     2.訪問根結點img

       3.訪問右子樹co

    原則:訪問左子樹。【先訪問左子樹中的左子樹,再訪問左子樹中的右子樹。】直到訪問到葉子結點後輸出。ps

       輸出根。

         訪問右子樹。【先訪問右子樹中的左子樹,再訪問右子樹中的右子樹。】直到訪問到葉子結點後輸出。

具體步驟以下:

  A做爲根。從A開始,先訪問A的左子樹。即

在看B的左子樹,D。則輸出D。B無左子樹。訪問完B的左子樹。而後訪問B。輸出B。再看B的右子樹。F有左子樹E,則輸出E。返回輸出F。A的左子樹所有輸出完,再返回A,輸出A。

  

同理,看A的右子樹。。輸出順序爲G,H,C,I。

 

因此,中序遍歷輸出的結果爲:(D B E F)A(G H C I).

 

  後序:1.訪問左子樹

     2.訪問右子樹

          3.訪問根

     原則:訪問左子樹。【先訪問左子樹中的左子樹,再訪問左子樹中的右子樹】。直到訪問到葉子結點後輸出。

        訪問右子樹。【先訪問右子樹中的左子樹,再訪問右子樹中的右子樹】。直到訪問到葉子結點後輸出。

        再返回訪問根,並輸出。

具體步驟:

  先訪問A的左子樹。再訪問左子樹中的左子樹。【即:A的左子樹爲B,再訪問B的左子樹D。D沒有左右子樹,輸出D。】,而後訪問左子樹中的右子樹。【即:訪問B的右子樹F,F還有左子樹,再訪問F的左子樹E,E沒有左右子樹。輸出E。再輸出F,再輸出B。】。

  而後訪問A的右子樹。再訪問右子樹中的左子樹。【即:A的右子樹爲C,再訪問C的左子樹G。G還有右子樹H,輸出H。再輸出G,再輸出G】,而後訪問右子樹中的右子樹。【即:訪問C的右子樹I,I沒有左右子樹,輸出I。在輸出C。再輸出A。】。

  因此,後序遍歷輸出結果爲:(D E F B)(H G I C)A

 

 

 

本節課時網頁連接:http://mooc.study.163.com/learn/ZJU-1000033001?tid=1000044001#/learn/content?type=detail&id=1000112008&cid=1000102047

相關文章
相關標籤/搜索