课程

中国大学MOOC,为你提供一流的大学教育

hi,小mooc
期末考试会员
SPOC学校专有课程
算法与数据结构
第1次开课
开课时间: 2021年02月25日 ~ 2021年06月30日
学时安排: 3-5小时每周
当前开课已结束 已有 96 人参加
老师已关闭该学期,无法查看
spContent=程序=数据结构+算法,人们逐渐意识到数据是新能源,但是真正推动社会进步的还是算法。算法在无形当中影响着我们生活的方方面面。新闻网站为我们推荐阅读,打车软件帮你选择最佳交通路线,电商网站为你推荐喜欢的商品……。 来吧,让我们一起进入算法与数据结构的课堂,探讨其中的奥秘吧。
程序=数据结构+算法,人们逐渐意识到数据是新能源,但是真正推动社会进步的还是算法。算法在无形当中影响着我们生活的方方面面。新闻网站为我们推荐阅读,打车软件帮你选择最佳交通路线,电商网站为你推荐喜欢的商品……。 来吧,让我们一起进入算法与数据结构的课堂,探讨其中的奥秘吧。
—— 课程团队
课程概述

一、引言

马云和李彦宏曾经爆发过算法和数据的争论。2008年全球市值最高的十家企业中绝大多数是资源、金融等传统企业,而十年后则是以互联网高科技企业为主,排名第二的Alphabet是谷歌搜索的母公司。

二、课程的定位

《算法与数据结构》是一门理论与实践相结合的课程,是程序设计(特别是非数值计算的程序设计)的基础。由于该门课程的重要性,该课程已经是绝大部分计算机相关专业研究生考试必考专业课之一;课程的成绩是反映学生数据抽象能力、编程能力的重要体现。

                                           图1:数据结构课程的作用

三、课程的内容

算法与数据结构主要讨论在应用计算机解决问题时,如何有效地组织数据、表示数据和处理数据,以及如何设计正确的算法和评价算法的效率。该课程介绍常见的数据结构及其应用,常用的数据处理技术和算法,以及算法效率估算的基本技术。本课程的知识体系主要涉及以下内容:

(1) 常用数据结构的抽象数据类型定义及其实现, 包括线性表,栈,队列,数组和串,树和二叉树,图等。

(2) 常用检索和排序方法,检索包括线性表、二叉排序树、散列表等常见的检索技术,排序包括直接插入排序、Shell 排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序等常用的各种排序算法及其时间和空间开销。

四、课程的目标

通过本课程的学习,要求学生:

   (1)掌握数据结构的基本概念,理解算法与算法分析的基本方法;

   (2)掌握线性结构、树结构和图结构的实现方法;

   (3)理解栈、队列等数据结构的应用场合并能正确应用;

   (4)熟练掌握递归、检索和排序算法思想并能应用该解法进行问题求解。

通过对上述内容的学习,在对学生进行基本数据结构的技术、理论、设计等各种技能培养的同时,从问题抽象、数据抽象和算法抽象的角度来组织数据结构与算法的设计并学会对算法的评价方法,培养学生的数据抽象和程序设计能力。也为学习后续专业课程,设计系统程序打下坚实的理论基础和实践基础。

五、课程的特色

教学中采用案例式、实证式、研究型和启发式等新型教学范式来提升激发学生的学习兴趣,培养学生的问题求解与计算思维能力









显示全部
成绩 要求

    本课程总分为100分,通过视频学习,完成课堂交流区讨论、章节测试和期中期末考试。总成绩由各分项成绩汇总后评定设置“合格”(达到60分)、“优秀”(达到80分)两档课程标准,其中成绩“优秀”者,可以获得优秀证书(为了对学习者的在线学习过程更加负责,保证平台证书的严谨性和权威性,从2019年9月份开始,中国大学MOOC将不再发放免费证书。认证证书(同时有纸质版和电子版)收费:100元/人)。

其中:

  1)参与课堂交流区讨论:得分占总评分数的10%,回复次数不低于10次;

  2)单元测试:得分占总评分数的20%;

  3)单元作业:得分占总评分数的30%;

  4)期中期末考试:得分占总评分数的40%。

本课程成绩总分100分。



课程大纲

第一周 数据结构概述(时长:24分42秒)

第1讲 什么是数据结构(时长:8分01秒)

第2讲 数据结构与抽象数据类型(时长:7分34秒)

第3讲 算法与算法复杂度分析(时长:9分07秒)

数据结构概述测试

C语言编程作业(复习)

第二周 线性表(上)(时长:74分54秒)

第1讲 线性表及其顺序存储(时长:34分46秒)

第2讲  单链表(时长:40分09秒)

线性表单元测试(上)

线性表编程作业(上)

第三周 线性表(下)(时长:105分58秒)

第3讲  带头结点的单链表(时长:40分16秒)

