通过课堂教学,使学生较全面地掌握数据结构的基本概念、各种常用数据结构的逻辑结构、存储结构和基本算法,吸取算法的设计思想和精髓,培养运用这些知识解决实际问题的能力。
教学要求
为使课程达到应有的效果,除教师设法提高教学质量和适当掌握教学进度外,要求学生做到以下几点;
(1)不无故缺课:
(2)认真阅读参考教材;
(3)独立完成规定作业。
课程必备知识
先修课程:一门程序设计语言(Java语言或c语言或c++)
知识要点
第一章 绪论
一、什么是数据结构
二、算法及其描述
三、算法分析
学习要求:掌握以下知识点:
1、数据结构的概念?
2、线性表、树、图这三种数据结构在逻辑上有什么特点?
3、顺序存储结构和链式存储结构的原理以及各自的适应性?
4、什么是时间复杂度?它与哪些因素有关?
第二章 线性表
一、线性表的概念及其逻辑结构
二、线性表的顺序存储结构
三、线性表的链式存储结构
学习要求:掌握以下知识点:1、线性表的链式存储与顺序存储有什么不同?各自有什么优缺点、适合什么情况下采用?2、顺序表和单链表的基本算法?
第三章 栈
一、概念和存储结构
二、基本运算及实现
学习要求:掌握以下知识点:
1、栈的特点及其描述。
2、栈的基本运算。
第四章 队列
一、概念和存储结构
二、基本运算及实现
学习要求:掌握以下知识点:
1、队列的特点及其描述。
2、队列的基本运算。
第五章 树和二叉树
一、树的基本概念
二、二叉树概念和性质
三、二叉树存储结构
四、二叉树的基本运算及其实现
五、二叉树的遍历
学习要求:掌握以下知识点:
1、二叉树的四个性质。
2、二叉树的顺序存储和二叉链表存储。
3、以各种二叉树的遍历方式遍历二叉树。
1、《数据结构基础教程》 文益民等 清华大学出版社 北京交通大学出版社 2005.1
2、《数据结构-JAVA语言描述》 朱战立 清华大学出版社 2005.12
3、《数据结构(c语言描述)》 张瑞军 张文萍 邓洪等 清华大学出版社 2009.3