手把手带你刷力扣(2)-数组
数组:在连续的内存空间中,存储一种相同类型的元素。
区分:
(1)元素和索引
索引是元素的下标,在数组中的相对位置。
元素 | 1 | 2 | 3 |
索引 | 0 | 1 | 2 |
(2)数组访问和数组搜索
访问a[1]是2,搜索2得到索引1。
重要操作的时间复杂度:
(1)访问 O(1)
(2)搜索 O(N)
(3)插入 O(N)
(4)删除 O(N)
注:由于数组存储在连续内存空间的特点,知道需要访问的索引根据数组首地址计算就可以直接访问其地址,所以时间复杂度是O(1);搜索最坏情况需要遍历数组,插入和删除最坏情况中数组中的元素都需要移动,所以时间复杂度是O(N)。
特点:适合读不适合写,读多写少。
常用操作:
- 创建数组
- 添加元素
- 访问元素
- 修改元素
- 删除元素
- 遍历数组
- 查找元素
- 数组的长度
- 数组排序(语言内置的排序方法)
Python3:
Java:
【更正】:Java代码中获取数组长度的时间复杂度为O(1)。