Data structures 什么是阴影阵列

Data structures 什么是阴影阵列,data-structures,compiler-optimization,Data Structures,Compiler Optimization,什么是阴影数组?它是如何实现的? 我在阅读有关编译器优化的书籍时读到了这个术语,但我找不到任何实质性的参考资料。我认为它是动态数组的一种形式 “阴影”一词指的是那些试图以良好性能调整其大小但隐藏在简单界面后面的底层算法。(例如Java中的ArrayList)是您要查找的内容吗?(滚动到底部。)当使用数组实现可动态调整大小的抽象数据类型(如列表、队列或堆栈)时,遇到的明显问题是数组本身无法自由调整大小。然后,在某个时刻,如果向数组中添加足够的项,那么最终将耗尽空间 这个问题的简单解决方案是等待所使

什么是阴影数组?它是如何实现的?
我在阅读有关编译器优化的书籍时读到了这个术语,但我找不到任何实质性的参考资料。

我认为它是动态数组的一种形式


“阴影”一词指的是那些试图以良好性能调整其大小但隐藏在简单界面后面的底层算法。(例如Java中的ArrayList)

是您要查找的内容吗?(滚动到底部。)

当使用数组实现可动态调整大小的抽象数据类型(如列表、队列或堆栈)时,遇到的明显问题是数组本身无法自由调整大小。然后,在某个时刻,如果向数组中添加足够的项,那么最终将耗尽空间

这个问题的简单解决方案是等待所使用的数组空间用完,然后创建一个新的更大的数组,将旧数组中的所有项复制到新数组中,然后开始使用新数组

使用抽象数据类型实现的阴影数组是一种替代方法。在对正在使用的数组传递某个满度阈值后,将创建第二个更大的数组,而不是等待旧数组满。此后,当项目添加到旧数组时,多个项目将从旧数组复制到卷影数组,这样,当旧数组已满时,它的所有项目都已复制到新数组


使用影子数组实现而不是天真的“在末尾复制所有内容”方法的优点是,每个添加操作所需的时间要一致得多。

这听起来比我的答案好,您的语句有什么来源吗?:)我确实有!彼得·布拉斯的“高级数据结构”。第1章,第1.5节,“基于数组的结构的卷影副本”,你能接受@jwrush()而不是我;)的答案吗?