问题标签 [n-ary-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4755 浏览

serialization - 面试问题 - 序列化和反序列化 n-ary tree

我最近在面试时遇到了这个问题,面试官要求我创建两个函数。Function1 应该采用 n 叉树并转换为字节数组,而 function2 应该采用 byte[] 并构建 n 叉树。如果它是一棵二叉树,我会使用 null 的特殊字符进行预排序遍历并存储在数组中并转换为 byte[] 但这里是 n-ary 树(有很多孩子)。我不知道如何存储它并用数组重建 n 叉树。将这个 n 元树存储到数组中的任何想法或公式?我感谢您的帮助。

0 投票
1 回答
1563 浏览

c - C - 删除 n 叉树节点

我已经用 C 语言实现了一个带有 AI 的 m,n,k 游戏。游戏运行良好,但当我必须释放决策树时,它总是抛出“访问冲突读取位置”异常。

这是决策树结构的实现:


这是delete_tree函数的实现:

0 投票
0 回答
691 浏览

java - 用链表结构在java中创建N叉树

我必须使用链表创建一棵二叉树。我已经实现了一棵二叉树,但不确定如何将其更改为链表结构。请帮忙。

那是一个二叉树实现。

0 投票
0 回答
363 浏览

java - 如何可视化java n-ary树

我想知道是否有一种方法可以以这种方式可视化非二叉树:根位于顶部,其子位于下方,依此类推.. 将子连接(可能有线)连接到他们的父母。可视化可能在控制台中,甚至可以使用其他一些库或其他更好的图形方式。

0 投票
1 回答
112 浏览

c++ - 研究数据结构的来源

有人知道在哪里学习数据结构的好来源吗?特别是我正在寻找树木和图表。我已经尝试过 geekforgeeks,但我想知道是否还有其他与它一样好的东西。

谢谢。

0 投票
1 回答
2648 浏览

java - 广度优先的 N 叉树遍历

我正在编写文件系统层次结构的 N 叉树表示,其中包含有关目录/文件的一些信息。树中的每个节点都由一个父节点及其子节点(如果有)的列表组成,并且包含在一个单独的 Tree 对象中。据我所知,这不是实现树的最雄辩的方法,但我已经深入到不值得回去的项目中。

树结构被定义为它自己的独立对象,因为会有几棵树。

我知道在遍历其子节点(或类似的东西)时,我需要使用队列来添加每个节点。

这是一个深度优先的递归解决方案,它打印每个文件/目录的名称,仅供参考。

我觉得从深度优先到广度优先应该只是一个小的修改,但我似乎无法理解它

0 投票
1 回答
812 浏览

python - Python - 平面列表树实现:给定孩子,得到父母?

我正在为一棵树创建一个 python 类,其中每个节点都有许多由“order”给出的子节点(但每个子节点只有一个节点)。我有一个方法,children(self,i),它返回索引 i 处节点的子节点。我需要实现 parent(self, i) ,它将在索引 i 处获取孩子的父母。

这是我到目前为止所拥有的:

由 order=2 和 list [45, 2, 123, 1, 8, 40, 456] 表示的示例树如下所示:

我知道可能有一种方法可以逆转我用于儿童(self,i)的方法,但我不确定如何。

0 投票
1 回答
705 浏览

java - N元树深度和度数算法

我在一些算法上遇到了一些问题,这些算法应该返回树的最大度数(节点的最大子节点数)和深度(最长分支的维度)。看起来有些树结构可以工作,而有些则不能。有人可以告诉我我的代码是否有问题吗?

我的树结构是

我的节点结构是:

度数算法为:

最后,深度算法:

插入代码是:

不工作的结构是:

这返回 5 但应该返回 6

这应该返回 3 但返回 2

e1 到 e7 是整数。

0 投票
1 回答
597 浏览

java - 从父母那里得到孩子的路径

我有一份孩子名单和一份父母名单。我还有一张 childeId-parentId 的地图。父母可以有 n 个孩子,但孩子有一个直系父母。我想从 Java 中的父级获取每个子级的路径。我怎样才能递归地做到这一点?

我的组为:[Root, abc, asd, xyz, 123, xyz2]

父子图:{Root=abc, Root=asd, Root=xyz, Root=123, xyz=xyz2}

我想获得每个孩子的路径:{Root/abc, Root/asd, Root/xyz, Root/123, Root/xyz/xyz2}

我有一张地图:

final<String, Groups> groupMap = Service.getListOfGroups(service);

这给了我所有必需的值。我正在遍历地图以获取每个条目。

我想我可以通过将所有这些值添加到 n 叉树然后遍历 n 叉树来解决这个问题。我以前从未使用过树,不知道如何从中创建 n-ary-tree 并获得所有组所需的路径。非常感谢任何帮助。

0 投票
1 回答
719 浏览

c - 在 n-Ary 树中查找元素

给定以下结构

我们需要遵循的children指向第一个孩子并遍历其他孩子的地方node->children->next......

val我正在尝试使用该函数返回一个指向包含一些元素的指针

给定一个树调用TREE,如:

类似的命令

应该返回一个指向 的指针root->children->next,但实际nNode_find返回的是NULL