数据算法学习入门(二)-- 数组

113 阅读1分钟

数组

数组是一个整齐有序的数据结构。数组的特点是顺序存储。

数组的读取

js:

let array = [5,2,4,8]
console.log( array[1] ) // 2

数组的更新

js:

let array = [5,2,4,8]
array[1] = 7
console.log( array[1] ) // 7

数组的插入

对于js而言,数组的length长度是可以变化的(但是不知道手动设置length之后数组的存储地址是不是仍然是原来的那个。) 数组的插入直接使用push或者shift方式,假如需要中间插入使用splice。 当然需要手动实现之也不难

function push(array,item){
    let array1 = []
    array1[0] = item
    for(let i=0;i<array.length;i++){
        array1[i+1] = array[i]
    }
    return array1
}

对于这个数组全部移动位置的做法,我们假设有数组中有n个元素,那么需要移动n次,T(n) = kn 时间和n为线性关系,时间复杂度为O(n)。空间上,需要一个 n+1 的数组,所以空间复杂度也为O(n)

数组的优势是:可以通过位置下标直接找到数据 数组的劣势是:批量移动位置的效率低