什么样的数据结构是“学习树”?

时间:2011-06-11 13:43:37

标签: data-structures

我的意思是:要知道权力,我需要知道乘法,并且要知道乘法,我需要知道加法。所以要知道AI需要知道B,或者A取决于B.我只能想到几条规则:如果A依赖于B,B不能依赖A.如果A依赖于B,而B依赖于C, C不能依赖于A.

这种数据结构是否有名称?我不认为是一个分层树。而且,我是否缺少任何其他规则?如果我想以这样的方式实现人类知识的地图,如果我问我的数据库我需要知道什么来学习量子物理,它给了我一个量子物理所依赖的有序主题列表。当然,这个列表可能有一些并行运行的子列表,在这个意义上,A可能依赖于B和C,而B不依赖于C或C,取决于B.在这种情况下,B将与C并行,因此图形化可以显示在A以下,但两者都在同一高度。

我很确定还有很多其他案例使用相同类型的结构。

修改 partially ordered set怎么样?对不起,不要试图挑剔,但听起来像是在没有任何不必要的图表参考的情况下形式化相同的东西。

5 个答案:

答案 0 :(得分:9)

此类依赖性约束通常由directed acyclic graph或简称DAG表示。

DAG是graph

  • 定向

    ...因为每个边代表一个依赖,一个依赖有一个方向。如果“ A取决于B ”,您有 A→B

  • 非循环

    ...因为(正如你在帖子中指出的那样)不希望有循环依赖。

答案 1 :(得分:5)

这只是一个directed acyclic graph

答案 2 :(得分:2)

是:此结构是有向无环图(DAG)。

答案 3 :(得分:2)

烨。最常用的是DAG(有向无环图)!

见这里:https://en.wikipedia.org/wiki/Directed_acyclic_graph

答案 4 :(得分:1)

这通常使用graph实现。