开了个新坑,真的不学算法真的不行,背后的逻辑结构也不理解
所以打算每天都啃算法,每天学一点哪怕十分钟都进行记录
数组定义:在连续的内存空间中,存储一组相同类型的元素
索引是数组元素在内存空间中的位置,从0开始
数组的基本操作及时间复杂度,N代表数组的长度:
数组的访问access【O(1)】:通过下标和索引访问元素,是通过数学计算内存地址找到的,不需要遍历;
数组的搜索 search【O(N)】:查找某个元素然后返回该元素的索引,或 者查找数组里是否存在这个值,需要遍历元素;
数组的插入insert 【O(N)】:要对元素进行移动,最坏的情况就是所有元素都移动;
数组的删除delete 【O(N)】:删除元素后数组就不连续了所以还需要移动元素使得数组保持连续。
数组的特点适合读,但不适合写 ,使用场景是读多写少
常用操作:
今天太晚了 明早早早来了学