数组和链表数据结构-顺序表和链表之间优缺点
1、顺序表存储
原理:将表中元素⼀个个存⼊⼀组连续的存储单元中,这种存储结构是顺序结构。采⽤顺序存储结构的线性表简称为“ 顺序表”。
优点:简单易⽤使⽤的是联系的内存空间可以借助CPU的缓存机制预读取数组中的数据所以访问效率⽐较⾼
缺点:1.插⼊和删除⽐较慢
2.不可以增长长度
3:如果申请的过⼤系统可能没有⾜够的内存空间给分配,会导致内存不⾜,如果声明过⼩就会导致不够⽤如果不够⽤只能申请⼀个更⼤的空间还要把原数组的数据copy 过去影响效率
⽐如:插⼊或者删除⼀个元素时,整个表需要遍历移动元素来重新排⼀次顺序  C# 中如 ArrayList List 等
2、链式表存储
原理:链表存储是在程序运⾏过程中动态的分配空间,只要存储器还有空间,就不会发⽣存储溢出问题
优点:插⼊和删除速度快,保留原有的物理顺序
缺点:查速度慢,因为查时,需要循环链表访问并且链式存储在内存中不连续这样对CPU的缓存不友好没办法做到预先读取链表除了要存储本⾝数据外还要额外维护前后节点的指针,对内存要求的严格的程序是不友好的~⽽且链表频繁的删除和新增会导致内存也频繁的申请释放容易产⽣内存碎⽚导致GC 频繁的去回收
⽐如:插⼊或者删除⼀个元素时,只需要改变指针指向即可  C# 中 LinkedList<T>
总结在实际开发中我们还是要权衡⾃⼰的使⽤场景来决定使⽤什么样的数据结构

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。