溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Python實現輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例

Python實現輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例

發布時間:2020-08-25 14:26:18 來源:腳本之家 閱讀:480 作者:稀里糊涂林老冷 欄目:開發技術

本文實例講述了Python實現輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作。分享給大家供大家參考,具體如下:

實現一個功能:

    輸入:一顆二叉樹的先序和中序遍歷
    輸出:后續遍歷

思想:

先序遍歷中,第一個元素是樹根
    在中序遍歷中找到樹根,左邊的是左子樹 右邊的是右子樹

Python代碼:

# -*- coding:utf-8 -*-
def fromFMtoL( mid ):
  global las #全局后序遍歷
  global fir #先序遍歷
  root = fir[0]  #取出當前樹根
  fir = fir[1:]  #取出樹根后 先序遍歷把根拿出來 下面一個元素做樹根
  root_po = mid.find( root ) #在中序遍歷當中樹根的位置
  left = mid[0:root_po]  #左子樹
  right = mid[root_po+1:len(mid)] #右子樹
  '''
  后序遍歷: 左 右 根 
  先左子樹 再右子樹 最后跟
  '''
  #有左子樹的時候
  if len(left) > 0:
    fromFMtoL( left )
  #有右子樹的時候
  if len(right) > 0:
    fromFMtoL( right )
  #樹根寫進結果
  las += root
if __name__ == "__main__" :
  # fir = input("請輸入先序遍歷:")   #前序遍歷的結果
  # mid = input("請輸入中序遍歷:")   #中序遍歷的結果
  fir = "DBACEGF"
  mid = "ABCDEFG"
  # fir = "ABC"
  # mid = "BAC"
  las = ""
  fromFMtoL( mid )
  print(las)

運行結果:

ACBFGED

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女