数据结构与算法
分享
课程详情
课程评价
spContent=本课程是一门面向计算机科学与技术、软件工程、网络空间安全等相关学科专业的学科基础必修课,主要讲授如何抽象和数据化表示各种客观事物和实际问题,以及在此基础上设计解决问题的程序化方法。课程从概念和内涵入手,分章节介绍线性表、栈、队列、树、图等数据结构,查找、排序等基本算法,分治、动态规划、回溯等经典算法策略,通过额外拓展实训项目(网址https://www.educoder.net/paths/gy68axzw,70+实训关卡)锻炼实操能力,旨在帮助学习者初步形成利用计算机高效求解实际问题的能力。
—— 课程团队
课程概述

信息时代计算机成为人们认识世界改造世界的基本工具,当前,随着人工智能技术的发展,搭载各种智能算法应用的计算机和信息网络更加成为新质生产力的发展方向。

如果说程序语言设计课程是引导大家入门怎样通过编写程序方式来求解问题,那么本课程就是给大家搭建用计算思维来高效求解复杂问题的基座。

千里之行,始于足下!欢迎加入本课程的学习之旅!

授课目标

知识目标

  • 掌握数据结构的概念和内涵,理解算法的时间复杂度分析方法;
  • 掌握线性表、树、图等典型数据结构的表示和操作实现方法;
  • 理解查找、排序等基本问题的典型算法设计策略;
  • 理解分治、动态规划等典型算法设计策略。

能力目标

  • 针对经典问题,能够选择合适的数据结构和算法进行程序求解;
  • 针对实际问题,初步具备利用计算机进行问题表述和算法设计的能力。
课程大纲
预备知识

课程中的算法主要采用类C/C++伪代码形式进行描述,为提高代码简明性,在参数申明和异常处理方面略有省略。C语言和C++语言在引用头文件、部分函数调用以及指针类型变量实例化和释放上略有区别。下面给出C语言和C++语言基本用法示例。

(1)C语言基本用法示例

#include <stdio.h> // C语言的标准输入输出头文件

#define OK 1 //定义OK表示常量1

#define ERROR 0 //定义ERROR表示常量0


typedef struct Student{ //定义结构体类型

int num; //申明整型变量

char name[20]; //申明字符数组变量

float score; //申明浮点型变量

}Student;


int main(){

Student *stu = (Student *)malloc(sizeof(Student)); // 使用 malloc 分配内存

scanf("%d", &stu->num); // 使用 scanf 进行输入

stu->num++;

printf("修改后的学号: %d\n", stu->num); // 使用 printf 进行输出

free(stu); // 使用 free 释放内存

return OK;

}


(2)C++语言基本用法示例

#include <iostream> // C++的标准输入输出头文件

using namespace std;

#define OK 1 //定义OK表示常量1

#define ERROR 0 //定义ERROR表示常量0


typedef struct Student{ //定义结构体类型

int num; //申明整型变量

char name[20]; //申明字符数组变量

float score; //申明浮点型变量

}Student;


int main(){

Student *stu=new Student; //使用 new 分配内存

cin>>stu->num; //使用cin接收键盘输入

stu->num++;

cout<<stu->num; //使用cout进行输出

delete stu; // 使用 delete 释放内存

return OK;

}

证书要求

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

 

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

 

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

 

认证证书申请注意事项:

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

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


参考资料

1.李冬梅,严蔚敏,吴伟民. 数据结构(C语言版 第3版)[M]. 北京: 人民邮电出版社, 2025.01

2.熊岳山. 数据结构与算法(第3版)[M]. 北京: 清华大学出版社, 2024.08