tree-traversal相关内容

如何在java中将树结构转换为节点流

我想在 Java8 节点流中转换树. 这是一个存储数据的节点树,可供选择: 公共类 SelectTree;{私人 D 数据;私人布尔选择=假;私有 SelectTree父母;私有最终列表>children = new ArrayList();公共 SelectTree(D 数据,SelectTree 父级){this.data = 数据;如果(父!= ..
发布时间:2022-01-22 10:33:19 其他开发

java中通用树(n-ary树)的级别顺序遍历

(如果您想避免冗长的解释,我正在寻找的只是java中通用树(n-ary tree)的级别顺序遍历.提供的代码有效并且需要级别顺序显示功能.环顾了一小时,但找不到对通用 n 元树的引用.如果 soemone 可以帮助我在我的代码之上构建 LevelOrderDisplay 函数将不胜感激,因为它将帮助我理解我得到的队列错误.谢谢!) 我一直在尝试实现 Autosys 工作计划的树形表示.由于每 ..
发布时间:2022-01-21 11:36:15 Java开发

解释 Haskell 广度优先编号代码以遍历树

我正在阅读 克里斯的这篇论文冈崎;标题为“广度优先编号:算法设计小练习的经验教训". 一个问题是 - 算法中的魔法是如何发生的?有一些数字(例如,标题为“将一个级别的输出线程化到下一个级别的输入"的图 7)不幸的是,也许只有我,但那个数字已经完全让我感到困惑.我根本不明白线程是如何发生的? 解决方案 广度优先遍历意味着逐层遍历树.所以让我们假设我们已经知道每个级别开始时的数字是多少 ..

帮助我理解不使用递归的中序遍历

我能够在不使用递归的情况下理解前序遍历,但是我很难理解中序遍历.我只是似乎不明白,也许是因为我还没有理解递归的内部工作. 这是我迄今为止尝试过的: def traverseInorder(node):LIFO = LIFO()lifo.push(节点)而真:如果节点是无:休息如果 node.left 不是 None:lifo.push(node.left)节点 = node.left继续上 ..
发布时间:2022-01-05 18:29:08 Python

java中通用树(n元树)的层序遍历

(如果您想避免冗长的解释,我所寻找的只是java中泛型树(n元树)的级别顺序遍历.提供的代码有效并且需要级别顺序显示功能.环顾了一个小时,但找不到对通用 n 元树的引用.如果 soemone 能帮助我在我的代码之上构建 LevelOrderDisplay 函数,我将不胜感激,因为它将帮助我理解我得到的队列错误.谢谢!) 我一直试图在工作中实现 Autosys 作业计划的树形表示.由于每个作业 ..
发布时间:2022-01-05 18:26:14 Java开发

在 C# 中遍历对象树

我有一个由多个对象组成的树,其中每个对象都有一个名称(string)、id(int)和可能的子元素数组相同的类型.如何遍历整个树并打印出所有的 ID 和名称? 我是编程新手,坦率地说,我无法理解这个问题,因为我不知道有多少个级别.现在我正在使用 foreach 循环来直接获取根目录下的父对象,但这意味着我无法获取子对象. 解决方案 一个使用递归的算法是这样的: printNode( ..
发布时间:2022-01-05 18:22:41 C#/.NET

以 Newick 格式懒惰地打印一棵树

我希望以 Newick 格式 打印二叉树,显示每个节点与其父节点的距离.目前我没有遇到以下代码的问题,它使用常规递归,但树太深可能会产生堆栈溢出. (定义树->newick[树](让 [{:keys [id children to-parent]} 树dist (双到父)] ;to-parent 可能是一个理性的(如果孩子(str "(" (tree->newick (first childre ..
发布时间:2022-01-02 23:16:09 其他开发

广度优先与深度优先

遍历树/图时,广度优先和深度优先有什么区别?任何编码或伪代码示例都很棒. 解决方案 这两个术语区分了两种不同的树行走方式. 展示差异可能是最简单的.考虑树: A/\乙丙//\德法 深度优先遍历将按此顺序访问节点 A、B、D、C、E、F 请注意,在继续前进之前,您要一直向下一条腿. 广度的第一次遍历会按照这个顺序访问节点 A、B、C、D、E、F 在这里,我们在下降之 ..

在 Eclipse JDT Java 解析器中,是否可以在不使用访问者的情况下逐节点遍历 AST?

通过 Eclipse JDT API 访问节点信息的标准方法是使用访问者模式.例如: unit.accept(new MyVisitorAdapter() {@Override 公共无效访问(MethodCallExpr 节点,对象参数){System.out.println("找到的方法调用:" + node.toString());}}, 空值); 在这种情况下,要访问节点,我需要指定我感 ..

我的树图的 Arangodb 自定义过滤器/访问者

我有一个有两个边定义的图,如下所示: isDepartment: [组织] ->[组织]hasAccess: [用户] ->[组织] 组织嵌套在树中(无循环).有多个没有任何传入 isDepartment 边的顶级组织. 用户被授予访问一个或多个组织的权限.这些可以是顶级组织,也可以是树下某处的组织.如果用户有权访问某个组织,则它可以访问所有子组织. 我正在尝试构建一个自定义访问者 ..
发布时间:2021-11-17 01:31:43 其他开发

带括号的中序树遍历

我决定尝试自学如何编程,并且正在通过 Python 版本的“如何像计算机科学家一样思考"来学习.曾试图推迟询问有关练习的问题(因为重点是自己解决这些问题),但这个问题让我难住了. 在第 20 章中,在介绍了中序遍历(使用表达式 1+2*3)和一个遍历树并打印每个节点的函数之后,它会询问:“修改 printTreeInorder 以便它在每个运算符周围加上括号,并且一对操作数".因此,我假设输 ..
发布时间:2021-09-09 19:38:05 其他开发

非二叉树的有序树遍历

术语“中序遍历"对于比二叉树更宽的树是否具有明确定义的含义,或者“前"和“后"顺序是唯一有意义的 DFS 类型?我的意思是每个节点有 n>2 个孩子. 我猜对于 n 来说,它甚至可能意味着在 n/2 孩子之后进入“根",但这曾经像这样使用过吗?那么奇怪的 n 呢? 解决方案 只有当您明确地将孩子集划分为左孩子和右孩子时,中序遍历才会继续被很好地定义. 要看到这一点,请注意,如果我们 ..
发布时间:2021-09-09 19:35:53 其他开发

树遍历的时间复杂度是多少?

树遍历的时间复杂度是多少,我确定它一定很明显,但我可怜的大脑现在无法解决. 解决方案 这取决于您正在执行的遍历类型和算法,但通常是 O(n),其中 n 是树中的节点总数.深度优先遍历的规范递归实现将按最深级别的顺序消耗内存(在堆栈上),在平衡树上它将是 log(n). ..
发布时间:2021-09-07 20:05:15 其他开发

从边列表构建所有哈密顿路径

我无法找到从相关元组列表构建树路径的方法?我只想要每个节点被访问一次的每个路径的列表,也就是哈密顿路径. 我一直在靠近但错过了一些路径. 例如,假设我们有这个连接列表: connections = [(1, 4), (1, 5), (2, 5), (3, 4), (4, 1), (4, 3), (4, 5), (5, 1), (5, 2), (5, 4)] 所需的输出: [[1, ..
发布时间:2021-07-05 19:03:54 Python