数组VS链表(时间复杂度)

数组在内存中连续存储,适合快速查询,但不支持动态改变大小。链表采用动态内存分配,支持动态增删,但访问效率较低,需从头遍历。链表的中间插入/删除时间复杂度为O(n),数组则涉及数据的拷贝覆盖。

数组(多用于查询检索多的时候)

在内存中连续储存,通过下标访问,访问效率高,不支持动态改变大小,自由度小

链表(多用于需要频繁插入,遍历)

动态内存分配,内存中存储不连续,每一个元素都要保存一个指向下一个元素的指针(双向列表则还需要保存只向上一个元素的指针),链表访问效率低,如果想要访问某个元素,需要从头遍历,支持动态增加或者删除元素,自由度大

 中间插入/删除 时间复杂度为O(n):

链表:需要遍历

数组:数据的拷贝覆盖

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值