8.数组和链表的区别
数组和链表的区别
1.数组(Array)
- 数组在计算机底层存储是连续的
- 相比于链表数组节省了存储链表的空间
- 由于数组的存储是连续的,所以数组的查询是O(1)
- 虽然数组因为地址连续查询速度很快,但是数组的增删是O(n)
- 当数组容量不够的时候,就会寻找更大的连续地址,对数组进行扩容操作,较为耗时,所以使用数组最好事先计算好数组的容量
2.链表(List)
- 链表在计算机中存储是随机的,有引用指向下一个元素
- 由于地址不是连续的,所以链表的查询是O(n)
- 链表的地址不连续就意味着,增删元素的时候不会向数组一样,给数据进行移动操作,所以链表的增删是O(1)
- 由于每个元素都会存储指针,所以相对更消耗存储空间
努力奔跑,是为了追上曾经被寄予厚望的自己。