python二叉樹遍歷的實(shí)現(xiàn)方法
#!/usr/bin/python
# -*- coding: utf-8 -*-
class TreeNode(object):
def __init__(self,data=0,left=0,right=0):
self.data = data
self.left = left
self.right = right
class BTree(object):
def __init__(self,root=0):
self.root = root
def is_empty(self):
if self.root is 0:
return True
else:
return False
def preOrder(self,treenode):
if treenode is 0:
return
print treenode.data
self.preOrder(treenode.left)
self.preOrder(treenode.right)
def inOrder(self,treenode):
if treenode is 0:
return
self.inOrder(treenode.left)
print treenode.data
self.inOrder(treenode.right)
def postOrder(self,treenode):
if treenode is 0:
return
self.postOrder(treenode.left)
self.postOrder(treenode.right)
print treenode.data
n1 = TreeNode(data=1)
n2 = TreeNode(2,n1,0)
n3 = TreeNode(3)
n4 = TreeNode(4)
n5 = TreeNode(5,n3,n4)
n6 = TreeNode(6,n2,n5)
n7 = TreeNode(7,n6,0)
n8 = TreeNode(8)
root = TreeNode('root',n7,n8)
bt = BTree(root)
print 'preOrder......'
print bt.preOrder(bt.root)
print 'inOrder......'
print bt.inOrder(bt.root)
print 'postOrder.....'
print bt.postOrder(bt.root)
結(jié)果:
preOrder......
root
7
6
2
1
5
3
4
8
inOrder......
1
2
6
3
5
4
7
root
8
postOrder.....
1
2
3
4
5
6
7
8
root
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的建立實(shí)例
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷實(shí)例
- Python中的二叉樹查找算法模塊使用指南
- Python利用前序和中序遍歷結(jié)果重建二叉樹的方法
- python數(shù)據(jù)結(jié)構(gòu)樹和二叉樹簡(jiǎn)介
- python二叉樹的實(shí)現(xiàn)實(shí)例
- python數(shù)據(jù)結(jié)構(gòu)之二叉樹的統(tǒng)計(jì)與轉(zhuǎn)換實(shí)例
- Python實(shí)現(xiàn)重建二叉樹的三種方法詳解
- Python簡(jiǎn)單定義與使用二叉樹示例
- Python二叉樹初識(shí)(新手也秒懂!)
相關(guān)文章
5個(gè)Python中實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音模塊的使用講解
這篇文章主要為大家詳細(xì)介紹了5個(gè)Python中實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音模塊的使用,文中的示例代碼講解詳細(xì),對(duì)我們深入掌握Python有一定的幫助,需要的可以參考下2023-11-11
PYQT5 vscode聯(lián)合操作qtdesigner的方法
這篇文章主要介紹了PYQT5 vscode聯(lián)合操作qtdesigner的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
深入探究PyTorch核心特性之自動(dòng)求導(dǎo)和優(yōu)化
在你已經(jīng)掌握了如何使用PyTorch構(gòu)建神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,接下來我們將深入探討PyTorch的兩個(gè)核心特性:自動(dòng)求導(dǎo)(Autograd)和優(yōu)化(Optimization),這兩個(gè)特性在深度學(xué)習(xí)模型的訓(xùn)練過程中起著至關(guān)重要的作用,感興趣的同學(xué)一起來看看吧2023-07-07
用python 實(shí)現(xiàn)在不確定行數(shù)情況下多行輸入方法
今天小編就為大家分享一篇用python 實(shí)現(xiàn)在不確定行數(shù)情況下多行輸入方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
簡(jiǎn)單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法
counter數(shù)據(jù)結(jié)構(gòu)被用來提供技術(shù)功能,形式類似于Python中內(nèi)置的字典結(jié)構(gòu),這里通過幾個(gè)小例子來簡(jiǎn)單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法:2016-07-07
使用python刪除nginx緩存文件示例(python文件操作)
這篇文章主要介紹了使用python刪除nginx緩存文件示例(python文件操作),需要的朋友可以參考下2014-03-03
使用Python對(duì)SQLite數(shù)據(jù)庫(kù)操作
本文主要介紹了Python對(duì)SQLite數(shù)據(jù)庫(kù)操作的簡(jiǎn)單教程。SQLite是一種嵌入式數(shù)據(jù)庫(kù),它的數(shù)據(jù)庫(kù)就是一個(gè)文件。由于SQLite本身是C寫的,而且體積很小,所以,經(jīng)常被集成到各種應(yīng)用程序中,甚至在IOS和Android的APP中都可以集成。2017-04-04
基于OpenCV實(shí)現(xiàn)動(dòng)態(tài)畫矩形和多邊形并保存坐標(biāo)
這篇文章主要為大家詳細(xì)介紹了如何利用OpenCV實(shí)現(xiàn)動(dòng)態(tài)畫矩形和多邊形并保存坐標(biāo),文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以參考一下2023-03-03

