顺序表和链表

1.线性表

线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表,链表,栈,队列,字符串。

2.顺序表

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。

顺序表就是数组,但是在数组的基础上,它还要求数据是从头开始连续存储的,不能跳跃间隔

顺序表缺陷:

1.空间不够了,需要增容,增容是要付出代价的。

2.避免频繁增容,我们满了基本都是扩二倍,可能就会导致一定的空间浪费。

3.顺序表要求数据从开始位置连续存储,那么我们在头部,中部插入,删除数据,需要挪动数据,这样效率不高。

环形链表:

证明:slow走一步,fast走两步,一定会相遇,如何求环的入口点

链表的分类:

1.单向或者双向

2.带头或者不带头

3.循环或者不循环

顺序表和链表的区别:

顺序表:

优点:

1.支持随机访问。

2.cpu高速缓存命中率更高

缺点:1.头部中部插入删除时间效率低,O(N)

           2.连续的物理空间,空间不够了,需要增容,增容是要付出代价的。.避免频繁增容,我们               满了基本都是扩二倍,可能就会导致一定的空间浪费。

链表(双向带头循环链表):

优点:

1.任意位置插入删除效率高,O(1).

2,按需申请示范空间

缺点:

1.不支持随机访问。(用下标访问),意味着:一些快排,二分查找算法在这种结构上不适用。

2.链表存储一个值,同时要存储链接指针,也有一定的消耗。

3.cpu高速缓存命中率更低

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值