已建立的数据结构/模式?具有动态链接子节点的列表



我需要一个解决方案,其中我有一个"主"列表/数组,其中有许多按顺序排序的链接子,每个子表示父列表的子段。它类似于"展开链表"模式,但是这里段列表的大小应该是动态的。

在这里我将进一步解释。我想知道这种数据结构/模式是否有一个既定的术语(以与"图","二叉树"等相同的方式),这将有助于我进一步调查,试图找到最佳实现。

假设我们有一个"主"列表,大小为10个项目,0-9,并有三个子列表a, b和c,以以下方式表示主列表的子段:

"master"    -------------------
 0-9        0 1 2 3 4 5 6 7 8 9
            ===== ========= ===
"children"  a     b         c
            0-2   3-7       8-9
理想情况下,解决方案应该允许
  • 允许主列表创建和调整其子列表的子段大小(取决于连接到主列表数据项内容的规则)
  • 子节点改变子段大小,导致被链接的兄弟节点相应地调整其大小/位置
  • 处理与主尺寸相比的总子尺寸不足和溢出

任何博客,文章,代码片段等解决这样的事情将是很大的帮助!(我的解决方案将在php和as3中创建,但语言在这里无关紧要)。

谢谢!

如果我没理解错的话。以另一种方式构建数据结构。子节点的列表(或向量),每个子节点都保留一个反向链接到主节点的列表。在这种情况下,改变子段的大小只是简单地将主节点从一个列表移动到另一个列表。

 1 -> 2 -> 3 -> 4 -> 5
  /     /        /
  a-----          b

最新更新