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("====后序遍历结束====")        
    

      保存为了更好的记忆

  • 相关阅读:
    Gradle 是什么
    Spring AOP知识
    Spring IOC常用注解
    spring 依赖注入
    Java实现基数排序
    Java实现基数排序(解决负数也可以排序)
    2020/4/10安卓开发:Spinner下拉框
    Spring ioc使用
    java实现:归并排序
    centos中docker的安装
  • 原文地址:https://www.cnblogs.com/wx2017/p/8926975.html
Copyright © 2011-2022 走看看