未知的数据结构?

时间:2015-06-10 20:19:16

标签: java data-structures

我有一个关于Java是否有我自己的数据结构的问题。 它类似于数组,链表和树的组合。

如果它不是Java,但已经作为计算机科学/其他语言的概念存在,这也是一个可接受的答案,所以我可以更多地研究它,并找出如何自己实现它。

这是一张图片,可以更好地说明我在寻找什么。请原谅缺乏专业精神;我尽力做到最好:

enter image description here

我正在寻找以几个索引的起始元素开头的东西,最终链接到其他元素并以各种汇集(一个最终元素)结束。最后,每个索引都有相应的起始元素,它始终链接到最终的融合元素。

应该是这样的情况:要求UITableViewController或者其他东西应该抓住一个对象,该对象是i th 起始元素的表示,一直链接到最终的融合元素。 (这个被抓住的东西在图片中以各种鲜艳的颜色勾勒出来。)

2 个答案:

答案 0 :(得分:2)

在我看来,您正在寻找有向图数据结构 如果需要,您可能需要使用图表列表。

有关算法,请参阅此page,有关实施,请参阅this

答案 1 :(得分:0)

没有"名称"对于我所知道的这一点,但是一系列链表节点对此非常有用。

传统的链接列表是独立的,只是一行指向下一个的项目。但是,没有理由为什么某些链表节点不能指向同一个子节点。毕竟,树和链表基本上都是用Java创建的。

唯一可预见的问题是,如果你想要遍历这个"树"返回数组中的起始节点。 (这可以通过多个父级支持来实现。)

要实现您的链表数组,只需为链表创建一个Node类,然后创建一个这些元素的数组:

Node[] myTreeArray = new Node[];

然后只需用你的" base"填充这个数组。节点并将它们链接到适当的子节点(最终引导" end"节点,其子节点为null