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

  • 相关阅读:
    php无限极分类
    HDU 1176 免费馅饼 (类似数字三角形的题,很经典,值得仔细理解的dp思维)
    HDU 1158(非常好的锻炼DP思维的题目,非常经典)
    HDU 1165 公式推导题
    HDU 1069 Monkey and Banana(转换成LIS,做法很值得学习)
    HDU 1059(多重背包加二进制优化)
    HDU 1058(打表)
    oracle11g之管理oracle数据库笔记(理论基础知识)
    oracle11g之Oracle体系结构(理论基础知识)
    HDU 1025 LIS二分优化
  • 原文地址:https://www.cnblogs.com/binyang/p/10897547.html
Copyright © 2011-2022 走看看