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()

  • 相关阅读:
    sql语句 之聚合函数
    UML类图几种关系的总结
    关于Object.defineProperty的get和set
    devDependencies和dependencies的区别
    函数声明和函数表达式的区别
    移动端滑屏滚动事件的问题(横向滑动阻止垂直页面滚动)
    使用Cordova和JQM在ios上需要注意的问题
    阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return fal的区别
    有关闭包的总结
    CSS命名规范——BEM思想(非常赞的规范)
  • 原文地址:https://www.cnblogs.com/binyang/p/10897547.html
Copyright © 2011-2022 走看看