8.数组和链表的区别

数组和链表的区别

1.数组(Array)

  • 数组在计算机底层存储是连续的
  • 相比于链表数组节省了存储链表的空间
  • 由于数组的存储是连续的,所以数组的查询是O(1)
  • 虽然数组因为地址连续查询速度很快,但是数组的增删是O(n)
  • 当数组容量不够的时候,就会寻找更大的连续地址,对数组进行扩容操作,较为耗时,所以使用数组最好事先计算好数组的容量

2.链表(List)

  • 链表在计算机中存储是随机的,有引用指向下一个元素
  • 由于地址不是连续的,所以链表的查询是O(n)
  • 链表的地址不连续就意味着,增删元素的时候不会向数组一样,给数据进行移动操作,所以链表的增删是O(1)
  • 由于每个元素都会存储指针,所以相对更消耗存储空间
posted @ 2021-03-27 18:40  迁承_0204  阅读(217)  评论(0编辑  收藏  举报