小学生学python——数据结构:数组

数组:所有元素是相同类型的列表。

数组常用操作 常用操作中代码 时间复杂度
创建数组 a = [ ] O(1)
添加元素

a.append(1)

a.insert(2,10)

O(1)或O(n)

O(n)

访问元素 temp = a[2] O(1)
修改元素 a[2] = 29 O(1)
删除元素

a.remove(1)

a.pop(2)

a.pop

O(n)

O(n)

O(1)

数组长度 length = len(a) O(1)
遍历数组 O(n)
搜索元素 index = index(2) O(n)
数组排序

a.sort()

a.sort(reverse = True)

O(nlogn)

1. 创建数组
a = [] #创建数组
2. 添加元素
a.append(1) #在数组最后添加元素1
a.append(2) #在数组最后添加元素2
a.insert(2, 10) #在数组索引为2的位置插入元素10
正常情况下,append的时间复杂度是O(1);当添加元素时,数组的存储空间不足了,需要重新找新的存储空间进行存储,这时候时间复杂度是O(n)。
insert的时间复杂度是O(n)。

3. 访问元素
temp = a[2] #访问数组索引为2的元素
访问元素的时间复杂度是O(1)。

4. 修改元素
a[2] = 29 #修改数组索引为2的元素
修改元素的时间复杂度是O(1)。

5. 删除元素
a.remove(1) #删除数组中第一个值为1的元素
a.pop(5) #删除数组索引为5的元素
a.pop() #删除数组中最后一个元素
6.数组的长度
length = len(a)
print('length:',length)
时间复杂度是O(1)。

7.遍历数组
#三种方法
for i in a:
    print(i)

for index,element in enumerate(a):
    print('index:', index, 'element:', element)

for i in range(len(a)):
    print('index:', i, 'element:', a[i])
时间复杂度是O(n)。

8. 搜索元素
index = a.index(2) #查找第一个值为2的元素的索引
print('index:', index)
时间复杂度是O(n)。

9.数组排序

a.sort() #数组从小到大排列
print(a)
a.sort(reverse = True) #数组从大到小排列
print(a)
时间复杂度是O(nlogn)。

上一篇:1. 两数之和


下一篇:力扣 35. 搜索插入位置