复杂的权衡之时间、空间和单链表结构

单链表结构表现出和数组不同的时间和空间权衡。

下表为单链表结构的运行时间:

操作运行时间
在第i个位置访问O(n),平均情况
在第i个位置替换O(n),平均情况
在开始处插入O(1),最好情况和最差情况
在开始处删除O(1),最好情况和最差情况
在第i个位置插入O(n),平均情况
在第i个位置删除O(n),平均情况

单链表结构相对于数组的主要优点并不是时间性能,而是内存性能。当必须调整数组的大小的时候,其时间和内存都是线性的。当调整链表结构的大小的时候(这在每次插入或删除的时候都会发生),其时间和内存都是常数的。此外,在链表结构中没有浪费内存的问题。链表结构的物理大小不会超过其逻辑大小。链表结构确实有一个额外的内存代价,因为单链表结构必须要为指针使用m个内存单元格。这个代价在双链表中更是变本加厉,因为双链表的节点有两个链接。

结束!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值