zoukankan      html  css  js  c++  java
  • 二叉树广度遍历

    #encoding=utf-8
    from Queue import Queue
    class TreeNode(object):
        def __init__(self,var,left=None,right=None):
            self.var=var
            self.left=left
            self.right=right
     
    class PreOder(object):
        retlist=[]
        def __init__(self,root=None):
            self.root=root
     
        def preOder(self):
            queue=Queue()
            queue.put(self.root)#生成队列
            if self.root==None:
                return None
            while queue.empty() is not True:#队列内容是否为空
                node=queue.get()
                PreOder.retlist.append(node.var)#相对根节点
                if node.left!=None:
                    queue.put(node.left)
                if node.right!=None:
                    queue.put(node.right)
            return PreOder.retlist
     
    if __name__=="__main__":
        tree=TreeNode(1)
        tree.left=TreeNode(2,left=TreeNode(4),right=TreeNode(5))
        tree.right=TreeNode(3,left=TreeNode(6))
        content=PreOder(tree)
        print content.preOder()
  • 相关阅读:
    Unix IPC之共享内存区(1)
    linux下的二进制文件的编辑和查看
    Posix 信号量
    Unix IPC之Posix信号量实现生产者消费者
    整型信号量与记录型信号量
    C++之友元
    C++之异常处理
    C++之STL(标准模板库)
    C++之继承
    C++之封装
  • 原文地址:https://www.cnblogs.com/zhangtebie/p/11185851.html
Copyright © 2011-2022 走看看