国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現的二叉樹算法和kmp算法實例

2020-02-23 05:21:35
字體:
來源:轉載
供稿:網友

主要是:前序遍歷、中序遍歷、后序遍歷、層級遍歷、非遞歸前序遍歷、非遞歸中序遍歷、非遞歸后序遍歷

代碼如下:
#!/usr/bin/env python
#-*- coding:utf8 -*-


class TreeNode(object):
    def __init__(self, data=None, left=None, right=None):
        self.data = data
        self.left = left
        self.right = right


class Tree(object):
    def __init__(self, root=None):
        self.root = None

    def makeTree(self, data, left, right):
        self.root = TreeNode(data, left, right)

    def is_empty(self):
        """是否為空 """
        if self.root is None:
            return True
        return False

    def preOrder(self, r):
        """前序遍歷 """
        if not r.is_empty():
            print r.root.data
            if r.root.left is not None:
                r.preOrder(r.root.left)
            if r.root.right is not None:
                r.preOrder(r.root.right)

    def inOrder(self, r):
        """中序遍歷 """
        if not r.is_empty():
            if r.root.left is not None:
                r.preOrder(r.root.left)
            print r.root.data
            if r.root.right is not None:
                r.preOrder(r.root.right)

    def postOrder(self, r):
        """后續遍歷 """
        if not r.is_empty():
            if r.root.left is not None:
                r.preOrder(r.root.left)
            print r.root.data
            if r.root.right is not None:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潞城市| 赤水市| 讷河市| 水富县| 顺义区| 乌兰浩特市| 松阳县| 元谋县| 会同县| 岱山县| 霍城县| 柳江县| 伊宁县| 罗城| 平遥县| 东丽区| 镇康县| 胶南市| 顺昌县| 杭锦旗| 任丘市| 神农架林区| 泗洪县| 晋中市| 香格里拉县| 康马县| 绩溪县| 舟曲县| 额敏县| 巍山| 岳西县| 樟树市| 兴和县| 塘沽区| 维西| 科技| 贵阳市| 时尚| 霞浦县| 绥滨县| 南平市|