1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-04-25 03:00:00 +08:00
Files
408CSFamily/docs/manuscripts/ds/linear-table/8.selection_of_storage_structure.md
妹妹下雨回不去 7bd3072ee1 refactor: 配置全局采用ts改写,优化导航栏
- ts改写配置文件
- 导航栏内容优化,修复一些问题
- 新增一些文档,调整样式显示
2023-03-02 16:38:11 +08:00

1.3 KiB
Raw Blame History

存储结构的选取

基于存储的考虑

  • 对线性表的长度和存储规模难以估计时,不宜采用顺序表存储
  • 链表不用事先估计存储规模,但存储密度较低
  • 链式存储结构的存储密度小于1不要求连续的存储空间

基于运算的考虑

  • 顺序表支持随机存取按序号查找顺序表的时间复杂度为O(1)
  • 链表不支持随机存取按序号查找链表的时间复杂度为O(n);
  • 顺序表的插入、删除操作,平均需要移动表中一半的元素,当表的数据量较大时,这种情况需要重点考虑的。
  • 链表的插入、删除操作,也是需要找插入位置(前驱结点、后继结点),主要的操作还是比较操作,相对较好;

基于环境的考虑

  • 顺序表容易实现,任何高级语言中都有数组类型;
  • 链表操作是基于指针的,指针移动,相对复杂;

综上比较

  • 通常比较稳定的线性表选择顺序存储;
  • 频繁进行插入、删除操作的线性表,应该选择链式存储,动态性较强