For the complete documentation index, see llms.txt. This page is also available as Markdown.

算法基础(专业基础)

课程简介

本课程是计科、AIDS的专业基础课。课程主要涵盖了算法设计、算法分析和证明等,并主要介绍了以下内容:基础概念(复杂度分析、近似分析、输入量、随机化算法)、排序算法、分治算法(经典的平面最近点对、快速傅里叶变换等)、高级数据结构、动态规划、贪心与近似算法、均摊分析、图论算法、数论算法、字符串算法、线性规划、计算复杂性等。每位老师的授课内容和侧重点不同,可以在评课社区进一步了解

前置知识

C/C++, 数据结构,线性代数

往年经验

算法基础教的是不基础的基础算法。笔者的算法基础任课老师为陈雪老师。由于陈雪老师是曾经的信息学竞赛集训队,目前研究理论计算机科学(TCS),因此课程内容对于学习过算法竞赛的同学可能较为利好,但是这仅限于算法设计方面。陈雪老师的课程强调如何严谨地分析算法的正确性和复杂性,对于数学和算法知识要求都较高。由于陈雪老师的上课的过程中除了授课语言使用中文外,课件和板书都使用英文,并且课件内容仅作为课程提纲,更详细的证明和分析都在板书完成,所以建议不要翘掉任何一节课。期中期末考试会有伪代码和算法证明与分析,建议平时做作业和备考看往年卷时多加练习。

当然了以上对于这门课的描述是否有点灰色,在学习算法基础这门课程的过程中,你也会感受到一些前人的智慧,在算法设计和证明过程中感受到算法的微妙。

对于初学算法的同学,建议刷leetcode进行算法设计的练习(更更往年学长的经验);对于有算法基础的同学,上课务必认真听是否有没有学习过或不熟悉的算法,避免出现因过度自信而遗漏的情况

与后续课程的关系

后续各种编程方法的基础,与各种领域如网络、系统、AI、通信等都联系紧密,也是程序员工作面试的必备技能(leetcode的知识基本全在本课程有所讲授)。

课程资源

往年试题,后续将继续补充https://pan.ustc.edu.cn/share/index/fa540fab500d4e88a67e

最后更新于