返回一个包含内部节点数和叶子数的元组

如何返回一个包含内部节点数和叶子数的元组?以下是到目前为止我得到的,但似乎无法正常工作。

此外,有人知道一个好的网站,我可以在其中学习二叉树和带有问题集的递归以进行更多练习吗?

class BTNode:
    '''Node in binary tree'''

    def __init__(self, value, left, right):
        '''
        Create new BTNode with value and possible children left and right'''

        self.value, self.left, self.right = value, left, right

    def count_nodes(n:'BTNode') -> (int, int):
        '''
        Return a tuple containing the number of interior nodes and the number of
        leaves in the tree rooted at n, or (0,0) if n is None.
        '''

        if not n:
            return (0,0)

        else:
            left_internal, left_leaves = count_nodes(n.left)
            right_internal, right_leaves = count_nodes(n.right)
            internal, leaf = (1 if n.left or n.right else 0,
                              1 if not n.left and not n.right else 0)

        return (left_internal + right_internal + internal, 
                left_leaves + right_leaves + leaf)
休·博斯韦尔
class BTNode:
    '''Node in binary tree'''

    def __init__(self, value, left=None, right=None):
        '''
        Create new BTNode with value and possible children left and right
        '''
        self.value, self.left, self.right = value, left, right

    def count_nodes(self):
        '''
        Return a tuple containing the number of interior nodes and the number of
        leaves in the tree rooted at n, or (0,0) if n is None.
        '''
        if self.left is None and self.right is None:
            # leaf
            return (0, 1)
        else:
            # internal node
            left_nodes,  left_leaves  = (0, 0) if self.left  is None else self.left.count_nodes()
            right_nodes, right_leaves = (0, 0) if self.right is None else self.right.count_nodes()
            return (left_nodes + 1 + right_nodes, left_leaves + right_leaves)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

返回一个包含 2 元组 (x,y) 的列表 x 和 y 是 numpy.ndarray

来自分类Dev

如何删除节点数组的最后一个节点?

来自分类Dev

numpy.histogram 的输出元组返回一个包含两个不同长度列表的元组

来自分类Dev

方案-二叉搜索树的内部节点数,该内部节点恰好具有一个子节点

来自分类Dev

在Swift中返回一个元组

来自分类Dev

返回一个元组数组

来自分类Dev

Segfault返回一个元组

来自分类Dev

样式:返回一个元组

来自分类Dev

psycopg2 fetchone() 方法返回一个包含表示 «result» 元组的字符串的单元素元组

来自分类Dev

SimpleXML和php-获取一个包含与另一个节点匹配的文本的节点

来自分类Dev

具有n个节点和n个顶点的图只能包含一个循环

来自分类Dev

EXTJS 4.1如何在树面板中选择下一个叶子节点

来自分类Dev

创建一个函数,它接受一个浮点数作为输入并返回一个包含数字的字符串

来自分类Dev

为什么不能制作一个包含元组和unique_ptr的元组作为C ++中的值?

来自分类Dev

使用嵌套的For Each和If从另一个子节点返回节点值

来自分类Dev

XML返回所有节点名称包含一个子字符串

来自分类Dev

XML返回所有节点名称包含一个子字符串

来自分类Dev

模板并返回一个节点*

来自分类Dev

当我的模式仅包含一组时,为什么re.findall返回一个元组列表?

来自分类Dev

取一个元组列表并返回一个元组

来自分类Dev

给定一个元组列表,其中包含一个元组中的2个团队,请返回一个列表,该列表从获胜团队到输失团队

来自分类Dev

AngularJS:从.then内部返回一个承诺?

来自分类Dev

如何声明一个包含委托的元组?

来自分类Dev

我应该如何创建一个在调用method时将返回的列表,它包含两个列表,每个列表包含四个元组?

来自分类Dev

找到一个节点和具有最大连接边的节点的连接边数

来自分类Dev

返回一个元组数组作为AnyObject?

来自分类Dev

返回同一个元组的函数的方法签名?

来自分类Dev

返回一个项目系列作为熊猫的元组

来自分类Dev

Python 3.9:取消IsoCalendarDate数据返回一个元组

Related 相关文章

  1. 1

    返回一个包含 2 元组 (x,y) 的列表 x 和 y 是 numpy.ndarray

  2. 2

    如何删除节点数组的最后一个节点?

  3. 3

    numpy.histogram 的输出元组返回一个包含两个不同长度列表的元组

  4. 4

    方案-二叉搜索树的内部节点数,该内部节点恰好具有一个子节点

  5. 5

    在Swift中返回一个元组

  6. 6

    返回一个元组数组

  7. 7

    Segfault返回一个元组

  8. 8

    样式:返回一个元组

  9. 9

    psycopg2 fetchone() 方法返回一个包含表示 «result» 元组的字符串的单元素元组

  10. 10

    SimpleXML和php-获取一个包含与另一个节点匹配的文本的节点

  11. 11

    具有n个节点和n个顶点的图只能包含一个循环

  12. 12

    EXTJS 4.1如何在树面板中选择下一个叶子节点

  13. 13

    创建一个函数,它接受一个浮点数作为输入并返回一个包含数字的字符串

  14. 14

    为什么不能制作一个包含元组和unique_ptr的元组作为C ++中的值?

  15. 15

    使用嵌套的For Each和If从另一个子节点返回节点值

  16. 16

    XML返回所有节点名称包含一个子字符串

  17. 17

    XML返回所有节点名称包含一个子字符串

  18. 18

    模板并返回一个节点*

  19. 19

    当我的模式仅包含一组时,为什么re.findall返回一个元组列表?

  20. 20

    取一个元组列表并返回一个元组

  21. 21

    给定一个元组列表,其中包含一个元组中的2个团队,请返回一个列表,该列表从获胜团队到输失团队

  22. 22

    AngularJS:从.then内部返回一个承诺?

  23. 23

    如何声明一个包含委托的元组?

  24. 24

    我应该如何创建一个在调用method时将返回的列表,它包含两个列表,每个列表包含四个元组?

  25. 25

    找到一个节点和具有最大连接边的节点的连接边数

  26. 26

    返回一个元组数组作为AnyObject?

  27. 27

    返回同一个元组的函数的方法签名?

  28. 28

    返回一个项目系列作为熊猫的元组

  29. 29

    Python 3.9:取消IsoCalendarDate数据返回一个元组

热门标签

归档