问题标签 [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 投票
15 回答
73671 浏览

java - 在Java中计算树中的节点

首先,我发誓这不是作业,这是我在一次采访中被问到的一个问题。我想我把它弄得一团糟(尽管我确实意识到解决方案需要递归)。这是问题:

实现 count() 方法,该方法返回树中的节点数。如果一个节点既没有左孩子也没有右孩子,相关的getXXChild()方法将返回null

我问这个问题的原因只是想看看正确的解决方案,从而衡量我的问题有多糟糕。

干杯,托尼

0 投票
2 回答
6112 浏览

apache-flex - 以编程方式触发 Flex 树控件中的更改事件

我有一种方法可以将 XML 节点结构添加到当前选定的树节点。

这会附加 xml,并打开父节点以显示新添加的节点。

然后我通过设置树的 selectedItem 来选择节点。

我有一个编辑表单,可以在树更改事件上更新其值。当我在此方法中设置 selectedItem 时,节点被正确选择但更改事件永远不会触发(因此编辑器不会更新)。我试图在稍后的调用块中调用它无济于事。

有没有办法可以强制树在此时分派更改事件?

以一般的方式扩展这个问题 - 我会认为更改树的 selectedItem 会导致更改事件?还是仅在用户做出更改时才被视为更改?

0 投票
1 回答
5616 浏览

apache-flex - Flex - 如何让 Tree itemClick 事件模仿 itemOpen 事件?

我正在使用带有 XMLListContainer dataProvider 的 Tree 控件...。我使用 itemOpen 事件和以下代码在打开树文件夹时更新另一个数据提供程序(使用小三角形) - 数据提供程序包含<slide />该特定内容中的所有元素树文件夹...

如果打开第二个文件夹,thumbDP 更新正常,但是当单击第一个文件夹(或另一个关闭的文件夹)时,我希望发生相同的行为(目前您必须关闭并重新打开第一个文件夹)

所以我使用了一个 itemClick 事件 - 但这会触发一个 ListEvent 并且我无法弄清楚如何轻松地从 XMLListContainer 中获取子元素......下面的代码引发了一个超出范围的异常

任何人都可以帮忙吗?谢谢 :)

0 投票
6 回答
7860 浏览

silverlight - Graph visualisation in Silverlight

I have a data structure that represents a directed graph and I'm looking for a good Silverlight visualisation to allow me to navigate from node to node, preferably with some nice animation.

Does anyone know of any good UI controls or frameworks for this kind of display? Even a sample from another field (maybe a social network?). My graphs don't have many nodes so performance won't be an issue.

I've seen the Prefuse library for Java (and Flash) which would be ideal. The "Degree of Interest" visualisation is the kind of thing I'm after, but I can't find anything in Silverlight.

Thanks for any tips.

0 投票
5 回答
1717 浏览

java - 从有序列表构建树

在java中,我从一个总是要排序的列表中创建一个SortedSet(但只有ArrayList类型)。我认为一一添加它们的性能会很差(以 AVL 树为例),因为它必须对树进行大量重新排序。

我的问题是,我应该如何创建这个集合?以某种方式尽可能快地构建平衡树?

我计划使用的具体实现是来自http://fastutil.dsi.unimi.it/docs/it/unimi/dsi/fastutil/ints/IntSortedSet.html的 IntRBTreeSet 或 IntAVLTreeSet

在写完这篇文章之后,我认为糟糕的性能无论如何不会对我影响太大(数据量太少),但我仍然对在一般情况下如何完成它感兴趣。

0 投票
2 回答
1255 浏览

c# - 前序树遍历复制文件夹

我们有一个包含几棵树的数据库。这些树是使用“前序树遍历”原则构建的。这是一种非常强大的创建树的方法,但它有一个很大的缺点,即一次添加多个节点。

我们必须在我们的树中创建一个复制函数,复制单个(最低级别)节点非常容易,您可以在一次调用中完成此操作。但现在我们想一次复制整个文件夹。我们想知道是否应该在.net 中使用存储过程来执行此操作。我们必须确保事务正常工作,如果出现任何问题,都必须回滚,否则树会损坏。

谁能帮我解决这个问题?有关 PTT 的任何信息,您都可以在这里找到:http ://en.wikipedia.org/wiki/Tree_traversal

编辑:

显然需要更多信息。我有两棵树:

我希望能够在文件夹 6 下复制文件夹 3。所以孩子们需要与所有项目一起复制。并且所有的左右都需要适当调整。如果某事失败,则需要完全回滚。希望这现在更清楚了。

编辑2:

我为此编写了一个存储过程。如果有人想要它只是问我会在今天晚些时候回到这个问题。如果你愿意,我会发布它。

0 投票
2 回答
8363 浏览

java - 用 Java 构建树

我是Java的新手。我想用一个根节点和多个子节点构建一棵树,每个分支都有一些权重。有人可以帮助我吗?

0 投票
1 回答
564 浏览

tree - CRUD 脚手架和树木

每次阅读 MVC Web 框架的介绍时,您都会遇到同样的事情:只需描述您的数据类和中提琴 - 您将获得自动生成的管理界面。甚至微软也终于发布了它的动态数据。

总的来说,这很棒。几年来我一直在制作(简单的)网站,而 CRUD 是客户最想要的。

但是,有时用户的故事包含“任意深度的嵌套生产类别”或类似的要求。在这种情况下,我将 parent_id 属性添加到数据类中,并可以过滤掉某个父项的数据项。

是否有开箱即用支持 Key-ParentKey 关系的 CRUD 接口示例?对此你们怎么看?

0 投票
17 回答
44664 浏览

tree - 树结构的真实世界示例

我正在寻找一些用于商业/自由软件项目的树结构示例,无论是现代的还是旧的。我可以在 wikipedia 上看到示例,但我正在寻找更具体的示例以及它们的使用方式。例如,数据库中的主键(根据我的阅读)存储在 BST 结构或 BST 的变体中(请随时纠正我)

我的问题不限于二叉搜索树 (BST),它可以包括任何变体,例如红黑、AVL 等。

0 投票
4 回答
14727 浏览

java - 在树中查找子树的简单方法

我正在编写一些使用树的代码(可以有无限数量的节点但没有交叉的常规树,即两个父节点不会指向同一个子节点)。总之,有两点:

1)是否有任何众所周知的算法可以在树中找到子树。

2)是否有任何Java库(或任何库)已经实现了这个算法?即使没有,任何人都可以推荐任何好的通用 Java 树库吗?

我想使用这些树来保存树格式的数据,而不是它们的搜索功能。

扩展一点:我将树用作游戏的一部分,以记录特定事件发生时所发生的情况。例如,一个 A 可以击中一个 B,该 B 可以击中两个 A,而该 B 可以击中另外两个 A,等等。

这看起来像:

当然,不仅仅是 A 和 B。我想要做的是(对于成就系统)能够判断什么时候,比如说一个 A 达到了两个 A:

我希望能够轻松知道第一棵树是否包含该子树。如果我不需要的话,我不想写所有的代码来这样做:)