SPOC学校专有课程
算法设计与分析
分享
spContent=
—— 课程团队
课程概述

    算法设计与分析是计算机专业的核心课程。学习该课程对学习其他专业课奠定了扎实的基础,也对培养计算思维和求解问题的能力起到重要作用。面对各个应用领域的大量实际问题,最重要的是分析问题的性质并选择正确的求解思路,即找到一个好的算法。特别是在当今复杂、海量信息的大数据处理中,一个好的算法往往起到决定性的作用。
    本课程注重针对实际问题需求,进行数学建模并选择高效求解算法的训练,为提高学生的素质和创新能力打下必要的基础。课程主要内容涉及:面对实际问题建立数学模型、设计正确的求解算法、算法的效率估计、改进算法的途径、问题计算复杂度的估计、难解问题的确定和应对策略等等。本课程是算法课程的基础部分,主要涉及算法的设计、分析与改进途径,其他有关计算复杂性的内容将在后续课程"算法设计与分析(高级)"中加以介绍。

    课程的内容分成两大部分:算法的基础知识和通用算法设计技术与分析方法。

    算法基础知识部分主要介绍算法相关的基本概念和数学基础。比如,什么是算法的伪码描述?什么是算法最坏情况下和平均情况下的时间复杂度?算法时间复杂度函数的主要性质,算法复杂度估计中常用的数学方法,如序列求和及递推方程求解。

    通用算法设计技术与分析方法部分主要介绍分治策略、动态规划、贪心法、回溯与分支限界等算法设计技术。重点介绍这些设计技术的使用条件、分析方法、改进途径,并给出一些重要的应用。

 

课程大纲
预备知识

程序设计基础

数据结构

高等数学

线性代数

参考资料

《算法设计与分析(第2版)》  屈婉玲、刘田、张立昂、王捍贫编著 清华大学出版社

Introduction to Algorithms (Third Edition). Cormen, Leiserson, Rivest. The MIT Press.