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

Data structures “是什么样的数据结构?”;学习树;?,data-structures,Data Structures,我的意思是:要知道幂,我需要知道乘法,要知道乘法,我需要知道加法。所以要知道A,我需要知道B,或者A依赖于B。我只能想到几个规则:如果A依赖于B,B不能依赖于A。如果A依赖于B,B依赖于C,C不能依赖于A 这种数据结构有名称吗?我不认为这是一个层次树。还有,我是否遗漏了其他规则?如果我想实现一个人类知识地图,如果我问我的数据库学习量子物理需要知道什么,它会给我一个量子物理所依赖的学科的有序列表。当然,这个列表可能有一些并行运行的子列表,从某种意义上说,A可能依赖于B和C,而B可能依赖于C,或者C

我的意思是:要知道幂,我需要知道乘法,要知道乘法,我需要知道加法。所以要知道A,我需要知道B,或者A依赖于B。我只能想到几个规则:如果A依赖于B,B不能依赖于A。如果A依赖于B,B依赖于C,C不能依赖于A

这种数据结构有名称吗?我不认为这是一个层次树。还有,我是否遗漏了其他规则?如果我想实现一个人类知识地图,如果我问我的数据库学习量子物理需要知道什么,它会给我一个量子物理所依赖的学科的有序列表。当然,这个列表可能有一些并行运行的子列表,从某种意义上说,A可能依赖于B和C,而B可能依赖于C,或者C可能依赖于B。在这种情况下,B可能平行于C,因此它们可以以图形方式显示在A下方,但高度相同

我敢肯定,还有许多其他情况下使用了相同的结构


编辑一张怎么样?对不起,我不想挑三拣四,但在我看来,它形式化了相同的东西,没有任何不必要的图形引用。

这通常是使用来实现的。

这种依赖性约束通常用,简称DAG来表示

DAG是一种

  • 指导

    …因为每条边代表一个依赖项,而依赖项有一个方向。如果“A依赖于B”,你就有了A→ B

  • 非循环

    …因为(正如你在文章中指出的)循环依赖是不可取的


它只是一个。

是的:这个结构是一个有向无环图(DAG)。

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


请参见此处:

这是否也是偏序集?是的,DAG定义了(严格)偏序集(或者换句话说,DAG是表示(严格)偏序集的一种方式)。也称为。