1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-04-15 10:50:38 +08:00

update sqList

This commit is contained in:
mmdapl
2021-03-19 08:20:42 +08:00
parent 11cb7445b6
commit fa6911b5f3
6 changed files with 8 additions and 5 deletions

BIN
.DS_Store vendored

Binary file not shown.

BIN
数据结构/.DS_Store vendored

Binary file not shown.

Binary file not shown.

View File

@@ -201,7 +201,7 @@ int DeLoopQueue(SqQueue &Q, ElemType &x){
Q.front=(Q.front+1)%MaxSize;
Q.tag=0;
return 1;
}
}
```
#####

Binary file not shown.

View File

@@ -4,7 +4,7 @@
* @Author: 【B站&公众号】Rong姐姐好可爱
* @Date: 2021-03-07 21:57:52
* @LastEditors: 【B站&公众号】Rong姐姐好可爱
* @LastEditTime: 2021-03-07 21:58:00
* @LastEditTime: 2021-03-19 08:16:00
-->
@@ -15,7 +15,7 @@
`顺序表`:顺序存储的线性表,**是用一组地址连续的存储单元,依次存储线性表中的数据元素,使得在逻辑上相邻的两个元素在物理位置上也相邻。**
![](/数据结构/线性表/images/线性表的存储结构.png)
@@ -98,7 +98,7 @@ L.data=new ElemType[InitSize];
在顺序表L的第i1≤i≤L.length+1个位置插入新的元素e
- 第一步如果i非法则直接返回false插入失败结束插入过程
- 第二步i正常将表的第i个元素以及后面的所有元素都像有移动一个位置在腾出来的空位置插入元素e
- 第二步i正常将表的第i个元素以及后面的所有元素都向右移动一个位置在腾出来的空位置插入元素e
- 第三步顺序表插入成功返回true
注意:先判空和临界值,提高算法健壮性
@@ -148,6 +148,8 @@ bool ListInsert(SqList &L, int i, ElemType e){
**时间复杂度**
![](/数据结构/线性表/images/顺序表插入平均时间复杂度计算.png)
- 最好情况在表尾插入元素向后移动循环没有执行时间复杂度O(1);
- 最坏情况在表头插入元素后移循环执行n次时间复杂度为O(n);
- 平均情况随机插入平均次数为n/2对应的平均复杂度为O(n);
@@ -212,7 +214,8 @@ bool ListDelete(SqList &L, int i, ElemType &e){
**时间复杂度:**
![](/数据结构/线性表/images/顺序表随机删除元素的平均复杂度计算.png)
- 最好情况删除表尾元素不需要移动任何元素时间复杂度为O(1)
- 最坏情况删除表头元素需要移动除第一个元素外的所有元素时间复杂度为O(n)