• python-树形结构和遍历


     1 #!/usr/bin/python
     2  
     3 class TreeNode(object):
     4     def __init__(self,data = 0,left = None,right = None):
     5         self.data = data
     6         self.left = left
     7         self.right = right
     8  
     9 class Bitree(object):
    10     def __init__(self,root=None):
    11         self.root = root
    12  
    13     def is_empty(self):
    14         if self.root is None:
    15             return True
    16         else:
    17             return False
    18  
    19     def preOrder(self,treenode):
    20         if treenode is None:
    21             return
    22  
    23         print(treenode.data)
    24         self.preOrder(treenode.left)
    25         self.preOrder(treenode.right)
    26  
    27     def inOrder(self,treenode):
    28  
    29         if treenode is None:
    30             return
    31  
    32         self.inOrder(treenode.left)
    33         print(treenode.data)
    34         self.inOrder(treenode.right)
    35  
    36     def postOrder(self,treenode):
    37  
    38         if treenode is None:
    39             return
    40  
    41         self.postOrder(treenode.left)
    42         self.postOrder(treenode.right)
    43         print(treenode.data)
    44  
    45  
    46  
    47 n1 = TreeNode(1)
    48 n2 = TreeNode(2,n1)
    49 n3 = TreeNode(3)
    50 n4 = TreeNode(4)
    51 n5 = TreeNode(5,n3,n4)
    52 n6 = TreeNode(6,n2,n5)
    53 n7 = TreeNode(7,n6)
    54 n8 = TreeNode(8)
    55 root = TreeNode('root',n7,n8)
    56  
    57 bt = Bitree(root)
    58 print ('preOrder......')
    59 print (bt.preOrder(bt.root))
    60 print ('inOrder......')
    61 print (bt.inOrder(bt.root))
    62 print ('postOrder.....')
    63 print (bt.postOrder(bt.root))
  • 相关阅读:
    关系型数据库与非关系型数据库
    项目技术点总结
    小程序项目开发总结
    小程序的生命周期
    ES6中的class 与prototype
    js中的深拷贝与浅拷贝
    DOM的构建与优化
    ES6中promise总结
    react服务端渲染
    vue服务端渲染
  • 原文地址:https://www.cnblogs.com/chengyunshen/p/7195865.html
Copyright © 2020-2023  润新知