数据结构笔记【1】——数组(Array)

笔记参考:up爱学习的饲养员(数组)up爱学习的饲养员(python常用操作)

  1. 数组:在连续的内存空间中,存储一组相同类型的元素。 在这里插入图片描述

  2. 数组的索引从0开始,索引代表对应元素相对于数组起始元素的位置。

  3. 数组的访问(Access):通过索引取得某个元素的值。时间复杂度为O(1)。

  4. 数组的搜索(Search):遍历数组,直接去找某个元素。时间复杂度为O(n)。

  5. 数组的插入(Insert):插入一个元素后,后面的元素依次后移。时间复杂度为O(n)。

  6. 数组的删除(Delete):删除一个元素后,后面的元素依次前移。时间复杂度为O(n)。

  7. 数组的特点:适合读,不适合写。“读多写少”的情况适合于数组。

  8. 常用操作:

'''创建数组'''
# use a list to create an array directly
a = []	# []

'''添加元素'''
# add at tail: a.append(val)  O(1) or O(n)
a.append(1)	# [1]
a.append(2)	# [1,2]
# insert at middle: a.insert(index, val)  O(n)
a.insert(1,99)	# [1,99,2]

'''访问元素'''
# access element by index  O(1)
t = a[1]	#99

'''更新元素'''
# update O(1)
a[2] = 33	# [1,99,33]

'''删除元素'''
# a.remove(val)  O(n)
a.remove(99)	# [1,33]
# a.pop(index)	O(n)
a.pop(0)	# [33]
# a.pop() delete the last one only  O(n)
a.pop()		# []
'''遍历数组'''
a = [1,2,3]
# O(n)
for i in a:
	print(i)
# O(n)
for index, element in enumerate(a):
	print("Index ", index, "is: ", element)
# O(n)
for i in range(0, len(a)):
	print("Index ", i, "is: ", a[i])

'''查找元素'''
# a.index(val)  O(n)
index = a.index(2)	# 1

'''数组长度'''
# len(array)
size = len(a)	# 3

'''数组排序'''
# a.sort()  O(nlogn)
a = [3,1,2]
a.sort()	# 升序, [1,2,3]
a.sort(reverse=True)	#降序, [3,2,1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值