<pre id="lrjz7"></pre>
      <sub id="lrjz7"></sub>

    <span id="lrjz7"></span>

    <em id="lrjz7"><ins id="lrjz7"><cite id="lrjz7"></cite></ins></em>

    <big id="lrjz7"></big>

    <em id="lrjz7"></em><track id="lrjz7"><nobr id="lrjz7"></nobr></track>

      <em id="lrjz7"><output id="lrjz7"><mark id="lrjz7"></mark></output></em>

        <span id="lrjz7"></span><span id="lrjz7"><delect id="lrjz7"><ins id="lrjz7"></ins></delect></span>
        更多課程 選擇中心

        Python培訓
        達內IT學院

        400-111-8989

        Python培訓講解二叉樹的三種深度

        • 發布:Python培訓
        • 來源:Python練習題庫
        • 時間:2020-04-24 16:31

        python代碼實現了二叉樹,這次將會實現二叉樹的幾種遍歷方法,來更好的解析二叉樹的結構特點。分別是一種廣度遍歷,和三種深度遍歷方法:先序遍歷,中序遍歷,后序遍歷。下面是代碼實現:

        1、先序遍歷

        遍歷順序:根==》左子樹==》右子樹,實現代碼:

        def pre(self,node):#定義一個先序遍歷的方法

        if node is None:#判斷節點是否為空,為空則返回

        return

        print(node.elem,end=' ')#打印遍歷的節點

        self.pre(node.left)#遞歸左子樹

        self.pre(node.right)#遞歸右子樹

        2、中序遍歷

        遍歷順序:左子樹==》根 ==》右子樹,實現代碼:

        def md(self,node):#定義一個中序遍歷的方法

        if node is None: #判斷節點是否為空,為空則返回

        return

        self.md(node.left) #遞歸左子樹

        print(node.elem,end=' ') #打印遍歷的節點

        self.md(node.right) #遞歸右子樹

        3、后序遍歷

        遍歷順序:左子樹==》右子樹==》根,實現代碼:

        def bhd(self,node):#定義一個后序遍歷的方法

        if node is None:#判斷節點是否為空,為空返回

        return

        self.bhd(node.left)#遞歸左子樹

        self.bhd(node.right)#遞歸右子樹

        print(node.elem,end=' ')#打印遍歷的節點

        打印結果:

        if __name__ == "__main__":

        tree=Tree()

        tree.add(0)

        tree.add(1)

        tree.add(2)

        tree.add(3)

        tree.add(4)

        tree.add(5)

        tree.add(6)

        tree.add(7)

        tree.add(8)

        tree.pre(tree.root)#打印先序遍歷的值

        print(' ')

        tree.md(tree.root)#打印中序遍歷的值

        print(' ')

        tree.bhd(tree.root)#打印后序遍歷的值

        print(' ')

        #輸出:

        # 0 1 3 7 8 4 2 5 6 先序遍歷的值

        # 7 3 8 1 4 0 5 2 6 中序遍歷的值

        # 7 8 3 4 1 5 6 2 0 后序遍歷的值

        總結二叉樹的三種深度遍歷的實現主要是利用了遞歸,利用不同的遍歷順序來改變遞歸的順序和節點打印的順序來實現,利用這一特點就可以用python快速的實現三種遍歷方法了。

        文章來源:騰訊云,版權聲明:轉載文章來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權益,請與我們聯系刪除或授權事宜。

        預約申請免費試聽課

        填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

        上一篇:Python培訓:如何實現窮舉搜索?
        下一篇:2021年Python面試題及答案匯總詳解

        2021年Python面試題及答案匯總詳解

        python數據分析,你需要這些工具

        Python培訓講解二叉樹的三種深度

        Python培訓:如何實現窮舉搜索?

        • 關注微信公眾號

          回復關鍵字:視頻資料

          免費領取 達內課程視頻學習資料

        • 視頻學習QQ群

          添加QQ群:1143617948

          免費領取達內課程視頻學習資料

        Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        黑龍江省

        吉林省

        河北省

        湖南省

        貴州省

        云南省

        廣西省

        海南省

        4438全国大成网人网站,亚洲 图 色 欧美 另类 小说,国产精品 欧美在线 另类小说,欧美日韩中文国产一区