数组概述
数组是一种连续存储线性结构,元素类型相同,大小相等,数组是多维的,通过使用整型索引值来访问他们的元素,数组尺寸不能改变。
数组具有一下的特点:
- 数组下标都是从 0 开始的。
- 数组内存空间的地址是连续的。
- 数组的元素是不能删的,只能覆盖。
正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。
数组的优点:
- 存取速度快
数组的缺点:
- 事先必须知道数组的长度
- 空间通常是有限制的
- 需要大块连续的内存块
- 插入删除元素的效率很低
相关算法题
常用解法:
- 二分法查询
- 双指针法
- 哈希表
- 滑动窗口
所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。
实现滑动窗口,主要确定如下三点:
- 窗口内是什么?
- 如何移动窗口的起始位置?
- 如何移动窗口的结束位置?