数据结构

数据结构

学习人数:0

立即登录

课程详情 课程大纲

课程概述

我们生活的现实世界中所有物质都可以抽象为数字、文字、声音、图像和视频,这些数据存储在计算机中,构成了信息世界,经过处理后又服务于我们社会生活的方方面面。计算机科学是一种创造性思维活动,其教育必须面向设计。数据是表征客观事物的可记录可识别符号集合。数据是信息处理的核心基础.数据结构和算法是计算机科学的基石,贯穿了分析问题解决问题的计算思维。

数据结构作为学科的专业基础核心课程,对应于学科中问题求解的理论、抽象和设计的方法论,在学科知识体系中具有核心的重要位置。课程一般开设在二年级,应对前面学习的软件技术总结提高,为后续专业课程提供基础,培养基本数据结构分析能力和综合程序设计实现能力,体现着创造性思维的信息素质培养过程,是计算机科学与技术人才素质框架中的脊梁骨。它承上启下,贯通始终,对学生能力培养至关重要,受益终身。

数据结构及其处理算法是设计与实现系统软件和大型应用软件的重要基础,“数据结构与算法”课程是计算机专业重要的专业技术基础课程。该课程的内容对于培养学生的计算思维、系统分析与设计、算法设计与分析、程序设计与实现等学科基本能力非常重要。本课程系统地介绍了软件开发中常用的数据结构以及相应的 存储结构和操作算法,包括常用的查找技术、排序技术、递归技术等。

掌握“数据结构”中的基本概念、合理组织数据的基本方法、高效处理数据的 基本算法、常用的经典算法、通用的程序设计技术,以及面对实际问题时选择恰当数据结构并设计高效算法的能力,培养学生用计算思维分析问题的能力,提高学生 上机解决较大规模实际问题的能力,为进一步的软件开发打下坚实的基础。


参考教材

    1. 耿国华等,《数据结构-C语言描述(第2版)》,高等教育出版社,2015.7

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

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



第1章 绪论及C语言介绍
1.1 基本概念与术语
1.2 学习数据结构的意义
1.3 算法的描述和分析_知识点算法的定义及特征
1.4 算法的描述和分析_知识点时间复杂度的求解方法
1.5 C语言相关知识介绍_1
1.5 C语言相关知识介绍_2
1.5 C语言相关知识介绍_3
1.5 C语言相关知识介绍_4
1.5 C语言相关知识介绍_5
第2章 线性表的结构分析与应用
2.1 线性表的逻辑结构
2.2 线性表的顺序存储结构_知识点顺序表的定义及地址计算_1
2.2 线性表的顺序存储结构_知识点顺序表的定义及地址计算_2
2.2 线性表的顺序存储结构_知识点顺序表的基本运算_1
2.2 线性表的顺序存储结构_知识点顺序表的基本运算_2
2.3 线性表的链式存储结构_知识点单链表_1
2.3 线性表的链式存储结构_知识点单链表_2
2.3 线性表的链式存储结构_知识点单链表_3
2.3 线性表的链式存储结构_知识点循环链表_1
2.3 线性表的链式存储结构_知识点循环链表_2
2.4 顺序表和链表的比较
第3章 栈和队列的结构分析与应用
3.1 栈_知识点栈的定义及操作原则
3.1 栈_知识点顺序栈及操作实现_1
3.1 栈_知识点顺序栈及操作实现_2
3.1 栈_知识点顺序栈及操作实现_3
3.1 栈_知识点顺序栈及操作实现_4
3.1 栈_知识点链栈及操作实现_1
3.1 栈_知识点链栈及操作实现_2
3.1 栈_知识点链栈及操作实现_3
3.2 队列_知识点队列的定义及操作原则
3.2 队列_知识点顺序队列及操作实现_1
3.2 队列_知识点顺序队列及操作实现_2
3.2 队列_知识点顺序队列及操作实现_3
3.2 队列_知识点链队列及操作实现_1
3.2 队列_知识点链队列及操作实现_2
3.2 队列_知识点链队列及操作实现_3
第4章 字符串的结构分析与应用
4.1 串的定义及其运算_知识点串的概念
4.1 串的定义及其运算_知识点串的基本运算
4.2 串的存储结构_知识点串的顺序和链式存储结构
4.2 串的存储结构_知识点子串的定位运算
第5章 二维数组及广义表的结构分析
5.1 二维数组的存储结构
5.2 矩阵的压缩存储_知识点特殊矩阵及求址方法
5.2 矩阵的压缩存储_知识点稀疏矩阵的存储结构
5.3 广义表的概念
第6章 树和二叉树的结构分析与应用
6.1 树的概念
6.2 二叉树_知识点二叉树的定义
6.2 二叉树_知识点二叉树的性质_1
6.2 二叉树_知识点二叉树的性质_2
6.2 二叉树_知识点二叉树的存储结构_1
6.2 二叉树_知识点二叉树的存储结构_2
6.3 二叉树的遍历_知识点二叉树的先序遍历
6.3 二叉树的遍历_知识点二叉树的中序遍历
6.3 二叉树的遍历_知识点二叉树的后序遍历
6.4 线索二叉树
6.5 树和森林_知识点树、森林与二叉树的相互转换_1
6.5 树和森林_知识点树、森林与二叉树的相互转换_2
6.5 树和森林_知识点树的存储结构_1
6.5 树和森林_知识点树的存储结构_2
6.5 树和森林_知识点树和森林的遍历
6.6 哈夫曼树及其应用_知识点哈夫曼树的定义
6.6 哈夫曼树及其应用_知识点哈夫曼树的构造
6.6 哈夫曼树及其应用_知识点哈夫曼树的编码
第7章 图的结构分析与应用
7.1 图的概念及相关术语_知识点图的概念
7.1 图的概念及相关术语_知识点图的相关术语_1
7.1 图的概念及相关术语_知识点图的相关术语_2
7.1 图的概念及相关术语_知识点图的相关术语_3
7.2 图的存储结构_知识点图的邻接矩阵表示法
7.2 图的存储结构_知识点图的邻接表表示法
7.3 图的遍历_知识点图的深度优先遍历
7.3 图的遍历_知识点图的广度优先遍历
7.4 最小生成树_知识点普里姆算法
7.4 最小生成树_知识点克鲁斯卡尔算法
7.5 最短路径_知识点迪杰斯特拉算法
7.5 最短路径_知识点弗洛伊德算法
第8章 查找的分析与应用
8.1 基本概念
8.2 线性表查找_知识点顺序查找
8.2 线性表查找_知识点二分法查找
8.2 线性表查找_知识点分块查找
8.3 二叉排序树_知识点二叉排序树的定义
8.3 二叉排序树_知识点二叉排序树的建立
8.3 二叉排序树_知识点二叉排序树的删除
8.3 二叉排序树_知识点二叉排序树的查找
8.4 散列技术_知识点散列表的概念
8.4 散列技术_知识点散列函数的构造方法
8.4 散列技术_知识点处理冲突的方法_1
8.4 散列技术_知识点处理冲突的方法_2
第9章 排序的分析与应用
9.1 排序的基本概念
9.2 插入排序_知识点直接插入排序法
9.2 插入排序_知识点希尔排序法
9.3 交换排序_知识点冒泡排序法
9.3 交换排序_知识点快速排序法
9.4 选择排序_知识点直接选择排序法
9.4 选择排序_知识点堆排序法
9.5 归并排序
第10章 文件
10.1 文件的概念
10.2 顺序文件
10.3 索引文件
10.4 索引顺序文件
10.5 散列文件
10.6 多关键字文件
10.7 文本文件的格式化读写操作

授课老师