数据结构 之 数组篇

主要内容

主要介绍关于数组的相关知识点。

数组 Array

数组的描述

数据结构的内存中的存储方式无非两种,一是数组的顺序存储,二是链表的链式存储

数组是存放在连续内存空间上的想同类型数据的集合。
所以可以通过首地址加单个元素占用的空间字节数,就可以计算各个元素所在的地址,从而可以达到随机访问的特点

数组的元素是不能删除的,只能覆盖。
至于数组的删除操作是通过移动元素覆盖达到删除效果的。
所以导致数组需要移动元素的操作耗时都会比较长。

数组的基本操作

在Python中是使用列表List来代替的数组。

1
2
3
4
5
6
7
8
9
10
11
12
# 创建数组。
list = []
# 在末尾添加元素。
list.append(x)
# 在指定位置插入元素。
list.insert(i, x)
# 删除元素。
list.remove(x)
# 弹出元素。默认弹出最后一个元素。
list.pop() / list.pop(i)
# 返回对应元素的索引。
list.index(x)

数组相关算法

数组最常涉及的算法为双指针的应用,例如快慢指针二分查找之类的。还有一个比较经典的题目就是滑动窗口。再者就是复杂矩阵的模拟相关的问题。

这边先列几个典型的题目,关于各算法的专题总结还没写完。

#快慢指针 LeetCode 27.移除元素
#二分查找 LeetCode 704.二分查找
#滑动窗口 LeetCode 209.长度最小的子数组
#模拟   LeetCode 54.螺旋矩阵

未更新

双指针,滑动窗口,模拟专题待更新。


数据结构 之 数组篇
https://warmwinter.ml/2022/05/summary-of-arrays/
作者
Neal
发布于
2022年5月10日
许可协议