数据结构与算法
分享
课程详情
课程评价
spContent=“数据结构与算法”是理论和实际紧密结合的计算机类专业核心骨干课程,广泛用于数据存储和信息处理中。课程将系统介绍软件开发中常用的数据结构、存储结构和操作算法;简要介绍算法设计与分析中的设计策略,包括贪心法、分治法等。通过学习,使你能解决实际复杂工程问题,成为程序分析和设计“达人”。
—— 课程团队
课程概述

   数据结构是一门面向设计,且处于计算机学科核心地位的技术基础和主干必修课,也是算法分析与设计、操作系统、编译技术、计算机图形与图像处理等专业课程的先修课程。根据学科的最新发展,对所教授课程的教学内容进行必要的筛选、补充、更新和重组,使其既能反映该学科领域最基本最核心的知识,又能反映该学科最新的进展和动态,注重学生“计算思维”能力和创新实践能力的培养,并补充了后续课程和相关领域应用的实例。

   计算机科学的重要基石是算法,数据结构又是算法研究的基础。将数据结构的知识和算法分析与设计的基础知识相结合,以实际的应用案例为驱动,将各种数据结构与算法的知识融入到实际问题的解决中,对相关算法的核心思想进行深入剖析,并总结比较各类算法的特点和适用范围,重点培养学生利用数据结构知识分析和解决实际问题的能力,为后继课程的学习以及从事计算机软、硬件开发工作打下良好的基础。


课程大纲

第一章 引论

第1讲 数据结构的引入(1)(总时长19分53秒)

第2讲 数据结构的引入(2)(总时长14分05秒)

第3讲 数据结构的基本概念(总时长15分23秒)

第4讲 数据的逻辑结构和存储结构(总时长15分57秒)

第5讲 算法及其时间复杂度(1)(总时长15分15秒)

第6讲 算法及其时间复杂度(2)(总时长13分02秒)

在线练习1

单元作业1

第二章 线性表

第1讲 单链表的概念及其基本操作(总时长12分34秒)

第2讲 循环链表(总时长13分45秒)

第3讲 双向链表(总时长17分)

第4讲 一元多项式的表示和运算(总时长18分07秒)

实验内容

在线练习2

单元作业2

第三章 栈和队列

第1讲 栈的概念及其基本操作(总时长12分30秒)

第2讲 栈的概念及其基本操作—双端栈(总时长15分12秒)

第3讲 栈的应用—递归及汉诺塔问题(总时长19分20秒)

第4讲 栈的应用—递归—学生实验展示(总时长15分26秒)

第5讲 队列的概念及基本操作(总时长16分08秒)

第6讲 队列的概念及应用—链队列(总时长12分59秒)

第7讲 表达式的求值问题(总时长14分36秒)

第8讲 分治法(总时长13分06秒)

实验内容

单元测试1

单元作业3

第四章 串

第1讲 串的基本操作(总时长12分06秒)

第2讲 串的BF简单模式匹配(总时长14分09秒)

第3讲 串的KMP模式匹配算法(总时长11分23秒)

第4讲 KMP模式匹配的next值计算思想(总时长10分26秒)

第5讲 KMP模式匹配的next值计算实现(总时长10分46秒)

第6讲 KMP模式匹配的nextval值计算思想和实现(总时长13分24秒)

在线练习4

单元作业4

第五章 多维数组和广义表

第1讲 特殊矩阵的压缩存储(总时长13分48秒)

第2讲 三元组的快速转置(总时长16分04秒)

第3讲 广义表(总时长14分58秒)

实验内容

在线练习5

单元作业5

第六章 树

第1讲 二叉树的顺序存储(总时长8分04秒)

第2讲 二叉树遍历(总时长16分02秒)

第3讲 二叉树的遍历应用——统计叶子结点(总时长06分05秒)

第4讲 二叉树的遍历应用——计算二叉树的高度(总时06长40分秒)

