课程

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

认证学习
为你提供认证成绩和证书,以及AI高效学习服务
查看详情
大学

国家精品

认证学习

智慧课程

理学工学农学

计算机

经济管理

外语

音乐与艺术

心理学

文史哲法

医学与保健

教育教学

大学生竞赛

软件实训

人工智能

升学/择业

考研

期末突击

专升本

四六级

保研及论文

求职就业

专四专八

大学应试英语

期末资料

终身学习

有声课堂

兴趣技能

hi,小mooc
考研全科400分攻略
SPOC学校专有课程
数据结构与算法(张淼 2025年春)
第1次开课
开课时间: 2025年02月28日 ~ 2025年06月30日
学时安排: 3-5小时每周
进行至第10周,共18周 已有 241 人参加
立即参加
spContent=《数据结构与算法》是计算机等相关专业的核心课程,主要讨论抽象数据关系和算法在计算机中的表示与实现,具体包括线性表、栈、队列、树、图、查找和排序。通过对该课程,学习者可以更加合理有效地组织、存储和处理数据,设计正确有效的算法;并能充分提升抽象思维、创造力和逻辑思维能力。
《数据结构与算法》是计算机等相关专业的核心课程,主要讨论抽象数据关系和算法在计算机中的表示与实现,具体包括线性表、栈、队列、树、图、查找和排序。通过对该课程,学习者可以更加合理有效地组织、存储和处理数据,设计正确有效的算法;并能充分提升抽象思维、创造力和逻辑思维能力。
—— 课程团队
课程概述

 《数据结构与算法》是计算机等相关专业的核心课程,主要讨论抽象数据关系和算法在计算机中的表示与实现,具体包括线性表、栈、队列、树、图、查找和排序,其概念、原理和方法在程序设计与软件开发的过程中有着极其重要的指导意义。如,程序语言编译中要使用栈、散列表及语法树,操作系统中使用队列、存储管理表及目录树等设计数据元素在存储中的分配问题;数据库系统中运用线性表,多链表及索引树等进行数据管理;在人工智能领域,依求解问题性质的差异将涉及到各种不同的数据结构,如广义表.集合、树、图等。


 数据结构与算法是程序设计的灵魂。通过对数据结构与算法的学习,可以更加合理有效地组织、存储和处理数据,可以设计正确的算法并能对算法进行分析和评价;可以充分锻炼我们的抽象思维、创造力和逻辑思维能力。让我们一起走进数据结构与算法的世界,领略二者相辅相成的美,为操作系统、编译原理、数据库等课程做好必要的基础准备,为大家从事Web信息处理、人工智能等理论研究、应用开发、技术管理工作提供坚实的理论基础和解决实际问题的程序设计能力!

授课目标

培养学生掌握数据的逻辑结构、存储结构以及操作的定义和实现,掌握基本的算法复杂度分析方法;熟练运用栈、队列 、二叉排序树、哈夫曼树、最小生成树、Dijstra算法等模型来求解工程问题。能够根据实际工程需求选择、设计合理的数据结构,设计有效的算法完成相关的数据增、删、改、查等操作。

成绩 要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


课程大纲
绪论
课时目标:掌握数据结构与算法概念,理解数据的逻辑结构与物理结构的相互关系,掌握算法概念及计算复杂度的概念,基本的算法分析方法。能够分析基本的循环结构、递归调用程序的算法复杂度。
1.1 什么是数据结构
1.2 算法设计与分析
绪论单元测验
绪论单元作业
线性表
课时目标:掌握线性表结构的逻辑结构、存储结构、操作的定义;掌握栈、队列结构的定义,基于顺序存储结构实现栈与队列;了解字符串操作的定义和相关操作,掌握字符串的简单匹配算法和KMP算法逻辑。能够实现线性表的线性存储和链式存储及相关操作,应用栈与队列求解具体问题,用代码实现字符串的匹配操作。
2.1 线性表及其顺序存储
2.2 链表
2.3 栈的基本概念与存储
2.4 栈的应用
2.5 队列
2.6 字符串匹配
2.7 字符串的模式匹配——KMP算法
线性表单元测验
线性表单元作业
二叉树
课时目标:掌握二叉树的逻辑结构、存储结构、二叉树的广度优先、深度优先遍历操作;掌握特殊二叉树的定义、实现及应用;掌握树、森林的定义以及与二叉树的转换。编码实现二叉树的链式存储及各种遍历操作;编码实现二叉搜索树的的插入、删除和查找操作,对平衡二叉搜索树进行正确旋转,分析查找效率;编码实现堆结构及堆的插入、删除操作;设计具体文件中字符的Huffman编码;编码实现由先序(或后序)、中序序列创建二叉树。
3.1 二叉树的概念与性质
3.2 二叉树的存储
3.3 二叉树的遍历(一)
3.4 二叉树的遍历(二)
3.5 二叉搜索树
3.6 堆与优先队列
3.7 Huffman树及其应用
二叉树单元测验
二叉树单元作业
课时目标:4.1 图的基本概念4.2 图的存储4.3 图的遍历4.4 最小生成树4.5 最短路径4.6 关键路径图单元测验图单元作业
掌握图结构的定义、存储实现及遍历操作;掌握最小生成树定义和生成算法、最短路径计算方法逻辑及实现、关键路径的定义及求解算法。
编码实现图的顺序存储及各种遍历操作;编码实现确定最小生成树的Prim算法、Kruskal算法,编码实现单源最短路径Dijkstra算法和Floyd算法,并能分析算法的时间复杂度。应用相关算法设计具体问题的解决方案。
查找
课时目标:掌握基于线性结构的顺序、二分法查找方法、散列查找方法和基于动态结构的查找方法。编码实现顺序查找和二分法查找方法,并能分析算法的时间复杂度;基于不同的解决冲突的方法,实现对数据的散列存储,并能分析查找成功和不成功的时间复杂度。能够实现在2-3树结构上的插入和删除。
5.1 顺序查找
5.2 二分法查找
5.3 动态查找(一)
5.4 动态查找(二)
5.5 动态查找(三)
5.6 散列查找(一)
5.7 散列查找(二)
查找单元测验
查找单元作业
排序
课时目标:掌握插入排序、交换排序、选择排序和归并排序算法思想;掌握基数排序算法思想。编码实现插入排序、交换排序、选择排序和归并排序;分析各排序方法时间性能和空间性能,能够根据实际问题选择恰当的排序算法。
6.1 排序的基本概念
6.2 插入排序(一)
6.3 插入排序(二)
6.4 交换排序——冒泡排序
6.5 交换排序——快速排序
6.6 选择排序
6.7 归并排序
6.8 基数排序
排序单元测试
排序单元作业
展开全部
预备知识

C/C++程序设计语言

参考资料

1.《数据结构、算法及应用(第二版)》. 张宪超、刘馨月、于红等 编著. 科学出版社. 2021.

2.《数据结构与算法》.许卓群著. 高等教育出版社.

4.《数据结构》.严蔚敏著.清华大学出版社.

5.《数据结构与算法-C++版》.佐兹戴克著.清华大学出版社.

源课程

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

大连理工大学
1 位授课老师
张淼

张淼

副教授

下载
下载

下载App