请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

arraylist 和 linkedlist 的增加删除操作复杂度都是O(n)

老师您好,ArrayList和LinkedList的增加删除操作的复杂度都是O(n),为什么很多面试题里面都说LinkedList是更便于进行增加和删除操作的?谢谢老师

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2018-09-25 12:04:13

LinkedList更常用的场景是在顺序表的头或者尾做添加和删除操作,此时,时间复杂度是O(1)的。

对比ArrayList,只有在尾部添加和删除元素是O(1)的,同时还有扩容和缩容带来的时间消耗以及浪费的静态空间。


但是,如果随时要在顺序表的中间添加或者删除元素的话(比如维护顺序表的有序性),链表和动态数组的添加和删除操作,时间复杂度都是O(n)的,链表是没有性能效率优势的:)


加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 李爽爽爽爽 #1
    理解了,谢谢老师~
    回复 有任何疑惑可以回复我~ 2018-09-25 15:50:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信