算法题/层次遍历二叉树
2017-08-23 10:37
190 查看
python2.7
#coding:utf-8 #创建二叉树 class Node(object): def __init__(self,data,left,right): self.data = data self.left = left self.right = right #创建二叉树 class Tree(object): def __init__(self,data): self.root = Node(data,None,None) self.size = 1 #层次遍历二叉树 def print_cengci(self): #根节点 """ 根--->左--->右 (弹出根) 左--->右--->左左--->左右(弹出左) 右--->左左--->左右--->右左--->右右 """ stack = [self.root] while stack: temp = stack.pop(0) print(temp.data+' ',end=' ') #如果有左子树结点 if temp.left: stack.append(temp.left) if temp.right: stack.append(temp.right) if __name__ == '__main__': #创建二叉树 print('create tree') tree = Tree(1) tree.root.left = Node(2,None,None) tree.root.right = Node(3,None,None) tree.root.left.left = Node(4,None,None) tree.root.left.right = Node(5,None,None) tree.root.right.left = Node(6,None,None) tree.root.right.right = Node(7,None,None) tree.root.left.left.left = Node(8,None,None) tree.root.left.right.right = Node(9,None,None) tree.root.right.left.right = Node(10,None,None) tree.root.right.right.left = Node(11,None,None) tree.root.right.right.right = Node(12,None,None) print('tree.root.data:',tree.root.data) print('tree.root.left.data:',tree.root.left.data) print('tree.root.left.left.data:',tree.root.left.left.data) print('tree.root.right.right.right.data',tree.root.right.right.right.data) print('cengcibianli:',tree.print_cengci())
相关文章推荐
- *第十一周*数据结构实践项目一【二叉树的层次遍历算法】
- 第十周项目1 算法验证-二叉树的层次遍历算法
- 二叉树的层次遍历及之形打印算法 Java实现
- 【简单算法】29.二叉树的层次遍历
- 刘汝佳算法入门经典第二版 二叉树的层次遍历
- 第十一周 项目一(1)-二叉树的层次遍历算法
- 第十一周 项目1-1 二叉树的层次遍历算法
- 按层次顺序(同一层自左至右)遍历二叉树的算法
- 二叉树(续) 三种层次遍历算法
- 第十一周【项目一-(1)二叉树的层次遍历算法】
- 第十一周项目1--验证算法之二叉树的层次遍历算法
- 第十一周项目--【二叉树的层次遍历算法】
- 程序员面试100题(算法)之层次遍历二叉树(含二叉树前序创建、层次遍历、前序遍历)
- 第十一周项目1(1)二叉树的层次遍历算法
- 第十一周 项目1 二叉树的层次遍历算法
- 第十一周实践项目1--二叉树的层次遍历算法
- 二叉树的深度优先,广度优先,以及层次遍历算法
- 数据结构和算法--二叉树的层次遍历
- 二叉树的层次遍历及求节点个数的算法
- 第十周 项目1 - 二叉树算法验证 (验证二叉树的层次遍历算法)