扩展标题
我们正在学习链接列表,我想知道将链接列表连接在一起的链表是否有用。我们在谈论延长阵列的效率低下,我认为这是可能的。
示例: 假设你有int值存储4个字节用于int和4个字节用于指针
在地址200处,您有阵列A,其中包含数组中的24个元素以及指向下一个数组地址的指针。
编辑为清晰起见:阵列A将占用100个字节,最多可达300个地址。在300到548之间还有其他数据。我想让数组A更长,但是取300的地址,所以它转到548的下一个空闲空间。然后,数组A得到一个指向地址548的指针,以便它可以有更多的元素
在地址548处,您有阵列B,其中包含11个元素和一个指针 使用指向数组B的数组A指针创建链接列表 那么通过正常而不是顺序搜索数组是否容易,使它更快或者我完全错了?
提前致谢
答案 0 :(得分:0)
根据您的要求,出于某些原因,此设计可能更有效。 1.您不必重复分配新的内存空间。这可以缓解内存碎片问题。 2.内存中的数据位置更好,从而提高缓存命中率。
类似的设计是B +树。你可以看看B +树是如何工作的。
答案 1 :(得分:0)
简单的答案是"是"。我们并没有立即明确建议您使用哪种语言,但这当然是可能的。
不清楚的是它是否更有效 - 这实际上取决于你想要做什么。如果每个阵列都相同,那么为什么它们会被分解和链接?这是否允许并行搜索?