mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-04-08 04:59:17 +08:00
1.3 KiB
1.3 KiB
存储结构的选取
基于存储的考虑
- 对线性表的长度和存储规模难以估计时,不宜采用顺序表存储
- 链表不用事先估计存储规模,但存储密度较低
- 链式存储结构的存储密度小于1,不要求连续的存储空间
基于运算的考虑
- 顺序表支持随机存取,按序号查找顺序表的时间复杂度为O(1);
- 链表不支持随机存取,按序号查找链表的时间复杂度为O(n);
- 顺序表的插入、删除操作,平均需要移动表中一半的元素,当表的数据量较大时,这种情况需要重点考虑的。
- 链表的插入、删除操作,也是需要找插入位置(前驱结点、后继结点),主要的操作还是比较操作,相对较好;
基于环境的考虑
- 顺序表容易实现,任何高级语言中都有数组类型;
- 链表操作是基于指针的,指针移动,相对复杂;
综上比较
- 通常比较稳定的线性表选择顺序存储;
- 频繁进行插入、删除操作的线性表,应该选择链式存储,动态性较强