基础的数据结构:链表和数组的比较

160 阅读1分钟
1. 一般研究数据结构,一般先讲其自身的增删改查
2. 提到复杂度的时候,没有明确说明的情况下,均指的是时间复杂度。

数组

[1,2,3,4,5]

arr[0] arr[1] 这种访问,成为随机访问

随机访问:复杂度O(1) 增删:复杂度O(n)

中间插入一个元素n,或者删除一个元素n的时候,n之后的元素都要进行移动一边,所以时间复杂度是O(n)

链表

1=>2=>3=>4

随机访问: 复杂度:O(n) 增删: 复杂度O(1)

结论

  1. 当数据要求有顺序,并且随机访问要求高的时候,使用数组。 eg: 队列
  2. 当我们对插入和删除操作要求高的时候,使用链表。