python 递归遍历二叉树
生活随笔
收集整理的這篇文章主要介紹了
python 递归遍历二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python 遞歸遍歷二叉樹
我確定很多人不能真正的理解二叉樹……
class Node: def __init__(self,value=0,left=0,right=0): self.value=value self.left=left #左子樹self.right=right #右子樹def preTraverse(root): '''前序遍歷'''#print('#'*6)if root==0:#print('這個節點的值是',root)return 9 print(root.value) preTraverse(root.left) preTraverse(root.right) def midTraverse(root): '''中序遍歷'''if root==0: #print('這個節點的值是',root)return midTraverse(root.left) print(root.value) midTraverse(root.right) def afterTraverse(root): '''后序遍歷'''if root==0: return afterTraverse(root.left) afterTraverse(root.right) print(root.value)if __name__=='__main__':root=Node('D',Node('B',Node('A'),Node('C')),Node('E',Node('G'),Node('F')))print('前序遍歷:')preTraverse(root)print('\n')print('中序遍歷:')midTraverse(root)print('\n')print('后序遍歷:')afterTraverse(root)print('\n') 前序遍歷: D B A C E G F中序遍歷: A B C D G E F后序遍歷: A C B G F E D先序遍歷
對于二叉樹的的遍歷很可以用遞歸,遞歸很難理解,那我們就來捋一捋。
if root==0:print('這個節點的值是',root)return 9print(root.value)preTraverse(root.left)preTraverse(root.right)看懂這張圖就看懂中序遍歷
后序遍歷
posted on 2018-06-26 22:30 luoganttcc 閱讀(...) 評論(...) 編輯 收藏
總結
以上是生活随笔為你收集整理的python 递归遍历二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python self
- 下一篇: python 栈实现