2014-11-21 39 views
0

扩展的标题有没有可能有一个链表,列表中的每个元素是它自己的数组?


我们正在学习链表,我想知道,如果它是有用的在所有有联系在一起很多阵列链表。我们在谈论延长阵列的低效率,我认为这是一种可能性。


实施例: 假设有int值中存储有4个字节的int和4个字节用于指针


在地址200必须阵列A,其具有24个元件在数组中以及指向下一个数组地址的一个指针。

编辑以清楚起见:数组A将占用100个字节,上升到地址300.在300和548之间还有其他数据。我想让数组A更长,但是取得了300处的地址,所以它在548处进入下一个可用空间。数组A然后获得指向地址548的指针,以便它可以具有更多元素

在地址548你有数组B和11个元素和一个指针。
你用数组创建一个链表一个指向数组B的指针
然后很容易在数组中正常地搜索而不是按顺序搜索,这使得它更快,还是我完全错误了?

在此先感谢

回答

0

根据您的要求,由于某些原因,此设计可能会更有效。 1.您不必重复分配新的内存空间。这可以缓解内存碎片问题。 2.内存中的数据局部性更好,从而提高缓存命中率。

类似的设计是B +树。你可以看看B +树是如何工作的。

0

简单的答案是“是”。目前尚不清楚你提出的语言是什么,但这肯定是可能的。

不清楚的是它是否更高效 - 这取决于你想要做什么。如果每个数组都是相同的,那么他们为什么分解并链接?这是否允许并行搜索?

+0

试图让我在OP中说得更清楚:) – Rinslep 2014-11-21 13:39:20

+0

啊,我明白了。据推测这是某种嵌入式或其他高度紧张的环境。但是,是的,它当然是一个想法。 – adrianmcmenamin 2014-11-21 16:58:02

相关问题