数组(Array)

数组的定义:由连续整数标号的相同元素组成的连续存储空间。

数组的特点:(随机存储)

读时间复杂度为常数
写时间复杂度为常数
在任意位置位置添加或者删除的时间复杂度是线性的

读写的时间复杂读为常数的原因:编译器可以直接通过运算获得索引对应元素的地址。

一维数组:a[i]的地址为:

&a[1] = array_addr + elem_size * (i - first_index)

二维数组:a[i][j] 的地址:

&a[i][j] = array_addr + elem_size * ((i - first_row_index )* row + (j - first_col_index)

多维数组的分类:

行优先顺序
列优先顺序

数组操作的时间复杂度

添加删除读写
开始O(n)O(n)O(1)
末尾O(1)O(1)O(1)
中间O(n)O(n)O(1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值