二叉树的先序遍历

二叉树先序遍历遵循:

访问根结点
遍历其左子树
遍历其右子树

简单来说就是根->左树->左树的左树->左树的左树的左树->(一直遍历到没有左树为止)右树->(如果没没有右树就往上)->一直遍历到右树的右树也没有了()就结束了

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 preOrder(self,treenode):
        if treenode is 0:
            return
        print(treenode.data)
        self.preOrder(treenode.left)
        self.preOrder(treenode.right)
if __name__=='__main__':
    n1=TreeNode(data='g')
    print(n1)#第0个节点 data =g   0    0
    n2=TreeNode('e')
    print(n2)#第二个节点 data=e   0, 0
    n3 = TreeNode('d',0,n2)
    print(n3)#第3个节点  data=d   0,n2
    n4 = TreeNode('f',n1,0)
    print(n4)#第4个节点  data=d   n1,0
    n5 = TreeNode('b',n3,n4)
    print(n5)#第5个节点  data=d   n3,n4
    n6 = TreeNode('c')
    print(n6)#第6个节点  data=d   0,0
    root=TreeNode('a',n5,n6)
#第7个节点   data=a   n5,n6
    bt=BTree(root)
    print("先序遍历".center(50,'-'))
    bt.preOrder(bt.root)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值