数组与链表的优缺点及算法复杂度

数组的优缺点

(参考拉勾教育的300分钟搞定数据结构与算法)
优点:
1、构建简单;
2、能在O(1)时间里根据数组的下标(index)查询某个元素。

缺点:
1、构建时必须分配一段连续的空间;
2、查询某个元素是否存在时需要遍历整个数组,耗费O(n)的时间(其中n为元素的个数);
3、删除或添加某个元素时,同样也要花费O(n)的时间。

链表的优缺点

优点:
1、可以灵活分配内存空间;
2、能在O(1)时间内删除或添加元素,前提是该元素的前一个元素已知。也与是单链表还是双链表有关,双链表如果已知该元素的后一个元素时间就为O(1)。

缺点:
1、不能像数组一样通过下标获取元素,每次要从链表头开始一个一个读取;
2、查询第k个元素需要O(k)时间。

注意:索引某个元素和查询某个元素是否存在的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值