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

      保存为了更好的记忆

  • 相关阅读:
    jmeter-获取数据库中的数据
    jmeter常见报错汇总
    学习目录
    Spring+Spring Security+JSTL实现的表单登陆的例子
    Spring+Spring Security+Maven 实现的一个Hello World例子
    第六章:位置匹配
    第五章:重复匹配
    第四章:使用元字符
    第三章:匹配一组字符
    第二章:匹配单个字符
  • 原文地址:https://www.cnblogs.com/wx2017/p/8926975.html
Copyright © 2011-2022 走看看