数组总结
基础知识📚
数组定义: 数组是存放在连续内存空间上的相同类型数据的集合
注意点:
- 数组下标从0开始。
- 数组内存空间的地址是连续的。
- 因为地址连续,所以不能直接删除,只能覆盖 => 理解:移动其余元素覆盖删除元素的地址。
- 二维数组即数组的每一个元素都是一个数组,三维、四维、n维同理。
- 二维数组在内存中的空间连续,连续指:四条连续的的地址空间。
JS数组注意点:
- JS不同于传统语言,JS的数组中存放的数据类型可以不同,因此地址不一定连续。在存放不同数据类型的情况下,对数组进行下标取值采用的是哈希映射的方式。
- 当代JS引擎为了优化性能,在遇到数据类型相同的数组时会自动分配给其一个连续的内存空间,也就是说,一个由相同类型的元素组成的数组,它的内存地址仍然是连续的。
- 此外,JS提供了
ArrayBuffer这种方式以帮助程序员获取一个固定长度的内存,使用ArrayBuffer这一技术的数据结构很多,例如DataView、定型数组等。
解题思路🤔
1.二分法
题目举例ÿ
本文总结了数组的基础知识,包括数组定义、JS数组特点,以及解题中常用的二分法、双指针法和滑动窗口策略。强调在解决算法问题时,应注意循环不变量、区间一致性和画图辅助理解的重要性,同时指出扎实的基础知识和实践编码是提升的关键。
最低0.47元/天 解锁文章
1822

被折叠的 条评论
为什么被折叠?



