首页 > 编程语言 > 详细

二叉树的遍历python 代码

时间:2019-04-21 12:47:57      阅读:142      评论:0      收藏:0      [点我收藏+]
 1 __author__ = "WSX"
 2 
 3 class Node:
 4     def __init__(self, val = None, left = None, right = None):
 5         self.val = val
 6         self.left = left
 7         self.right = right
 8 
 9 class tree:
10     def __init__(self, L):
11         self.val = L
12 
13     def bulid(self,root, i):    #将列表转化建立二叉树
14         if i < len(self.val):
15             root = Node(val = self.val[i])
16             root.left = self.bulid(root.left, 2*i+1)
17             root.right = self.bulid(root.right, 2*i+2)
18             return root
19         return root
20 
21     def preTraverse(self, tree_):
22         root = tree_
23         if root:
24             print(root.val)
25             self.preTraverse(root.left)
26             self.preTraverse(root.right)
27 
28     def midTraverse(self, tree_):
29         root = tree_
30         if root:
31             self.preTraverse(root.left)
32             print(root.val)
33             self.preTraverse(root.right)
34 
35 
36     def postTraverse(self, tree_):
37         root = tree_
38         if root:
39             self.preTraverse(root.left)
40             self.preTraverse(root.right)
41             print(root.val)
42 
43     def cengci(self, tree_):
44         root = tree_
45         queue = [root]  #借助队列
46         while root and len(queue)!= 0:
47             print(queue[0].val)  #visit
48             if queue[0].left:
49                 queue.append(queue[0].left)
50             if queue[0].right:
51                 queue.append(queue[0].right)
52             queue.pop(0)
53 
54 T = tree([1,2,3,"4","5","6"])
55 root = T.bulid(Node(), 0)
56 print("preTraverse"); T.preTraverse(root)
57 print("postTraverse");T.postTraverse(root)
58 print("midTraverse");T.midTraverse(root)
59 print("cengci");T.cengci(root)

 

二叉树的遍历python 代码

原文:https://www.cnblogs.com/WSX1994/p/10744561.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!