数据结构与算法分析(1)引论
c系列博客的第二个主题将围绕数据结构和算法分析展开。
数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估。希望通过这一系列博客,能够培养良好的程序设计技巧和算法分析能力。
我们将要讨论的内容有:
1.离散数学和递归的一些复习资料。
2.处理算法分析,阐述渐进分析和它的主要弱点。
3.表、栈和队列。重点在使用ADT对这些数据结构编程,这些数据结构的实现,以及介绍它们的用途上。
4.树。重点在查找树和外部查找树(B-树)。
5.散列表和可扩展散列。
6.优先队列。
7.排序。主要关注编程细节和分析。四种算法:插入排序,希尔排序,堆排序以及快速排序。
8.不相交集算法并证明其运行时间。
9.图论算法。
10.通过考察一般问题的求解算法来讨论算法设计。
11.处理摊还分析。
12.查找树算法,k-d树和配对堆。
从1到9可以作为本科的数据结构的全部课程内容。10主要是加深大家的理解和处理问题的能力。7-11可以作为研究生算法分析的课程。第12章则是数据结构图和算法分析的进阶深入学习。
本系列博客计划将所有12项全部解决。