Python實(shí)現(xiàn)輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例
本文實(shí)例講述了Python實(shí)現(xiàn)輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作。分享給大家供大家參考,具體如下:
實(shí)現(xiàn)一個(gè)功能:
輸入:一顆二叉樹的先序和中序遍歷
輸出:后續(xù)遍歷
思想:
先序遍歷中,第一個(gè)元素是樹根
在中序遍歷中找到樹根,左邊的是左子樹 右邊的是右子樹
Python代碼:
# -*- coding:utf-8 -*- def fromFMtoL( mid ): global las #全局后序遍歷 global fir #先序遍歷 root = fir[0] #取出當(dāng)前樹根 fir = fir[1:] #取出樹根后 先序遍歷把根拿出來 下面一個(gè)元素做樹根 root_po = mid.find( root ) #在中序遍歷當(dāng)中樹根的位置 left = mid[0:root_po] #左子樹 right = mid[root_po+1:len(mid)] #右子樹 ''' 后序遍歷: 左 右 根 先左子樹 再右子樹 最后跟 ''' #有左子樹的時(shí)候 if len(left) > 0: fromFMtoL( left ) #有右子樹的時(shí)候 if len(right) > 0: fromFMtoL( right ) #樹根寫進(jìn)結(jié)果 las += root if __name__ == "__main__" : # fir = input("請輸入先序遍歷:") #前序遍歷的結(jié)果 # mid = input("請輸入中序遍歷:") #中序遍歷的結(jié)果 fir = "DBACEGF" mid = "ABCDEFG" # fir = "ABC" # mid = "BAC" las = "" fromFMtoL( mid ) print(las)
運(yùn)行結(jié)果:
ACBFGED
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷實(shí)例
- Python利用前序和中序遍歷結(jié)果重建二叉樹的方法
- python二叉樹遍歷的實(shí)現(xiàn)方法
- Python實(shí)現(xiàn)二叉樹結(jié)構(gòu)與進(jìn)行二叉樹遍歷的方法詳解
- python實(shí)現(xiàn)的二叉樹定義與遍歷算法實(shí)例
- Python編程實(shí)現(xiàn)二叉樹及七種遍歷方法詳解
- Python實(shí)現(xiàn)二叉樹的常見遍歷操作總結(jié)【7種方法】
- Python實(shí)現(xiàn)二叉樹前序、中序、后序及層次遍歷示例代碼
- python先序遍歷二叉樹問題
- python創(chuàng)建與遍歷二叉樹的方法實(shí)例
相關(guān)文章
Python之ReportLab繪制條形碼和二維碼的實(shí)例
下面小編就為大家分享一篇Python之ReportLab繪制條形碼和二維碼的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01Python 3.x 安裝opencv+opencv_contrib的操作方法
下面小編就為大家分享一篇Python 3.x 安裝opencv+opencv_contrib的操作方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04python實(shí)現(xiàn)爬取千萬淘寶商品的方法
這篇文章主要介紹了python實(shí)現(xiàn)爬取千萬淘寶商品的方法,涉及Python頁面抓取的相關(guān)技巧,需要的朋友可以參考下2015-06-06Python 利用Entrez庫篩選下載PubMed文獻(xiàn)摘要的示例
這篇文章主要介紹了Python 利用Entrez庫篩選下載PubMed文獻(xiàn)摘要的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11