欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python二叉樹遍歷的實(shí)現(xiàn)方法

 更新時(shí)間:2013年11月21日 14:14:07   作者:  
這篇文章主要介紹了python二叉樹遍歷的實(shí)現(xiàn)方法,使用了三種遍歷:先序遍歷,中序遍歷,后序遍歷,方法大家參考使用

復(fù)制代碼 代碼如下:

#!/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

相關(guān)文章

  • python中異常報(bào)錯(cuò)處理方法匯總

    python中異常報(bào)錯(cuò)處理方法匯總

    之前在學(xué)習(xí)python的時(shí)候有整理過(guò)python異常處理的文章,不夠簡(jiǎn)單也不夠完整,所以決定再整理一篇,算做補(bǔ)充,大家學(xué)習(xí)一下,就可以自己思考解決方法了,希望對(duì)大家能夠有所幫助
    2016-11-11
  • 使用python Fabric動(dòng)態(tài)修改遠(yuǎn)程機(jī)器hosts的方法

    使用python Fabric動(dòng)態(tài)修改遠(yuǎn)程機(jī)器hosts的方法

    今天小編就為大家分享一篇使用python Fabric動(dòng)態(tài)修改遠(yuǎn)程機(jī)器hosts的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 詳解Python里使用正則表達(dá)式的ASCII模式

    詳解Python里使用正則表達(dá)式的ASCII模式

    ASCII(American Standard Code for Information Interchange),是一種單字節(jié)的編碼。這篇文章主要介紹了Python里使用正則表達(dá)式的ASCII模式,需要的朋友可以參考下
    2017-11-11
  • Scrapy框架介紹之Puppeteer渲染的使用

    Scrapy框架介紹之Puppeteer渲染的使用

    這篇文章主要介紹了Scrapy框架介紹之Puppeteer渲染的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 對(duì)Python 除法負(fù)數(shù)取商的取整方式詳解

    對(duì)Python 除法負(fù)數(shù)取商的取整方式詳解

    今天小編就為大家分享一篇對(duì)Python 除法負(fù)數(shù)取商的取整方式詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 如何使用python的subprocess執(zhí)行命令、交互、等待、是否結(jié)束及解析JSON結(jié)果

    如何使用python的subprocess執(zhí)行命令、交互、等待、是否結(jié)束及解析JSON結(jié)果

    這篇文章主要給大家介紹了關(guān)于如何使用python的subprocess執(zhí)行命令、交互、等待、是否結(jié)束及解析JSON結(jié)果的相關(guān)資料,subprocess模塊提供了一種簡(jiǎn)單的方法來(lái)創(chuàng)建和管理子進(jìn)程,它可以讓我們?cè)赑ython程序中執(zhí)行外部命令,獲取命令的輸出和錯(cuò)誤信息,需要的朋友可以參考下
    2023-12-12
  • python 深入了解GIL鎖詳細(xì)

    python 深入了解GIL鎖詳細(xì)

    這篇文章主要介紹了python 深入了解GIL鎖,python的使用者都知道Cpython解釋器有一個(gè)弊端,真正執(zhí)行時(shí)同一時(shí)間只會(huì)有一個(gè)線程執(zhí)行,這是由于設(shè)計(jì)者當(dāng)初設(shè)計(jì)的一個(gè)缺陷,里面有個(gè)叫GIL鎖的,但他到底是什么,接下來(lái)和小編一起進(jìn)入下面文章詳細(xì)內(nèi)容吧
    2021-10-10
  • python使用opencv resize圖像不進(jìn)行插值的操作

    python使用opencv resize圖像不進(jìn)行插值的操作

    這篇文章主要介紹了python使用opencv resize圖像不進(jìn)行插值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 利用rest framework搭建Django API過(guò)程解析

    利用rest framework搭建Django API過(guò)程解析

    這篇文章主要介紹了利用rest framework搭建Django API過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 關(guān)于Python可視化Dash工具之plotly基本圖形示例詳解

    關(guān)于Python可視化Dash工具之plotly基本圖形示例詳解

    這篇文章主要介紹了關(guān)于Python可視化Dash工具之plotly基本圖形示例詳解,需要的朋友可以參考下
    2021-03-03

最新評(píng)論