导航菜单
首页 >  中国大学mooc必须参加考试吗  > 数据结构与算法

数据结构与算法

提醒1:授课老师有口音,对普通话要求标准比较高的同学,建议不要选修本课程。

提醒2:因春季学期部分同学需要在6月30日之前获得本课程成绩,因此课程结束日期从6月30日修改为6月10日,请需要证书的同学在6月10日之前完成所有课程,作业和考试。

提醒3:同学们如果在上课时间内没有时间学习,可以先加入课程,假期学习。我们课程只要加入就可以随时回看学习。但如果没有在开课期间加入,则只有等下次开课才能够加入观看视频了。我们的开课时间是一年2次:春节一次,秋季一次。

Q :  那么多《数据结构》或者《数据结构与算法》课程,我们课程明显特色是什么?

A :  

细心的同学可能发现不少名字叫做《数据结构》,或者名字叫《数据结构与算法》的课程,但其中算法部分只是包括了查找,排序等基本算法,而我们的算法课程除了其他课程的核心主要内容,还包括:递归与分治,贪心算法,动态规划。

这些算法经典而用途广泛,许多同学在学习其他数据结构课程的时候,常常有为什么这些人能够想到这种求解思路的困惑,或者有哪些规律,能够解决哪些类型的问题,我们课程中能够解答您的这些疑惑。举 最小生成树 问题作为例子,其他课程您可能学习之后知道通过加点或者加边的方式能够得到最小生成树,但是您不会知道算法思想来自于贪心算法,也不知道为什么这种方法能够得到全局最优解,而比如找硬币问题,也可以采用贪心算法求解,可是却不一定能够得到全局最优解。通过这些典型算法的学习与应用,不但能够打下更加扎实的基础,还能够触类旁通,举一反三。

我们课程的另外1个特色,就是很多同学学习其他《数据结构》or《数据结构与算法》课程,会造成一种错觉:以为本课程就是一门理论课程,并不能解决寻找算法用程序编写软件解决大部分现实世界问题的能力。实际上,我们通过案例引导及分析,就是要让同学们不但能够找到解决问题的算法,还具有根据算法编写软件的能力。特别是第一章线性表,我们可以说是一步步的讲解怎么写程序实现基本操作,怎么写程序实现更加复杂的问题。

所以,学习本课程,不要满足于听懂,还要积极参与讨论,开拓您的思路;还要把所思所想转换成为代码程序,只有从基础开始多做思路转换为代码的编程练习,最终才具有解决复杂问题和未知问题的能力和编程水平!

Q :  课程采用C语言作为教学语言,我学的是python/c++/java/其他语言,能够学好本课程吗?怎么学?

A :  当然可以,我们虽然以C语言作为教学语言,但是原理都是通的,您只需要把我们的C语言代码用您熟悉代码展示,完成的作业或者测验也采用您的语言也是可以的。大部分作业或者测验,我们会考虑同学们编程语言不同的问题,尽量用算法或者伪代码描述,需要实际编程的不会限制语言。

Q :  《数据结构与算法》课程为什么要一次性分布,而不是按周发布?

A :   第一次开课是按周分布,发现这种分布方式的最大优点是强迫同学们按照老师的进度要求进行学习,同时也是最大的缺点,原因如下:

1. 开学功课较轻松,想多学习慕课课程,但由于慕课课程按周分布,不能根据自己的时间灵活安排学习进度。半期开始功课难度加大,作业比较多,慕课的学习一旦延后,就慢慢放弃了。所以,我们开学一次性把所有内容分布出来,您可以根据自己的时间灵活安排学习进度,对于时间管理困难的同学,可以参考我们教学大纲中每章的学习时间建议进行学习。

2. 我们课程是半开放的,也就是只要加入课程,哪怕课程已经结束,您还可以回看视频,但不能在讨论区提问和做作业及参加考试。但您可以加入我们QQ群继续提问,同学们和老师都在线的,有空都会答疑。加上我们的课程(视频,作业,考试)都是提前一次性分布,结束时间也比较晚(持续到假期中),所以您可以灵活的利用开学和假期时间进行学习及复习。

相关推荐: