数据结构
分享
课程详情
课程评价
spContent=计算机科学与技术是信息产业发展的基础,而数据结构又是计算机专业核心课程之首。 数据结构是计算机存储、组织数据的方式。 我们将要学习数据的逻辑结构、物理结构以及基于上述结构的运算,并学习常用的查找与排序技术。要求同学们能选择最佳的数据结构与算法,从而提高问题的分析与求解能力。
—— 课程团队
课程概述

    数据结构是计算机类、信息与通信类、其它工学类相关专业的重要专业基础课程,特别是计算机科学与技术专业考研的必考课程。

    程序设计解决问题往往有多种方法,且不同方法之间的效率可能相差甚远。程序的时间和空间效率,不仅跟数据的组织方式有关,也跟处理流程的巧妙程度有关。本课程将介绍并探讨有关数据组织、算法设计、时间和空间效率的概念和通用分析方法,帮助学员学会数据的组织方法和一些典型算法的实现,能够针对问题的应用背景分析,选择合适的数据结构,从而培养高级程序设计技能。

    该课程相关课程档案齐备,电子资源丰富,涉及多名主讲老师,形成了教学团队。历年来,该门课程在学生中反映良好,也是学生非常重视,期待提高的一门课程。

授课目标

掌握常见的数据逻辑结构与物理结构,以及相应的运算,掌握常见的排序技术与查找技术,能选择最佳的数据结构与算法,从而提高问题的分析与求解能力。

课程大纲

第1章 绪论

绪论

1.1 数据结构的定义与概念

1.2 抽象数据类型

1.3 算法分析


第2章 线性表

2.1 线性表及其抽象数据类型

2.2 线性表的顺序表示和实现

2.3 单链表

2.4 循环单链表

2.5 双向链表、双向循环链表

2.6 一元多项式


第3章 栈和队列

3.1 栈

3.2 栈与递归

3.3 队列


第4章 串

4.1 串

4.2 模式匹配算法


第5章 数组和广义表

5.1 数组的定义和运算

5.2  数组的顺序存储和实现

5.3 特殊矩阵的压缩存储

5.4 广义表


第6章 树和二叉树

6.1 树的定义与基本术语

6.2 二叉树

6.3 二叉树的遍历与线索化

6.4 树、森林和二叉树的关系

6.5 哈夫曼树及其应用


第7章 图

7.1 图的抽象数据类型定义和术语

7.2 图的存储结构

7.3 图的遍历

7.4 图的连通性问题

7.5 有向无环图及其应用

7.6 最短路径


第8章 查找

8.1 查找的基本概念

8.2 基于线性表的查找 (8.2.1 顺序查找; 8.2.2 折半查找;8.2.3 分块查找)

8.3 基于树的查找 (8.3.1 二叉排序树;8.3.2 平衡二叉排序树;8.3.3 B树)

8.4 哈希表


第9章 内部排序

9.1 排序的基本概念

9.2 插入排序 (9.2.1 直接插入排序;9.2.2 希尔排序)

9.3 交换排序 (9.3.1 冒泡排序;9.3.2 快速排序)

9.4 选择排序 (9.4.1 简单选择排序;9.4.2 堆排序)

9.5 归并排序

9.6 基数排序

9.7 排序算法性能讨论


预备知识

     学过一门编程语言,具有一定编程基础,即可理解主要内容,因为数据结构本质上是不依赖于编程语言的,且编程练习平台可以接受二十余种语言代码的提交。但由于算法描述多用类似C语言的伪码,且“小白系列”仅讲解C语言的算法实现,所以如果学过C语言会更容易接受。

    如果还对计算机处理离散结构的基本理论和方法有较为系统的理解(即预修“离散数学”),则对更扎实地掌握本课程内容有很大帮助,但并不是必须的。


证书要求

通过视频学习,完成测试和作业,达到课程要求后,可以获得课程主讲教师签名颁发的合格证书或优秀证书。

单元测试和作业占总成绩50%,考试占总成绩50%。60分-79分为合格,80分及以上为优秀。

 

参考资料

1.《数据结构--用C语言描述(第2版),耿国华等主编,高等教育出版社,2015年7月

2.《数据结构》(第2版),陈越、何钦铭、徐镜春、魏宝刚、杨枨 编著,高等教育出版社,2016年6月

3.数据结构实验指导(C语言版), 杨晓波主编,中国电力出版社,2010年2月

4《数据结构(C语言版),严蔚敏等,清华大学出版社,2007.3