《数据结构》教学大纲 课程性质 专业必修课 课程编号 xx882034课程名称 数据结构 适用专业 电子信息工程 先修课程 C语言 总学时24其中理论24学时实验0学时学分数1.5 一、课程简介 《数据结构》是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术 专业的核心课程,是操作系统、数据库原理、编译原理、软件工程、人工智能等课程的 基础。通过本课程的学习,使学生掌握数据结构及其运算的原理和技术,为编译原理、 操作系统、算法分析和数据库等课程的学习打下基础,培养学生良好的程序设计风格。 二、课程教学目标 知识目标: 1、了解相关的基本概念,理解算法五大要素: 2、理解线性表的逻辑结构,掌握线性表的存储结构及操作的实现。 3、了解一元多项式的表示:理解栈的定义,表示及实现,掌握表达式求值,理解 并掌握栈与递归过程,理解并掌握队列的定义,表示及实现。 4、了解串的逻辑结构,存储结构,理解并掌握串操作的实现。 5、了解树的基本概念,理解并掌握二又树的性质和存储结构,理解并掌握遍历二 叉树和线索二叉树,深刻理解树的存储结构和遍历,掌握哈夫曼树及其应用。 6、理解图的基本概念及存储结构,深刻理解图的遍历及应用,理解并应用拓扑排 序和关键路径:了解静态查找表(顺序表、有序表、索引顺序表)建立和查找,理解动态 查找表(二叉排序树、平衡二叉树、B-树和B+树)的建立和查找;掌握哈希表的建立。 7、理解动态查找表:了解内部排序概述,理解插入排序,交换排序(起泡排序、快 速排序),选择排序(简单选择、树形选择、堆),归并排序,基数排序。 能力目标:
1 《数据结构》教学大纲 课程性质 专业必修课 课程编号 xx882034 课程名称 数据结构 适用专业 电子信息工程 先修课程 C 语言 总学时 24 其中理论 24 学时 实验 0 学时 学分数 1.5 一、课程简介 《数据结构》是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术 专业的核心课程,是操作系统、数据库原理、编译原理、软件工程、人工智能等课程的 基础。通过本课程的学习,使学生掌握数据结构及其运算的原理和技术,为编译原理、 操作系统、算法分析和数据库等课程的学习打下基础,培养学生良好的程序设计风格。 二、课程教学目标 知识目标: 1、了解相关的基本概念,理解算法五大要素; 2、理解线性表的逻辑结构,掌握线性表的存储结构及操作的实现。 3、了解一元多项式的表示;理解栈的定义,表示及实现,掌握表达式求值,理解 并掌握栈与递归过程,理解并掌握队列的定义,表示及实现。 4、了解串的逻辑结构,存储结构,理解并掌握串操作的实现。 5、了解树的基本概念,理解并掌握二叉树的性质和存储结构,理解并掌握遍历二 叉树和线索二叉树,深刻理解树的存储结构和遍历,掌握哈夫曼树及其应用。 6、理解图的基本概念及存储结构,深刻理解图的遍历及应用,理解并应用拓扑排 序和关键路径;了解静态查找表(顺序表、有序表、索引顺序表)建立和查找,理解动态 查找表(二叉排序树、平衡二叉树、B-树和 B+树)的建立和查找;掌握哈希表的建立。 7、理解动态查找表;了解内部排序概述,理解插入排序,交换排序(起泡排序、快 速排序),选择排序(简单选择、树形选择、堆),归并排序,基数排序。 能力目标:
本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。通过本课程的 学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选 择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析 的技术:另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的 程序结构清楚和正确易读,符合软件工程的规范。 三、课程教学基本要求 有兴趣且有志于软件设计的电子信息工程专业大学二年级学生。 四、课程教学模块(或教学内容)与学时分配 序号教学模块知识点 学时 了解:1、数据结构的概念 绪论 2、数据结构的地位和作用 2 3、算法分析的基本方法 掌握:1、线性表定义和基础运算 线性表 2、线性表的存储结构 3、链式表的应用:多项式的表示与相加。 理解:1、栈的概念和运算 掌握:2、表达式求值 栈和队列 2 3、队列的定义,表示及实现 了解:1、基本概念 4 掌握:2、串的表示和实现 3、串的应用。 理解:1、数组的定义和运算 数组和 2、数组的顺序存储结构及存储地址 2 广义表 3、稀疏矩阵的表示及操作的实现 理解:1、基本概念 树 4 掌握:2、二又树定义,性质,基本运算和存储结构
2 本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。通过本课程的 学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选 择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析 的技术;另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的 程序结构清楚和正确易读,符合软件工程的规范。 三、课程教学基本要求 有兴趣且有志于软件设计的电子信息工程专业大学二年级学生。 四、课程教学模块(或教学内容)与学时分配 序号 教学模块 知识点 学时 1 绪论 了解:1、数据结构的概念 2、数据结构的地位和作用 3、算法分析的基本方法 2 2 线性表 掌握:1、线性表定义和基础运算 2、线性表的存储结构 3、链式表的应用:多项式的表示与相加。 2 3 栈和队列 理解:1、栈的概念和运算 掌握:2、表达式求值 3、队列的定义,表示及实现 2 4 串 了解:1、基本概念 掌握: 2、串的表示和实现 3、串的应用。 2 5 数组和 广义表 理解:1、数组的定义和运算 2、数组的顺序存储结构及存储地址 3、稀疏矩阵的表示及操作的实现 2 6 树 理解:1、基本概念 掌握:2、二叉树定义,性质,基本运算和存储结构 4
3、二叉树的遍历和线索二叉树 4、树,二叉树与森林的转换,树与森林的遍历 5、二叉树的应用 理解:1、图的概念 2、图的存储结构 > 3、图的遍历 4、连通性问题 5、有向无环图及其应用 6、最短路径。 了解:1、静态查找表(顺序表,有序表,静态树表, 索引顺序表) 查找 2 2、动态查找表(二又排序树与平衡二又树)》 理解:3、哈希表的建立,查找及分析。 理解:1、基本概念 2、插入排序(直接插入,其他插入,希尔排序) 3、快速排序 内部排序 4、选择排序 5、归并排序 6、基数排序 五、教学方法与策略 课程以课堂讲授为主,辅以案例讨论、视频教学、分组讨论、现场参观等方法和手段。 六、学生学习成效考核方式 课程学习成效的考核方式可以多样化,建议按如下考核方式进行。 考核环节构成 评分依据 占总成绩 (均为100分制) 的比重 期末考试 期末考试试卷 60 课堂讨论 提出问题、解答问题的次数以及准确率 20
3 3、二叉树的遍历和线索二叉树 4、树,二叉树与森林的转换,树与森林的遍历 5、二叉树的应用 7 图 理解:1、图的概念 2、图的存储结构 3、图的遍历 4、连通性问题 5、有向无环图及其应用 6、最短路径。 4 8 查找 了解:1、静态查找表(顺序表,有序表,静态树表, 索引顺序表) 2、动态查找表(二叉排序树与平衡二叉树) 理解:3、哈希表的建立,查找及分析。 2 9 内部排序 理解:1、基本概念 2、插入排序(直接插入,其他插入,希尔排序) 3、快速排序 4、选择排序 5、归并排序 6、基数排序 4 五、教学方法与策略 课程以课堂讲授为主,辅以案例讨论、视频教学、分组讨论、现场参观等方法和手段。 六、学生学习成效考核方式 课程学习成效的考核方式可以多样化,建议按如下考核方式进行。 考核环节构成 (均为 100 分制) 评分依据 占总成绩 的比重 期末考试 期末考试试卷 60 课堂讨论 提出问题、解答问题的次数以及准确率 20
作业 课堂作业 10 考勤 现场考勤 10 七、选用教材 [1]严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社.2014,4 八、参考资料 [1]Donald E.Knuth..计算机程序设计艺术,人民邮电出版社,2016年 [2]傅清祥,王晓东.算法与数据结构,电子工业出版社,2001年 [3)]严蔚敏,数据结构题集(C语言版)题集,清华大学出版社,2011 大纲起草人:李朝鹏 大纲审核人:侯周国 大纲批准人:谢四莲 日期:2016年10月20日
4 七、选用教材 [1]严蔚敏,吴伟民.数据结构(C 语言版).北京:清华大学出版社.2014,4 八、参考资料 [1] Donald E.Knuth.计算机程序设计艺术,人民邮电出版社, 2016 年 [2] 傅清祥,王晓东.算法与数据结构,电子工业出版社,2001 年 [3] 严蔚敏,数据结构题集(C 语言版)题集,清华大学出版社, 2011 大纲起草人:李朝鹏 大纲审核人:侯周国 大纲批准人:谢四莲 日期:2016 年 10 月 20 日 作业 课堂作业 10 考勤 现场考勤 10