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

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

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


课程大纲

第一章 引论    

1 数据结构的基本概念-1

2 数据结构的基本概念-2

3 数据结构的基本概念-3

4 数据的逻辑结构和存储结构

5 算法及其时间复杂度

6 时间复杂度及应用

在线练习1

单元作业1

 

第二章 线性表 

1 线性表的概念及顺序存储

2 单链表的概念及其基本操作

3 建立单链表

4 循环链表

5 双向链表

6 一元多项式的表示和运算

实验内容

在线练习2

单元作业2

 

第三章 栈和队列   

1 栈的概念及其基本操作

2 栈的概念及其基本操作双端栈

3 栈的应用递归及汉诺塔问题

4 栈的应用迷宫实验

5 队列的概念及基本操作

6 队列的概念及应用链队列

7 表达式的求值问题

8 递归与分治算法

实验内容

在线练习3

单元作业3

 

第四章   

1 串的基本操作

2 串的简单模式匹配

3 串的KMP模式匹配算法

4 模式串的next值计算思想

5 模式串的next值计算实现

6 模式串的nextval

在线练习4

单元作业4

 

第五章 多维数组和广义表  

1 数组的定义与顺序存储

2 矩阵的压缩存储

3 三元组矩阵的快速转置

4 广义表

实验内容

在线练习5

单元作业5

 

第六章   

1 二叉树的性质

2 二叉树的顺序存储

3 二叉树的遍历

4 统计叶子结点

5 计算二叉树的高度

6 二叉树的恢复建立

7 二叉树的非递归遍历

8 线索二叉树

9 线索二叉树的遍历

10 树和森林

11 树与森林的遍历

12 哈夫曼树

13 哈夫曼编译码

14 哈夫曼编码算法

15 解空间树及其相关算法

实验内容

在线练习6

单元作业6

 

第七章   

1 图的基本概念

2 图的存储

3 图的深度优先遍历

4 图的广度优先遍历

5 图的最小生成树-Prim算法思想

6 图的最小生成树-Prim算法实现

7 图的最小生成树-Kruskal算法

8 图的拓扑排序思想

9 图的拓扑排序实现

10 图的关键路径思想

11 图的关键路径实现

12 图的单源最短路径-Dijkstra思想

13 图的单源最短路径-Dijkstra实现

14 贪心算法

实验内容

在线练习7

单元作业7

 

第八章 查找    

1 顺序查找

2 折半查找

3 二叉排序树的基本概念与查找

4 二叉排序树的插入与生成

5 二叉排序树的删除

6 哈希表基本概念

7 哈希函数

8 哈希处理冲突

实验内容

在线练习8

单元作业8

 

第九章 排序    

1 排序基本概念

2 直接插入排序

3 希尔排序

4 冒泡排序

5 快速排序

6 选择排序

7 树形排序

8 堆排序

9 归并排序

10 基数排序

在线练习9

单元作业9

 

课程习题讲解  

1 习题讲解1(引论)

2 习题讲解2(线性表)

3 习题讲解3(栈和队列)

4 习题讲解4(串)

5 习题讲解5(多维数组和广义表)

6 习题讲解6(树)

7 习题讲解7(图)

8 习题讲解8(查找)

9 习题讲解9(排序)

 

综合实验解析  

1 马踏棋盘1

2 马踏棋盘2

3 文件压缩

4 文件解压

5 校园导游图

预备知识

高级语言程序设计。

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


证书要求

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

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

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

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

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

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





参考资料

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

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

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

辅助学习资源:

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