vlambda博客
学习文章列表

数据结构与算法在线教学

本课程针对学习程序设计语言之后,需要开发软件而遇到问题不知怎么处理,怎么寻找解决问题的方法,怎么存储数据及关系,以及学习了《数据结构与算法》课程,但是写程序就感觉无从下手的同学。 关于本课程详细特色请见本页最后的常见问题。

—— 课程团队

 课程概述

    《数据结构与算法》课程是计算机科学与技术的学科基础课程,不仅是《计算机图形学》、《计算机网络》、《编译原理》、《计算机操作系统》等后续课程的基础理论之一,其应用范围也早已扩展到图像处理与模式识别、海量数据挖掘、科学数据处理、复杂网络分析等许多计算机前沿领域。

      本课程研究计算机处理数据的结构特性,学习线性表、树、图等常用数据结构的逻辑结构与存储结构;学习分治递归、动态规划、贪心算法等典型算法,掌握分析与推导算法效率的方法。  


     通过对本课程的学习,能够解决非数值计算与工程应用问题,达到选择或设计恰当的逻辑结构、存储结构及相应的算法的水平,为学生进一步理论学习和解决实际工程应用问题打下坚实的基础。通过理论知识的系统学习与工程实验的操作,初步培养学生的计算思维能力、算法设计与分析能力、程序设计与编程实现能力、计算机系统的认知、分析、设计和运用能力工程实践能力。

  课程由3位经验丰富的老师讲解,4期开课选课人数均超过2万,学生反馈通俗易懂,获得感强,没有专业基础的小白也能够听懂,考试形式好,教师回答学生问题积极,讨论区活跃能够学到很多东西,能够对问题得到及时有用的解答。课程每一期都根据教学经验和学生反馈进行改进,目前已经很完善。

 


 授课目标

本课程面向计算机专业或者非计算机专业,但有程序设计语言基础的同学。



 课程大纲

第一章 绪论

1-教学安排

2-数据结构基本概念,术语与主要学习内容

3-算法

绪论测验

第二章2.1 线性表  (本章内容比较多,需要2周的学习时间)

1-线性表的基本概念

2-基于线性表操作的简单应用

3-线性表的存储结构及基本操作实现

4-线性表的应用

5-栈

6-队列

临时补充内容:7-线性表的基本操作编程视频(请尽量自己实现)

线性表测验

 预备知识

程序设计语言(C,C++,java,python等任何一门语言)


本课程以C语言为基础进行讲解,但学习了其他语言的同学可以无障碍学习本课程内的容并同样受益。

 


 

 证书要求

平时作业:40%

讨论: 10%

期末考试:50%


优秀:>=80

合格:60--79


注意:从2019年9月起,中国大学MOOC开设的课程不再发放免费电子证书,但是认证证书仍然根据最终成绩进行合格证书和优秀证书的发放!

 

 参考资料

林劼,刘震,陈端兵,戴波. 数据结构与算法. 北京:北京大学出版社,2018.8

吴跃,等. 数据结构与算法. 北京: 机械工业出版社, 2010.

王晓东. 算法设计与分析. 2版. 北京:清华大学出版社.

Kleinberg,等. 算法导论.  北京:清华大学出版社.