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

  • 相关阅读:
    mybatis 二级缓存
    前端学习记
    消息队列高手课 笔记11
    cache业务
    这个前端课程主要讲mui框架
    spring cloud stream
    最近学习freemarker
    说点什么
    即将进入Windows 11时代,DevExpress控件将会有哪些改变呢?
    UI开发框架Kendo React R3 2021更新亮点——新的 React 组件
  • 原文地址:https://www.cnblogs.com/yupeng/p/3414451.html
Copyright © 2011-2022 走看看