zoukankan      html  css  js  c++  java
  • 代码测试

    class Node# This is the Class Node with constructor that contains data variable to type data and left,right pointers.
        def __init__(self, data):
            self.data = data
            self.left = None
            self.right = None

    def display(tree): #In Order traversal of the tree

        if tree is None:
            return

        if tree.left is not None:
            
            display(tree.left)

        print(tree.data)

        if tree.right is not None:
            display(tree.right)

        return

    def depth_of_tree(tree): #This is the recursive function to find the depth of binary tree.
        if tree is None:
            return 0
        else:
            depth_l_tree = depth_of_tree(tree.left)
            depth_r_tree = depth_of_tree(tree.right)
            if depth_l_tree > depth_r_tree:
                return 1 + depth_l_tree
            else:
                return 1 + depth_r_tree


    def is_full_binary_tree(tree): # This functions returns that is it full binary tree or not?
        if tree is None:
            return True
        if (tree.left is Noneand (tree.right is None):
            return True
        if (tree.left is not Noneand (tree.right is not None):
            return (is_full_binary_tree(tree.left) and is_full_binary_tree(tree.right))
        else:
            return False


    def main(): # Main func for testing.
        tree = Node(1)
        tree.left = Node(2)
        tree.right = Node(3)
        tree.left.left = Node(4)
        tree.left.right = Node(5)
        tree.left.right.left = Node(6)
        tree.right.left = Node(7)
        tree.right.left.left = Node(8)

        tree.right.left.left.right = Node(9)

        print(is_full_binary_tree(tree))
        print(depth_of_tree(tree))
        print("Tree is: ")
        display(tree)


    if __name__ == '__main__':
        main()

  • 相关阅读:
    《编写高质量代码》读书笔记
    IL,Emit之OpCodes说明(备查)
    每天进步一点点
    DOCTYPE 与浏览器模式分析[转]
    一个EL IF表达式引发的血案
    JVM系列文章
    SunOs设置环境变量
    Solaris系统查看进程与端口对应关系的命令
    jsp 报错调试
    vi命令提示:Terminal too wide
  • 原文地址:https://www.cnblogs.com/binyang/p/10897547.html
Copyright © 2011-2022 走看看