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
  • 大小: 16.5 KB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值