C 为什么阵列被视为数据结构?

C 为什么阵列被视为数据结构?,c,C,为什么阵列被视为数据结构?阵列是如何成为高效的TETM中的数据结构的?请举例说明,这是一个很好的例子,因为它是一个数据收集和使用的工具 主要特点: 非常快速的索引查找。 非常快的索引顺序遍历。 最小的内存占用—我提到的可选修改并非如此。 插入通常处于启用状态,因为在重新分配阵列以为新元素留出空间时,可能需要复制阵列。但是,您可以通过过度分配(即每次重新分配时将数组大小增加一倍)来降低追加到摊销O1的成本。[1] “删除”处于启用状态,因为您平均需要移动N/2个元素。您可以跟踪数组开头和结尾未使用

为什么阵列被视为数据结构?阵列是如何成为高效的TETM中的数据结构的?请举例说明,这是一个很好的例子,因为它是一个数据收集和使用的工具

主要特点:

非常快速的索引查找。 非常快的索引顺序遍历。 最小的内存占用—我提到的可选修改并非如此。 插入通常处于启用状态,因为在重新分配阵列以为新元素留出空间时,可能需要复制阵列。但是,您可以通过过度分配(即每次重新分配时将数组大小增加一倍)来降低追加到摊销O1的成本。[1]

“删除”处于启用状态,因为您平均需要移动N/2个元素。您可以跟踪数组开头和结尾未使用元素的数量,以便从结尾O1进行删除。[1]

按索引查找是O1。这是一个简单的指针加法

“按值查找”处于启用状态。如果数据是有序的,可以使用二进制搜索将其减少到Olog N

跟踪第一个使用的元素和最后一个使用的元素在技术上可以称为不同的数据结构,因为访问数据结构的函数不同,但它仍然被称为数组。
它不一定更快,但编写循环通过1000个值的数组的代码肯定要比编写处理1000个不同名称变量的代码容易得多。数组保存数据,因此它是一个数据结构。数据结构的效率要求有多高?数组占用连续内存。可以肯定是缓存模式的受益者。主要功能:按键索引进行极快的查找,极快的键顺序遍历,最小的内存占用。