zoukankan      html  css  js  c++  java
  • python数据结构之二叉树遍历的实现

    本篇是实现二叉树的三种遍历,先序遍历,中序遍历,后序遍历

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    class TreeNode(object):
        def __init__(self,data=0,left=0,right=0):
            self.data = data
            self.left = left
            self.right = right
    
    
    class BTree(object):
        def __init__(self,root=0):
            self.root = root
    
        def is_empty(self):
            if self.root is 0:
                return True
            else:
                return False
    
        def preOrder(self,treenode):
            if treenode is 0:
                return
            print treenode.data
            self.preOrder(treenode.left)
            self.preOrder(treenode.right)
    
        def inOrder(self,treenode):
            if treenode is 0:
                return
            self.inOrder(treenode.left)
            print treenode.data
            self.inOrder(treenode.right)
    
        def postOrder(self,treenode):
            if treenode is 0:
                return
            self.postOrder(treenode.left)
            self.postOrder(treenode.right)
            print treenode.data
    
    
    n1 = TreeNode(data=1)
    n2 = TreeNode(2,n1,0)
    n3 = TreeNode(3)
    n4 = TreeNode(4)
    n5 = TreeNode(5,n3,n4)
    n6 = TreeNode(6,n2,n5)
    n7 = TreeNode(7,n6,0)
    n8 = TreeNode(8)
    root = TreeNode('root',n7,n8)
    
    bt = BTree(root)
    print 'preOrder......'
    print bt.preOrder(bt.root)
    print 'inOrder......'
    print bt.inOrder(bt.root)
    print 'postOrder.....'
    print bt.postOrder(bt.root)

    结果:

    preOrder......
    root
    7
    6
    2
    1
    5
    3
    4
    8

    inOrder......
    1
    2
    6
    3
    5
    4
    7
    root
    8

    postOrder.....
    1
    2
    3
    4
    5
    6
    7
    8
    root

  • 相关阅读:
    QT5:类总结
    QT5:控件
    QT5:事件
    杂谈感想:致毛星云大佬
    QT5:3D
    QT5:其他问题
    QT5:文件
    iOS开发小技巧
    vs2010 学习Silverlight学习笔记(24):TransForm处理图片
    vs2010 学习Silverlight学习笔记(25):综合图片应用和《功夫之王》相册
  • 原文地址:https://www.cnblogs.com/yupeng/p/3414451.html
Copyright © 2011-2022 走看看