博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python数据结构之二叉树遍历的实现
阅读量:7103 次
发布时间:2019-06-28

本文共 1373 字,大约阅读时间需要 4 分钟。

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

#!/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 = rightclass 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.datan1 = 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

转载地址:http://bichl.baihongyu.com/

你可能感兴趣的文章