diff --git a/408/数据结构/README.md b/408/数据结构/README.md index 9c594fa..84246d3 100644 --- a/408/数据结构/README.md +++ b/408/数据结构/README.md @@ -593,6 +593,12 @@ Tips:我们在选题时排除了近五年的真题,大家可以把这些题 ## Week 7 +### 上周内容总结 + 本周复习提要 + +过去这一周,我们学习了图的应用(下)、拓扑排序、关键路径、B+ 树,以选择题为主,需要理解步骤和特点。 + +本周,我们首先学习 7.4 散列表,这部分常以选择题出现,本节重在掌握平均查找长度的求法;然后后我们需要学习 8.1~8.4 排序相关内容,这部分重在掌握不同排序方法的原理、流程、复杂度、稳定性。普通插入排序、冒泡排序快速排序要掌握代码。 + ### 7.4 散列表 #### 学习建议 @@ -615,4 +621,44 @@ Tips:我们在选题时排除了近五年的真题,大家可以把这些题 - 道上仙:掌握查找成功和失败时平均查找长度 ASL 的计算 > 小题:13 -> 大题:3,4,5,6 \ No newline at end of file +> 大题:3,4,5,6 + +### 8.1 排序的基本概念 + +#### 学习建议 + +- 排序注意两点:效率和稳定性 +- 如果能一直确保相对有序那一般是稳定算法(如普通插入排序) +- 排序一般考虑平均复杂度 + +#### 考研修仙 + +- 道上人:理解排序稳定性 + +> 小题:1,2,3,4 + +### 8.2 插入排序 + +#### 学习建议 + +- 插入排序(普通、折半)的原理是 $i$ 从 $1$ 到 $n$,一直保持前 $i$ 个序列有序,不断向有序序列中插入新元素 +- 折半插入排序相比普通插入排序查找次数减少,元素移动次数不变,所以两种排序时间复杂度都是 $n^2$ +- 希尔排序是基于直接插入排序的,复杂度不需要掌握,需要学会根据序列判断步长 +- 插入排序的特点是,每-趟不会确定元素的最终位置,但是会保证部分序列元素相对有序,这保证了稳定性(除了希尔) +- 直接插入排序和折半插入排序都是稳定的,希尔排序不稳定 + +#### 考研修仙 + +- 道上人:理解普通插入排序原理、流程 + +> 小题:1,4,6 +> 大题:1 + +- 道上佬:理解折半插入排序,掌握普通和折半插入排序的复杂度,比较普通插入排序和折半插入排序 + +> 小题:3,8,14 + +- 道上仙:理解希尔排序、步长 + +> 小题:9,10,13,18 +> 大题:2 \ No newline at end of file