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

      保存为了更好的记忆

  • 相关阅读:
    8086汇编——课堂笔记整理2
    8086汇编——课堂笔记整理1
    PHP___认证___访问权限设置
    PHP___过期header expires
    Vue深度学习(5)-过渡效果
    Vue深度学习(4)-方法与事件处理器
    Vue深度学习(3)
    Vue深度学习(2)
    Vue深度学习(1)
    Vue.js 基本语法
  • 原文地址:https://www.cnblogs.com/wx2017/p/8926975.html
Copyright © 2011-2022 走看看