本课程是软件技术、网络技术等计算机类专业的一门重要的专业基础课程,其理论性、实践性、综合性都比较强。它是软件开发的基础,提高学生逻辑思维能力的核心,也是各工程领域的桥梁。使读者学会如何把现实世界的问题转化为计算机内部的表示和处理。通过本课程的学习,提高学生数据结构设计与算法设计能力,为后续课程,特别是综合项目开发方面的课程打下了厚实的知识基础。本课程的先导课程为C语言程序设计,后续课程为移动开发、PHP、JSP、软件工程、综合实训。该门在线课程共计45课时,12周内完成学习资源发布。
本课程本学期面向社会学习者开放,学习者可以根据课程发布的内容及学习指南,独立或者团队完成内容的学习,通过该门在线课学习可以使学习者学会如何把现实世界的问题转化为计算机内部的表示和处理,进而提高学生数据结构设计与算法设计能力。
总成绩60分至84分为合格,可获得合格证书;总成绩85分至100分为优秀,可获得优秀证书。成绩考核由视频学习、单元测试、讨论等构成。
第1章 绪论及C语言介绍(2课时)
1.1 基本概念与术语
1.2 学习数据结构的意义
1.3 算法的描述和分析
1.4 C语言相关知识介绍
第2章 线性表的结构分析与应用(4课时)
2.1 线性表的逻辑结构
2.2 线性表的顺序存储结构
2.3 线性表的链式存储结构
2.4 顺序表和链表的比较
第3章 栈和队列的结构分析与应用(4课时)
3.1 栈
3.2 队列
第4章 字符串的结构分析与应用(2课时)
4.1 串的定义及其运算
4.2 串的存储结构
第5章 二维数组及广义表的结构分析(4课时)
5.1 二维数组的存储结构及求址方法
5.2 矩阵的压缩存储
5.3 广义表的概念
第6章 树和二叉树的结构分析与应用(6课时)
6.1 树的概念
6.2 二叉树
6.3 二叉树的遍历
6.4 线索二叉树
6.5 树和森林
6.6 哈夫曼树及其应用
第7章 图的结构分析与应用(5课时)
7.1 图的概念及相关术语
7.2 图的存储结构
7.3 图的遍历
7.4 最小生成树
7.5 最短路径
第8章 查找的分析与应用(4课时)
8.1 基本概念
8.2 线性表查找
8.3 二叉排序树
8.4 散列技术
第9章 排序的分析与应用(4课时)
9.1 排序的基本概念
9.2 插入排序
9.3 交换排序
9.4 选择排序
9.5 归并排序
9.6 各种内部排序算法的比较
第10章 文件(2课时)
10.1 文件的概念
10.2 顺序文件
10.3 索引文件
10.4 索引顺序文件
10.5 散列文件
10.6 多关键字文件
10.7 文本文件的格式化读写操作函数
第11章 综合项目实践(8课时)
11.1 新生报到信息注册系统设计
11.2 万达停车场管理系统设计
学习本门课程之前,应该学习《C语言程序设计》、《计算机应用基础》。
教材:李刚 刘万辉主编.《数据结构》C语言版.高等教育出版社.2017年1月
教材:李学刚 主编.《数据结构》C语言描述.高等教育出版社.2013年5月
Q : 数据结构是C语言吗?
A : 数据结构研究数据的表示、组织和存储方法,各类算法可以用C语言实现程序设计,当然也可以用Java语言实现,本课程是采用C语言实现数据结构的各类存储算法设计。
Q : 本课程中各模块难度如何划分的?
A : 数据结构的逻辑结构主要分为线性结构和非线性结构,线性表、栈、队列、字符串、二维数组属于线性结构,内容难度适中;树、图属于非线性结构,内容难度偏难。