第4讲 循环链表(时长:34分01秒)

第5讲 双链表和静态链表(时长:31分41秒)

线性表单元测试(下)

线性表编程作业(下)

第四周 栈和队列(时长:79分33秒)

第1讲 栈(时长:29分45秒)

第2讲 队列(时长:49分38秒)

栈和队列单元测试

第五周 字符串和数组 (上)(时长:73分31秒)

第1讲 字符串的定义以及顺序串的实现(时长:29分34秒)

第2讲 字符串的链式存储实现(时长:32分33秒)

第3讲 字符串的朴素模式匹配(时长:11分24秒)

字符串和数组单元测验 (上)

字符串和数组编程作业(上)

第六周 字符串和数组(下)(时长:62分06秒)

第4讲 数组及其顺序存储(时长:15分18秒)

第5讲 特殊矩阵的压缩存储(时长:16分07秒)

第6讲 稀疏矩阵的三元组表示(时长:14分50秒)

第7讲 稀疏矩阵的转置(时长:15分51秒)

字符串和数组(下)单元测试

字符串和数组(下)编程作业

第七周 树和二叉树(上)(时长:83分48秒)

第1讲 树的基本概念和存储结构(时长:23分18秒)

第2讲 树的遍历算法以及层次遍历的实现(时长:16分05秒)

第3讲 二叉树的定义和性质(时长:22分29秒)

第4讲 二叉树的存储(时长:14分14秒)

第5讲 树、森林与二叉树的转换(7分38秒)

树和二叉树单元测试(上)

树和二叉树编程作业(上)

第八周 树和二叉树(下)(时长:82分06秒)

第6讲 二叉树的遍历(时长:37分03秒)

第7讲 二叉树的建立(时长:7分03秒)

第8讲  线索二叉树(时长:18分02秒)

第9讲 哈夫曼树(时长:19分54秒)

树和二叉树单元测试(下)

树和二叉树编程作业(下)

第九周 图(上)(时长:64分49秒)

第1讲 图的基本概念(时长:19分43秒)

第2讲 图的存储(时长:22分13秒)

第3讲 图的遍历(时长:22分53秒)

图单元测试(上)

第十周 图(下)(时长:46分50秒)

第4讲 图的最小生成树(时长:34分34秒)

第5讲 最短路径(时长:12分16秒)

图单元测试(下)

图编程作业

第十一周  检索(时长:77分41秒)

第1讲  检索的基本概念(时长:8分23秒)

第2讲 基于线性表的检索(时长:22分11秒)

第3讲 二叉排序树(时长:24分17秒)

第4讲 散列检索(时长:22分50秒)

检索单元测试

检索编程作业

第十二周 排序(上)(时长:49分56秒)

第1讲 排序的概念(时长:5分21秒)

第2讲 选择排序(时长:23分13秒)

第3讲 交换排序(时长:21分22秒)

排序单元测试(上)

第十三周 排序(下)(时长:42分11秒)

第4讲 插入排序(时长:20分34秒)

第5讲 归并排序(时长:11分00秒)

第6讲 基数排序(时长:10分37秒)

排序单元测试(下)

排序编程作业

展开全部
预备知识

具备初步的C程序设计知识。

参考资料

教材:

数据结构(C语言版)第3版.李云清、杨庆红等编著.人民邮电出版社,2014.

主要参考书目:

1. 数据结构——从概念到C实现.王红梅,皮德常编著.清华大学出版社出版, 2017.

2. 数据结构(C语言版).严蔚敏,李冬梅,吴伟民编著,人民邮电出版社.2007.

3. 数据结构与算法分析:C语言描述,原书第2版.(美)维斯 著,冯舜玺.译.机械工业出版社.2019.

4. 数据结构与算法.张铭等编著. 北京:高等教育出版社, 2008.

5. 陈越主编. 数据结构. 北京:高等教育出版社, 2012.

6. Data Structures and Program Design in C++. Robert L. Kruse,  Prentice Hall. 

7.算法导论(第2版 影印版). (美)科尔曼.高等教育出版社.2002.





常见问题

问题1:上机使用什么软件?

答:上机软件可以使用CB或者其它C编译器。

问题2:如何学好这门课程?

答:《算法与数据结构》是一门理论与实践并重的课程,除了学习理论知识外,那就是coding、coding and coding。本课程有配套的OJ测试题,如果你觉得还不够的话,推荐同学们可以到拼题A平台上进行编程练习。拼题A全称为“Programming Teaching Assistant”(缩写为PTA),网址:https://pintia.cn/。用Chrome浏览器或火狐浏览器浏览效果最佳。


源课程

该SPOC课程部分内容来自以上源课程,在源基础上老师进一步增加了新的课程内容

江西师范大学
1 位授课老师
熊刚

熊刚

副教授

下载
下载

下载App