在假设int为4字节的系统上,数组以一段连续的内存存储。假设从地址1000开始,每个格子存放一个4字节的int。通过简单的加法计算,可以获得要访问的某一项的地址。这使得数组具备了随机访问的特性,即通过(a的地址+x*sizeof(int))计算得到a[x]地址,时间复杂度为O(1)。然而,链表的内存不是连续的,需要额外存储next指针,指向下一个结点的地址。通过这个地址找到链表的下一个结点,链表支持顺序访问。当访问链表的第x个结点时,需要从头结点开始按顺序遍历next指针,时间复杂度为O(n)。
暂无评论