zoukankan      html  css  js  c++  java
  • 二叉树算法-用于记忆

    #/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    class TreeNode(object):
        def __init__(self,val,left=None,right=None):
            self.val = val
            self.left = left
            self.right = right
    
    class BinaryTree(object):
        def __init__(self,root=None):
            self.root = root
    
    def preOrder(retList,node):
        if node != None:
            retList.append(node)
            preOrder(retList,node.left)
            preOrder(retList,node.right)
        return retList
    
    def inOrder(retList,node):
        if node != None:
            inOrder(retList,node.left)
            retList.append(node)
            inOrder(retList,node.right)        
        return retList
    
    def postOrder(retList,node):
        if node != None:
            postOrder(retList,node.left)
            postOrder(retList,node.right)
            retList.append(node)
        return retList
    
    
    if __name__ == "__main__":
        print("====二叉树线遍历开始====")
        rootNode = TreeNode(11)
        rootNode.left = TreeNode(9,left=TreeNode(6,left=TreeNode(3),right=TreeNode(8)),right=TreeNode(10)
        rootNode.right = TreeNode(17,left=TreeNode(12),right=TreeNode(19))
        bTree = BinaryTree(rootNode)
        ret = preOrder([],bTree.root)
        for i in ret:
            print(i.val),
        print("====先序遍历结束====")
    
        ret = inOrder([],bTree.root)
        for i in ret:
            print(i.val),
        print("====中序遍历结束====")    
    
        ret = postOrder([],bTree.root)
        for i in ret:
            print(i.val),
        print("====后序遍历结束====")        
    

      保存为了更好的记忆

  • 相关阅读:
    布隆过滤器
    springboot+redis实现分布式锁
    springboot+redis实现消息队列
    工作启示文章收藏
    redis常用命令
    前方的路
    分布式系统中对cookie和session的思考
    用Markdown来写自由书籍-开源技术的方案
    Centos 7.0添加yum本地安装源
    爹地,我找到了!15个极好的Linux find命令示例
  • 原文地址:https://www.cnblogs.com/wx2017/p/8926975.html
Copyright © 2011-2022 走看看