update thu_dsa/chp3/chp3.md.
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
Conclusion on Chapter Three: List
|
||||
===============================
|
||||
=================================
|
||||
|
||||
## 知识脉络
|
||||
|
||||
本章主要讨论`列表`。首先给出了`列表`的抽象数据接口,随后针对这些接口给出了不同的实现算法。在学习的过程中要重点去体会`列表`作为一种采用动态存储策略的数据结构,它的相关算法的优势和劣势,并且与`向量`这种静态存储策略的数据结构进行比较。
|
||||
|
||||
针对`列表`的诸多操作中,重点需要把握`无序列表`的唯一化算法,朴素的策略需要`O(n^2)`的时间复杂度,借助排序可以将性能优化到`O(nlogn)`,可是排序会破坏各节点原来的位置,可以通过一些改进策略来消除这个副作用。可以证明,`O(nlogn)`的时间性能已经是该问题的复杂度下界。
|
||||
|
||||
此外,还介绍了针对`列表`的三种排序算法,即`插入排序`,`选择排序`和`归并排序`,为了实现稳定的排序算法,需要把握一些细节。针对`归并排序`,尽管将原来的列表一分为二需要`O(n)`的额外时间,但仍不会对渐进意义下的时间复杂度造成本质影响。
|
||||
|
||||
## List是采取动态的存储策略
|
||||
|
||||
|
||||
Reference in New Issue
Block a user