zgq105 / blog

2 stars 0 forks source link

数据结构-数组篇 #102

Open zgq105 opened 2 years ago

zgq105 commented 2 years ago

1.数组是什么?

数组是一组相同数据类型的一组数据,内存地址连续且长度固定的一组数据,存储在连续的内存空间。

2.数组能存储不同的数据类型吗?为什么?

数组是一种比较占用内存的一种数据结构,它需要分配连续的内存空间。由于数组在寻址的过程中需要用到每个元素的内存区域大小,只有保证相同的数据类型,才能实现根据索引快速查找到元素。具体的结构如下: image

数组这种连续的内存结构和相同的数据类型保证了数组的查找效率是O(1)。

3.数组查找的效率高,插入和删除的效率低,原因是什么?

查找效率高是因为数组的这种连续的内存结构和相同的数据类型,可以根据索引和首地址和元素宽度快速计算出元素的内存地址。(不需要遍历)。插入和删除效率低的原因是因为每次删除和插入元素时,需要对插入位置后面的元素做变更移动来保持数组内存区域连续的特性。(有那种牵一发动全身的意思)