《数据结构实验》教学大纲 课程性质 专业必修课 课程编号 xx882035 课程名称 数据结构实验 适用专业 电子信息工程、电子信息科学技术、通信工程 先修课程 C语言 总学时 24其中实验24学时 学分数1.5 一、课程简介 《数据结构实验》这门课程的主要特点是实践性很强,不仅要学习基本理论知识,更 要注重上机实践,通过上机实践验证算法的正确性,掌握和巩固所学理论知识。通过对本 课程中算法设计和上机实践的训练,培养学生的数据抽象能力和程序设计的能力,为后 续课程,特别是软件课程打下坚实的知识基础。要求学生掌握各种常用数据结构的逻辑 结构,存储结构及有关操作的算法。 二、课程教学目标 知识目标: 1、要求学生了解数据结构及其分类、数据结构与算法的密切关系: 2、熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构: 3、掌握设计算法的步骤和算法分析方法; 4、掌握数据结构在排序和查找等常用算法中的应用 能力目标: 本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。通过本课程的 学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选 择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析 的技术:另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的 程序结构清楚和正确易读,符合软件工程的规范。 三、课程教学基本要求 有兴趣且有志于软件设计的电子信息工程专业大学二年级学生。 1
1 《数据结构实验》教学大纲 课程性质 专业必修课 课程编号 xx882035 课程名称 数据结构实验 适用专业 电子信息工程、电子信息科学技术、通信工程 先修课程 C 语言 总学时 24 其中实验 24 学时 学分数 1.5 一、课程简介 《数据结构实验》这门课程的主要特点是实践性很强,不仅要学习基本理论知识,更 要注重上机实践,通过上机实践验证算法的正确性,掌握和巩固所学理论知识。通过对本 课程中算法设计和上机实践的训练,培养学生的数据抽象能力和程序设计的能力,为后 续课程,特别是软件课程打下坚实的知识基础。要求学生掌握各种常用数据结构的逻辑 结构,存储结构及有关操作的算法。 二、课程教学目标 知识目标: 1、要求学生了解数据结构及其分类、数据结构与算法的密切关系; 2、熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构; 3、掌握设计算法的步骤和算法分析方法; 4、掌握数据结构在排序和查找等常用算法中的应用 能力目标: 本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。通过本课程的 学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选 择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析 的技术;另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的 程序结构清楚和正确易读,符合软件工程的规范。 三、课程教学基本要求 有兴趣且有志于软件设计的电子信息工程专业大学二年级学生
四、课程实验模块(或教学内容)与学时分配 序实哈项目 名称 内容摘要 必做 掌握使用VC+进行控制台应用程序编写 的基本方法: 顺序表的 2、掌握顺序表的初始化、销毁、数据元素 验证 2 必做 基本操作 性 的插入和删除以及顺序表的输出等基本操 作。 1、定义单链表的结点类型。 2、熟悉对单链表的一些基本操作和具体 链表的基 的函数定义 本操作 通过单链表的定义掌握线性表的链式存储 /2 证 性 必做 结构的特点 掌握循环链表和双链表的定义和构造方法 1、会定义顺序栈和链栈的结点类型。 栈的基本 2、掌握顺序栈的插入和删除结点在操作上 操作 的特占 设计 做 3、熟悉对顺序栈的一些基本操作和具体的 函数定义 会定义循环队列的结点类型 队列的基 循环队列的插入和删除结点在操作上的特 设计 本操作 必做 ,熟悉对循环队列的一些基本操作和具体 的函数定义 串的模式 1、会定义定长顺序串的存储结构。 0 掌握定长顺序串的基本运算 设计 必做 匹配 了解KP算法 解多维数组的顺序存储结构及其地址 计算方式 6 矩阵的转2、了解特殊矩阵和稀疏矩阵的概念 设计 必做 置 3、掌握疏矩阵的压缩存储方式 -三元组 性 ,掌握稀疏矩阵的两种转置运算算法 1、熟悉二叉树结点的结构和对二叉树的基 二叉树的 本操作 遍历(递2、掌握对二叉树每一种操作的具体实现 验证 必做 归) 3、学会利用递归方法编写对二叉树这种递 归数据结构进行处理的算法 哈夫曼树1、了解创建哈夫受树的基本方法 与哈夫受2、掌握通过赫夫受树进行赫夫受编码的基 验证 必做 综码 本原理和方法 的最短 1、了解无向图的邻接表的存储表示 9 路径算法2、掌握通过无向图的邻接表进行无向图的 4 设计 必做
2 四、课程实验模块(或教学内容)与学时分配 序 号 实验项目 名称 内容摘要 实验 学时 实验 类型 必做 1 顺序表的 基本操作 掌握使用 VC++进行控制 台应用程序编写 的基本方法; 2、掌握顺序表的初始化、销毁、数据元素 的插入和删除以及顺序表的输出等基本操 作。 2 验 证 性 必做 2 链表的基 本操作 1、定义单链表的结点类型。 2、熟悉对单链表的一些基本 操作和具体 的函数定义。 通过单链表的定义掌握线性表的链式存储 结构的特点。 掌握循环链表和双链表的定义和构造方法 2 验 证 性 必做 3 栈的基本 操作 1、会定义顺序栈和链栈的结点类型。 2、掌握顺序栈的插入和删除结点在操作上 的特点 3、熟悉对顺序栈的一些基本操作和具体的 函数定义 2 设计 必 做 4 队列的基 本操作 会定义循环队列的结点类型 循环队列的插入和删除结点在操作上的特 点 3、熟悉对循环队列的一些基本操作和具体 的函数定义。 2 设 计 性 必做 5 串的模式 匹配 1、会定义定长顺序串的存储结构。 2、掌握定长顺序串的基本运算 3、了解 KMP 算法 2 设 计 性 必做 6 矩阵的转 置 1、了解多维数组的顺序存储结构及其地址 计算方式 2、了解特殊矩阵和稀疏矩阵的概念 3、掌握疏矩阵的压缩存储方式——三元组 表 4、掌握稀疏矩阵的两种转置运算算法 2 设 计 性 必做 7 二叉树的 遍历(递 归) 1、熟悉二叉树结点的结构和对二叉树的基 本操作 2、掌握对二叉树每一种操作的具体实现 3、学会利用递归方法编写对二叉树这种递 归数据结构进行处理的算法 2 验 证 性 必做 8 哈夫曼树 与哈夫曼 编码 1、了解创建哈夫曼树的基本方法 2、掌握通过赫夫曼树进行赫夫曼编码的基 本原理和方法 2 验 证 性 必做 9 图的最短 路径算法 1、了解无向图的邻接表的存储表示 2、掌握通过无向图的邻接表进行无向图的 4 设计 必做
深度优先搜索的基本原理和方法 各种排序1、掌握排序的基本概念及操作过程 10算法的实2、熟悉各种内部排序的基本原理和操作方 设计 必做 现 五、教学方法与策略 课程以实验为主,辅以案例讨论、视频教学、分组讨论、现场演示等方法和手段。 六、学生学习成效考核方式 课程学习成效的考核方式可以多样化,建议按如下考核方式进行。 考核环节构成 占总成绩 评分依据 (均为100分制) 的比重 实验评价 实验结果课堂评价 80 课堂讨论 提出问题、解答问题的次数以及准确率 10 考勤 现场考勤 10 七、选用教材 [1严蔚敏,吴伟民数据结构(C语言版).北京:清华大学出版社.2014,4 八、参考资料 [1]Donald E.Knuth.计算机程序设计艺术,人民邮电出版社,2016年 [☑傅清祥,王晓东.算法与数据结构,电子工业出版社,2001年 [B)]严蔚敏,数据结构题集(C语言版)题集,清华大学出版社,201 大纲起草人:李朝鹏 大纲审核人:侯周国 大纲批准人:谢四莲 日期:2016年10月20日
3 深度优先搜索的基本原理和方法 10 各种排序 算法的实 现 1、掌握排序的基本概念及操作过程 2、熟悉各种内部排序的基本原理和操作方 法 4 设计 必做 五、教学方法与策略 课程以实验为主,辅以案例讨论、视频教学、分组讨论、现场演示等方法和手段。 六、学生学习成效考核方式 课程学习成效的考核方式可以多样化,建议按如下考核方式进行。 七、选用教材 [1]严蔚敏,吴伟民.数据结构(C 语言版).北京:清华大学出版社.2014,4 八、参考资料 [1] Donald E.Knuth.计算机程序设计艺术,人民邮电出版社, 2016 年 [2] 傅清祥,王晓东.算法与数据结构,电子工业出版社,2001 年 [3] 严蔚敏,数据结构题集(C 语言版)题集,清华大学出版社, 2011 大纲起草人:李朝鹏 大纲审核人:侯周国 大纲批准人:谢四莲 日期:2016 年 10 月 20 日 考核环节构成 (均为 100 分制) 评分依据 占总成绩 的比重 实验评价 实验结果课堂评价 80 课堂讨论 提出问题、解答问题的次数以及准确率 10 考勤 现场考勤 10