当前位置: 首页 > 知识库问答 >
问题:

使用python以树结构递归调用函数

越飞语
2023-03-14

我需要在树结构中递归调用函数。

下图是树结构的示例。

在此输入图像描述

在这里,我通过传递Afor循环中调用python函数,这将在第一个循环中生成B,在第二个循环中生成C

这里我需要为BC运行相同的函数,所以这里B将生成DEC将生成F,然后为D运行相同的python函数,它将生成G等等,我必须运行相同的函数,直到我得到null。

如何用python编写逻辑

共有1个答案

巫马昆杰
2023-03-14

根据最终目标,有更好的方法,但是这个基本的递归函数将遍历整个树。

def get_children(node):
    for child in node:
        get_children(child)

不过,这个结构将首先沿着树的左分支向下延伸。也许值得一提。

 类似资料:
  • 我现在正在实现模拟N体问题的Barnes-Hut算法。我只想问关于建筑树的部分。 我做了两个函数来为它构建树。 我递归地构建树,并在构建时打印每个节点的数据,一切看起来都是正确的,但当程序返回到主函数时,只有树的根和根的子节点存储值。其他节点的值没有被存储,这很奇怪,因为我在递归过程中打印了它们,它们应该被存储。 这是经过修改的代码的一部分,我认为问题可能在哪里: 下面是函数set_root_an

  • 第二个构造函数应该调用第一个构造函数,但却给了我“递归构造函数调用”错误。 我明白这个错误的意思,只是不明白递归在哪里。第一个contructor将作为参数,而应该是该类型的数组。我错过了什么? 多谢了。

  • 问题内容: 我有一个将位置链接在一起的数据库表;一个位置可以在一个位置,也可以在另一个位置内。 这是深入探讨MySQL / PHP的深度: 在给定父级位置的情况下,如何使用MySQL如何获得其所有后代位置,无论深度如何? 问题答案: mysql.com上有 一篇漂亮的文章 ,概述了管理分层数据的各种方法。我认为它为您的问题提供了完整的解决方案,并显示了各种不太简单但较快的方法(例如嵌套集)。

  • 我工作的问题,以检查如果二进制结构树是平衡或不,当我运行代码,我得到EXC_BAD_ACCESS,我不确定如何修复问题,是什么导致它打破。 假设代码在某个时刻命中 NULL 并返回 (true,-1),并深入到左侧子树。然后返回并转到右侧子树。我们可以检查左和右的子树是否由不同的平衡,如果它是 谢谢

  • 我试图在Python中做一个函数,它接受树的任意节点,并根据节点给出的列表填充列表。 考虑到以下绘制糟糕的树: 例如,如果我们从节点5开始,我们应该得到: 包含具有相同父节点的所有节点的列表,包括我们从(4和5)开始的节点。 任何子节点,但不是其子节点(6) 父节点和具有相同父节点的任何父节点,以及它们的父节点,等等,直到我们到达根节点,但不包括根节点(在本例中只有2和3个,但如果树更深,我们开始

  • 问题内容: 我已经为C中的驱动程序开发了一个DLL。我用C ++编写了一个测试程序,并且DLL可以正常工作。 现在,我想使用Python与该DLL进行交互。我已经成功隐藏了大多数用户定义的C结构,但是有一点我必须使用C结构。我是python的新手,所以我可能会出错。 我的方法是使用ctype在python中重新定义一些结构,然后将该变量传递给我的DLL。但是在这些类中,我有一个自定义链接列表,其中