是否有类似于树数据结构的半格的数据结构?
如果我们将树视为部分有序集,则它成为联接半格的特例。对于联接半格,我们希望能够高效地计算(或多或少)两个元素的(唯一)最小上限。在树的情况下,将使之成为可能的数据结构将是为对应节点中的每个元素存储指向父级的指针和到根的距离度量。(实际上,基于拓扑排序的标记通常用于“到根的距离度量”,实际上,所需的全部是可以有效评估的兼容部分顺序)。 每个有限的连接语义都可以表示为一个有限集合的子集集合,其包含顺序如下,使得最小上限由集合的并集给出。因此,用有限数量的标签表示每个元素,并通过对应标签的并集计算最小上限将是一种可能的数据结构。(通过观察补码,可以看到将最小上限定义为相应标签的交集也是可能的。)一种更为常见的数据结构是简单地使用矩阵来存储“ a <= b”,甚至是“ join(a,b)”的所有结果。 但是,使用这样的数据结构表示树会有些奇怪。联接符号是否还有更多类似树的数据结构,这些结构仍允许(或多或少)有效地计算两个元素的(唯一)最小上限?(也许某种有向无环图在节点中具有类似于树根的距离度量的附加信息?)