内容简介:

培养学生掌握数据结构和算法的设计分析技术,提高程序设计的质量,根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制。使得学生在将来的学习、研究和工作中,具备设计和实现高效的数据结构和算法的能力。
本课程方案的基本设计原则可以概括为以下三个方面:
(1)强调基础数据结构与算法的训练,从问题求解的角度,培养学生运用数据结构和算法基本理论来分析和解决问题的能力。
(2)注重实践能力和工程能力的培养,使得学生遵从软件开发的规范性,并建立起数据结构与算法设计和问题求解的知识体系。
主要的关注点,是数据知识与算法知识体系以及问题求解的计算思维能力。课程的重点:从广度和深度上把握数据结构与算法的知识体系,了解基本数据结构和经典算法,掌握理论、抽象和设计方法。课程的难点:问题抽象、算法抽象、数据结构抽象等数学抽象能力的培养;树和图结构中搜索和回溯思想;排序等算法的时空效率分析和权衡;检索和索引的效率;AVL、伸展树、红黑树等平衡树、B/B+树等数据结构中的平衡问题;根据实际问题,选择合适的数据模型,设计合适的算法,运用所学理论知识来求解;各种数据结构和算法在学科前沿中的应用和发展。
针对上述重点和难点,本课程从理论、抽象和设计的三个层次展开数据结构与算法教学,注重数据结构基本概念和抽象数据类型表述,使得学生可以在不同的设计阶段采用不同的抽象数据类型作为设计的基础,在适当的抽象层次上考虑程序的结构和算法。对每种数据结构都从其数学特性入手,先介绍其抽象数据类型;再讨论其不同的存储方法,与学生一起讨论研究不同存储实现下的可能算法;然后结合算法分析来讨论各种存储方法和算法的利弊,摒弃那些不适宜的方法。这样,充分调动学生主动学习的积极性,使得学生学到数据结构与算法所涉及的计算思维方法。

课程目录