第5讲 二叉树的遍历应用——二叉树的恢复建立(总时长8分58秒)

第6讲 二叉树的非递归遍历(总时长13分36秒)

第7讲 线索二叉树(1)(总时长9分52秒)

第8讲 线索二叉树(2)(总时长12分01秒)

第9讲 树与森林(1)(总时长13分17秒)

第10讲 树与森林(2)(总时长13分02秒)

第11讲 哈夫曼树(总时长14分33秒)

第12讲 哈夫曼编译码(总时长14分01秒)

第13讲 哈夫曼编码算法(总时长08分35秒)

第14讲 回溯法(总时长15分04秒)

实验内容

单元测试2

第七章 图

第1讲 图的深度优先遍历(总时长13分38秒)

第2讲 图的广度优先遍历(总时长11分26秒)

第3讲 图的最小生成树——prim算法思想(总时长13分27秒)

第4讲 图的最小生成树——prim算法实现(总时长14分58秒

第5讲 图的最小生成树——kruskal算法(总时长9分15秒)

第6讲 图的拓扑排序算法思想(总时长14分26秒)

第7讲 图的拓扑排序算法实现(总时长12分39秒)

第8讲 图的关键路径算法思想(总时长14分01秒)

第9讲 图的关键路径算法实现(总时长8分19秒)

第10讲 图的单源最短路径——Dijstra算法思想(总时长12分31秒)

第11讲 图的单源最短路径——Dijstra算法实现(总时长10分11秒)

第12讲 贪心法(总时长14分44秒)

实验内容

在线练习7

单元作业7

第八章 查找

第1讲 二叉排序树(总时长14分40秒)

第2讲 二叉排序树基本操作(1)(总时长5分31秒)

第3讲 二叉排序树基本操作(2)(总时长17分0秒)

第4讲 哈希表基本概念(总时长13分21秒)

第5讲 哈希函数(总时长10分27秒)

第6讲 哈希处理冲突(总时长16分01秒)

实验内容

在线练习8

单元作业8

第九章 排序

第1讲 插入排序(总时长15分33秒)

第2讲 冒泡排序(总时长11分05秒)

第3讲 快速排序(总时长7分46秒)

第4讲 选择排序(总时长8分35秒)

第5讲 树型排序(总时长11分03秒)

第6讲 堆排序(总时长17分44秒)

第7讲 归并排序(总时长10分23秒)

第8讲 分配类排序(总时长10分37秒)

课程习题解析

第1讲 习题解析1(引论,总时长13分56秒)

第2讲 习题解析2(线性表,总时长17分33秒)

第3讲 习题解析3(栈和队列,总时长11分22秒)

第4讲 习题解析6(树,总时长13分17秒)

第5讲 习题解析8(查找,总时长12分37秒)


期末考试

预备知识

高级语言程序设计。

具备初步的C程序设计知识,将有助于深入学习本课程的内容。


证书要求

1.完成所有课程的学习内容、视频、课件等;

2.完成课程中的所有单元作业,并完成作业互评,占总成绩的15%;

3.完成所有的在线练习和单元测试,占总成绩30%;

4.参加期末考试,满分100分,占总成绩45%;

5.在“课程讨论区”中发贴和回贴,根据发帖和回帖数量确定成绩,合计参加讨论问题达到10次及以上为满分,占总成绩的10%。

   通过视频学习,完成测试、作业和期末考试。60分-84分为合格,85分及以上为优秀。达到课程要求后,可以获得课程主讲教师签名颁发的合格证书或优秀证书。





参考资料

1.王曙燕等,《数据结构与算法》,人民邮电出版社,2013.9

2.耿国华等,《数据结构-C语言描述(第2版)》及随附教学光盘,高等教育出版社,2011.6

3.严蔚敏等,《数据结构(C语言版)》,清华大学出版社,2007.3.2011.1

辅助学习资源:

西安邮电大学计算机学院数据结构资源共享网址:http://222.24.63.99:8080/