欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python的二叉树应用

程序员文章站 2022-07-10 10:20:10
...

一 构建二叉树的结构


python的二叉树应用
            
    
    博客分类: python python二叉树 
 
 
二 代码
  1. classBTree:
  2. def __init__(self,value):
  3. self.left =None
  4. self.data = value
  5. self.right =None
  6. def insertLeft(self,value):
  7. self.left =BTree(value)
  8. return self.left
  9. def insertRight(self,value):
  10. self.right =BTree(value)
  11. return self.right
  12. def show(self):
  13. print(self.data)
  14. #先序遍历
  15. def preorder(node):
  16. if node.data:
  17. node.show()
  18. if node.left:
  19. preorder(node.left)
  20. if node.right:
  21. preorder(node.right)
  22. #中序遍历
  23. def inorder(node):
  24. if node.data:
  25. if node.left:
  26. inorder(node.left)
  27. node.show()
  28. if node.right:
  29. inorder(node.right)
  30. #后序遍历
  31. def postorder(node):
  32. if node.data:
  33. if node.left:
  34. postorder(node.left)
  35. if node.right:
  36. postorder(node.right)
  37. node.show()
  38. if __name__ =='__main__':
  39. Root=BTree('Root')
  40. A =Root.insertLeft('A')
  41. C = A.insertLeft('C')
  42. D = A.insertRight('D')
  43. F = D.insertLeft('F')
  44. G = D.insertRight('G')
  45. B =Root.insertRight('B')
  46. E = B.insertRight('E')
  47. print('***********************')
  48. print('先序遍历')
  49. print('***********************')
  50. preorder(Root)
  51. print('***********************')
  52. print('中序遍历')
  53. print('***********************')
  54. inorder(Root)
  55. print('***********************')
  56. print('后序遍历')
  57. print('***********************')
  58. postorder(Root)
 
三 运行结构
***********************
先序遍历
***********************
Root
A
C
D
F
G
B
E
***********************
中序遍历
***********************
C
A
F
D
G
Root
B
E
***********************
后序遍历
***********************
C
F
G
D
A
E
B
Root
  • python的二叉树应用
            
    
    博客分类: python python二叉树 
  • 大小: 16.5 KB
相关标签: python 二叉树