python 두 갈래 트리 및 삽입, 반복 작업 실현

coding:utf-8


”’ author:xzfreewind ”’

두 갈래 나무의 나무 구조를 세우다


class TreeNode(object): def init(self,value,left=None,right=None): self.vaule = value self.left = left self.right = right

두 갈래 나무를 세우다


class binary_tree (object): # 두 갈래 트리 def init 초기화 (self): self.root = TreeNode()
# 
def add_date(self,data):
    node = TreeNode(data)
    # , 
    if self.isEmpty():
        self.root = node
    else:   # , , , 
        tree_node = self.root
        queue = []
        queue.append(tree_node)
        while queue:
            tree_node = queue.pop()
            if tree_node.left == None:
                tree_node.left = node
                return
            if tree_node.right == None:
                tree_node.right = node
                return
            else:
                queue.append(tree_node.left)
                queue.append(tree_node.right)
# 
def pre_map(self,root):
    if root == None:
        return
    print root.value
    self.pre_map(root.left)
    self.pre_map(root.right)

# 
def middle_map(self,root):
    if root == None:
        return
    self.middle_map(root.left)
    print root.value
    self.middle_map(root.right)

# 
def later_map(self,root):
    if root == None:
        return
    self.later_map(root.left)
    self.later_map(root.right)
    print root.value

좋은 웹페이지 즐겨찾기