Operating system 更快的访问时间,堆栈还是堆?

Operating system 更快的访问时间,堆栈还是堆?,operating-system,stack,heap-memory,Operating System,Stack,Heap Memory,Steven Skienna的经典算法设计手册指出,链表的创建速度比动态数组快。这就是堆执行速度更快的原因吗?有人能从操作系统的角度解释一下吗?链表和动态数组都维护在堆上。在动态数组中插入可能会导致数组增长,而在链接列表中,它将添加到末尾。即使插入在链表的中间,也需要搜索的时间,稍后只需要添加一个操作来添加指向前一个节点的指针。链接列表不需要调整相邻的存储位置 与链表相比,动态数组具有更快的索引速度 (恒定时间与线性时间)和通常更快的迭代 改进参考位置但是,动态数组需要 在任意位置插入或删除的

Steven Skienna的经典算法设计手册指出,链表的创建速度比动态数组快。这就是堆执行速度更快的原因吗?有人能从操作系统的角度解释一下吗?

链表和动态数组都维护在堆上。在动态数组中插入可能会导致数组增长,而在链接列表中,它将添加到末尾。即使插入在链表的中间,也需要搜索的时间,稍后只需要添加一个操作来添加指向前一个节点的指针。链接列表不需要调整相邻的存储位置

与链表相比,动态数组具有更快的索引速度 (恒定时间与线性时间)和通常更快的迭代 改进参考位置但是,动态数组需要 在任意位置插入或删除的线性时间,因为 必须移动以下元素,而链表可以在 恒定时间。间隙缓冲和 在下面的变体下讨论分层向量变体。而且,在 高度碎片化的内存区域,可能会很昂贵或不可能 查找大型动态数组的连续空间,而 列表不需要存储整个数据结构 连续地

“创建”是指“创建初始空列表/数组”还是指“在列表/数组中创建新元素”?