ArrayList LinkedList增删查时间复杂度分析

get(index)  根据下标查询,顺序存储知道首个元素的地址,其他的位置很快就能确定,时间复杂度为O(1)

                  链式存储,从首个元素开始查找,直到查找到第 i个位置,时间复杂度为O(n)

add(E)  直接尾部添加,时间复杂度O(1)

add(index,E)  顺序存储需要查找到元素然后执行插入或删除,时间复杂度为O(1)+O(n)=O(n);

                       链式存储同样需要先查找到元素然后在插入或删除,时间复杂度为O(n)+O(1)=O(n)

remove(E)  顺序存储删除指定元素,后面元素要向前移动,时间复杂度O(n)

                    链式存储,直接 指针操作(找到前驱节点,再删除),时间复杂度O(1)

相关文章:

  • 2021-06-12
  • 2022-12-23
  • 2022-02-21
  • 2022-02-06
  • 2021-11-02
  • 2021-06-18
猜你喜欢
  • 2022-12-23
  • 2022-01-08
  • 2021-11-23
  • 2021-11-29
  • 2022-01-24
相关资源
相似解决方案