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

递归算法返回递归四叉树的嵌套结构

史朗
2023-03-14

我一直在用这个四叉树http://www.astroml.org/book_figures/chapter2/fig_quadtree_example.html

在一些数据上。但是我现在需要结果结构的嵌套表示。

其结构类似于:

QT.children[0].children[0].children[0].children

这里的子元素是递归元素,它是一个列表,包括进一步的QuadTree()实例。最低深度没有子级(len(children)为0),是我想要访问的表示。因此,在这种情况下,我会访问数据

>>> print QT.children[0].children[0].children[0].data

'hello this is from 0,0,0'

最终,我希望在最低级别的数据表示像:

[ [
    [  
      ['Hello this is from 0,0,0'],
      ['hello this is from 0,0,1'] 
    ],
    [
      ['hello this is from 0,1,0' ]
    ]
   ]
   ['hello this is from 1' ]
]   

共有1个答案

冯宏恺
2023-03-14

要修改对象的表示形式,必须覆盖__repr__函数,该函数返回对象的字符串形式。在您的例子中,您可能希望有一个递归函数来返回嵌套数据的列表(或数组),并将其用作表示。

 类似资料:
  • 本文向大家介绍数据结构 二叉树的递归与非递归,包括了数据结构 二叉树的递归与非递归的使用技巧和注意事项,需要的朋友参考一下 数据结构 二叉树的递归与非递归 实例代码:  先序遍历(递归法)   后序遍历      感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 我正在尝试创建一个递归函数,该函数将生成项的嵌套结构。此文件中的每个项都有一个指向其子项的指针和一个停止值,如您可以在下面看到的: 这个递归函数应该获得一个开始索引,它将根据该索引构建树,并返回一个嵌套的字典,如下所示:

  • 好的,我必须创建一个递归方法来计算树中的节点,我做到了(变量名是葡萄牙语的,对不起): arvbin是二叉树,esq和dir是对树分支的左右引用。 我以为这会奏效,但由于某种原因,当我尝试运行它时,它返回0。我使用了一些调试,我认为问题在于,当方法完成并返回到原始的非递归方法时,cardinalidade变量被设置为0。我不确定这是否是因为自动装箱会弄乱我的整数并将其转换为int,然后当我调用该方

  • 主要方法: 如果您需要类'BinaryNode',请询问,我会张贴它,我不想用代码交换这个问题... 输入: null null 我不明白为什么节点'2'和'3'返回时左值和右值为null。

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

  • 一、想要实现的效果 二、我的代码 public class People { } public static void main(String[] args) { 三、代码执行结果 四、解释 我递归用的少,用起来有点不达意。上面自己写的递归方法虽然能实现递归效果,但问题很大。 4.1、我的方法返回的只是命中项,而不是一个树的结构(除非第一层就命中了)。 4.2、返回的树里没有剔除未命中项。 上述两