【数据结构】顺序表和链表的优缺点
·
1.顺序表
优点:
1、物理空间是连续的,方便使用下标随机访问。
缺点:
1、由于需要物理空间连续,空间不够需要扩容。扩容本身有一定消耗,其次扩容机制还存在一定的空间浪费。
2、头部或者中部的插入、删除需要挪动数据,效率低 O(n).
2.链表
优点:
1、任意位置的插入删除数据的效率高O(1).
2、按需申请和释放空间。
缺点:
1、不支持下标的随机访问。有些算法不适合在链表上进行,比如二分查找、排序等
2、空间利用率不如链表,需要一个结点中除了有数据,还有指向其他结点的指针
3、顺序表其他优点
顺序表还有一个优点:CPU高速缓存命中率高

由于内存的速度太慢,CPU不会直接访问内存,数据会先加载到三级缓存或寄存器(4/8byte的小数据会放到寄存器,大数据加载到缓存)
CPU会看数据是否在缓存,在就叫命中,直接访问
不在就叫不命中,先把数据从内存加载到缓存,再访问
而每次加载基于局部性原理,会把数据连续一段空间都加载到缓存
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)