当前位置: 首页 > 面试题库 >

寻找一个好的Python Tree数据结构

金理
2023-03-14
问题内容

我正在寻找一个好的Tree数据结构类。我遇到过这个软件包,但是由于我是Python的新手(不是编程人员),所以我不知道是否有更好的软件包。

我想在这里听到来自Pythonista的消息-您是否有喜欢的树脚本经常使用并会建议使用?

[编辑]

为了澄清,用“树”来表示,是指一个简单的无序树(嗯,这是一个递归定义,但希望可以使情况有所澄清)。关于我需要的树(即用例)。我正在从一个平面文件中读取树数据,我需要从该数据构建一棵树并遍历树中的所有节点。


问题答案:

自己动手。例如,仅将树建模为列表列表。在人们可以提供更好的建议之前,您应该详细说明您的特定需求。

为了回答HelloGoodbye的问题,这是一个迭代树的示例代码

def walk(node):
    """ iterate tree in pre-order depth-first search order """
    yield node
    for child in node.children:
        for n in walk(child):
            yield n

一个陷阱是,这种递归实现是O(n log n)。它适用于我必须处理的所有树木。也许Python 3中的子生成器会有所帮助。



 类似资料:
  • 可能重复: 替换python中的switch语句? 鉴于此方法: 我想让它成为一个开关大小写样式,但是Python不支持开关大小写。 有替代品吗?

  • 本文向大家介绍给一个数,去一个已经排好序的数组中寻找这个数的位置(通过快速查找,二分查找)?相关面试题,主要包含被问及给一个数,去一个已经排好序的数组中寻找这个数的位置(通过快速查找,二分查找)?时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍寻找一数组中前K个最大的数相关面试题,主要包含被问及寻找一数组中前K个最大的数时的应答技巧和注意事项,需要的朋友参考一下 考察点:数组    

  • 问题内容: 假设我在数据库中存储了一堆假期。 我需要做的是找出下一个工作日,不包括数据库中定义的星期六和公众假期。 例如。 假设今天是2月15日(星期五),而17日和18日是公众假期(在数据库中定义为日期时间)。因此,现在当我按下显示下一个工作日的按钮时,它将返回2月19日。 哪种方法最有效? 问题答案: 最简单 第1步:从数据库获取假期并将其格式化为您的格式,并将其保留在 第2步:创建一个增加天

  • 如何在数据集中找到几个最小值中的第一个?我希望至少2大于最小值。 例如, 我想将df['value'][0]或者简单地说(0.6)标识为这个数组中的第一个最小值。然后将df[‘值’][4]或(2.8)确定为至少比第一个确定的最小值(0.6)大2的值。 这适用于其他数据集,但在最小值为第一个时不适用。 理想的输出是: 正如评论中建议的那样,循环将是更好的方法。

  • 问题内容: 我是MySQL的新手,我很难理解如何在多个数据库中进行查询。 在解释基础结构时,我目前正在一个作业中,我在一个具有数据库集合的公共测试数据库中。 我有一个标识符值,我想在我知道存在于特定表中的所有数据库中进行搜索。在本示例中,我将使用表名称“ table1”。问题在于,并非所有数据库都拥有我正在表中查找的标识符列。 我的问题涉及两个部分:-如何搜索所有数据库以返回包含此列(table1