1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-05-12 19:17:21 +08:00

fix: 修改docs

This commit is contained in:
mmdapl
2022-04-23 00:07:20 +08:00
parent 264e76a03a
commit 7fcdfb829f
143 changed files with 31625 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
---
title: selection_of_storage_structure
date: 2021-03-07 22:00:36
permalink: /pages/56b8ef/
categories:
- DataStructure
- linear_table
tags:
-
---
<!--
* @Description:
* @Version: Beta1.0
* @Author: 【B站&公众号】Rong姐姐好可爱
* @Date: 2021-03-07 22:00:36
* @LastEditors: 【B站&公众号】Rong姐姐好可爱
* @LastEditTime: 2021-03-07 22:00:43
-->
## 存储结构的选取
### 基于存储的考虑
- 对线性表的长度和存储规模难以估计时,不宜采用顺序表存储
- 链表不用事先估计存储规模,但存储密度较低
- 链式存储结构的存储密度小于1不要求连续的存储空间
### 基于运算的考虑
- 顺序表支持随机存取按序号查找顺序表的时间复杂度为O(1)
- 链表不支持随机存取按序号查找链表的时间复杂度为O(n);
- 顺序表的插入、删除操作,平均需要移动表中一半的元素,当表的数据量较大时,这种情况需要重点考虑的。
- 链表的插入、删除操作,也是需要找插入位置(前驱结点、后继结点),主要的操作还是比较操作,相对较好;
### 基于环境的考虑
- 顺序表容易实现,任何高级语言中都有数组类型;
- 链表操作是基于指针的,指针移动,相对复杂;
综上比较
- 通常比较稳定的线性表选择顺序存储;
- 频繁进行插入、删除操作的线性表,应该选择链式存储,动态性较强