课程编号:54040106 教学时数:10学时 数据结构实践教学课程标准 、课程性质与任务 《数据结构》实验课程着眼于原理和应用的结合点,使读者学会如何将书上学到的知识用于解决实际 问题,培养软件工作需要的动手能力:另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教 学内容的目的。平时练习较偏重于如何编写功能单一的“小”算法,而实习题是软件设计的综合训练,包 括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。 、课程教学基本要求 (一)实验目的 根据《数据结构》课程的任务与要求,帮助学生拓宽知识面。并达到以下教学要求 1)学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结 构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术:掌握各种基本数据结构的逻辑结构和 存储结构及相应算法。 (2)本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚、正确易读,符合 软件过程的规范,从而培养学生的数据抽象能力 (3)通过若干数据结构应用实例,引导学生学习数据类型的使用,为今后学习面向对象的程序做一些铺 (二)实验要求 (1)熟悉各种基本数据结构的定义,性质和特点,初步掌握算法分析的基本技巧以及如何根据实际问题 设计一个有效的算法。 (2)会书写类C语言的算法,并将算法转变为程序实现 (3)正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现,有较强的逻辑分析能力 针对问题的不同选择合适的数据结构,提高算法设计的能力和动手实验的技能 实验内容和学时分配 序 号实睑题目 目的要求 教学 时数 说明 1.顺序表的表示与插入元素、删除 元素、查询元素的算法实现 线性表的存储结构 掌握线性表的顺序、链式存储 2.链式表的表示与取元素、插入 2 结构定义,基本操作实现。 素、删除元素的算法实现 3.两个元素非递减排列的单链表的 合并问题的算法实现 栈的顺序存储结构定义及实现。 2栈和队列的存储结构/握栈与队列的定义,栈的应 2.队列的链式存储结构定义及实现 3.栈的应用 4.用队列模拟停车厂管理 通过对二叉树的遍历操作的 1.二叉树的存储结构 典型数据结构及其在实际中22.二叉树的遍历 树和二叉树的存储结实现,让学生了解树与二叉树 3.哈夫曼树的定义及哈夫曼编码的 的应用。 生成 4[图的存储 通过对图的存储结构的定义」2 图的邻接表的存储结构表示
课程编号:54040106 教学时数:10 学时 数据结构-----实践教学课程标准 一、课程性质与任务 《数据结构》实验课程着眼于原理和应用的结合点,使读者学会如何将书上学到的知识用于解决实际 问题,培养软件工作需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教 学内容的目的。平时练习较偏重于如何编写功能单一的“小”算法,而实习题是软件设计的综合训练,包 括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。 二、课程教学基本要求 (一)实验目的 根据《数据结构》课程的任务与要求,帮助学生拓宽知识面。并达到以下教学要求: (1)学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结 构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术;掌握各种基本数据结构的逻辑结构和 存储结构及相应算法。 (2)本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚、正确易读,符合 软件过程的规范,从而培养学生的数据抽象能力。 (3)通过若干数据结构应用实例,引导学生学习数据类型的使用,为今后学习面向对象的程序做一些铺 垫。 (二)实验要求 (1)熟悉各种基本数据结构的定义,性质和特点,初步掌握算法分析的基本技巧以及如何根据实际问题 设计一个有效的算法。 (2)会书写类 C 语言的算法,并将算法转变为程序实现。 (3)正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现,有较强的逻辑分析能力。 (4)针对问题的不同选择合适的数据结构,提高算法设计的能力和动手实验的技能。 三、实验内容和学时分配 序 号 实 验 题 目 目 的 要 求 教学 时数 说 明 1 线性表的存储结构 掌握线性表的顺序、链式存储 结构定义,基本操作实现。 2 1.顺序表的表示与插入元素、删除 元素、查询元素的算法实现。 2.链式表的表示与取元素、插入元 素、删除元素的算法实现。 3.两个元素非递减排列的单链表的 合并问题的算法实现。 2 栈和队列的存储结构 掌握栈与队列的定义,栈的应 用。 2 1.栈的顺序存储结构定义及实现。 2.队列的链式存储结构定义及实现 3.栈的应用 4.用队列模拟停车厂管理 3 树和二叉树的存储结 构 通过对二叉树的遍历操作的 实现,让学生了解树与二叉树 典型数据结构及其在实际中 的应用。 2 1.二叉树的存储结构 2.二叉树的遍历 3.哈夫曼树的定义及哈夫曼编码的 生成 4 图的存储 通过对图的存储结构的定义 2 1.图的邻接表的存储结构表示
实验题目 目的要求 教学 时数 说明 究,实现图的基本应用,让 图的两种遍历算法的实现 生把握图的基本定义和基 3.按照普里姆算法和克鲁斯卡尔算 本操作的实现,进一步加深图 法思想,图的最小生成树的生成算 在实际问题的应用。 法实现 通过对顺序表及有序表的存 1.顺序表的查找算法实现 储结构的定义研究,实现静态 有序表的查找算法实现 查找算法 查找表的查找程序,让学生体 3.二叉排序树的查找、插入、删除 会静态查找表的基本功能 算法实现 合计 四、实践课程考核 本课程实验占《数据结构》课程总成绩的30% 五、实验报告
序 号 实 验 题 目 目 的 要 求 教学 时数 说 明 研究,实现图的基本应用,让 学生把握图的基本定义和基 本操作的实现,进一步加深图 在实际问题的应用。 2.图的两种遍历算法的实现 3.按照普里姆算法和克鲁斯卡尔算 法思想,图的最小生成树的生成算 法实现 5 查找算法 通过对顺序表及有序表的存 储结构的定义研究,实现静态 查找表的查找程序,让学生体 会静态查找表的基本功能。 2 1.顺序表的查找算法实现 2.有序表的查找算法实现 3.二叉排序树的查找、插入、删除 算法实现。 合计 10 四、实践课程考核 本课程实验占《数据结构》课程总成绩的 30%。 五、实验报告
《数据结构》实验报告格式 班级: 学号 姓名: 日期 需求分析 1.程序的功能 2.输入输出的要求 3.测试数据 程序设计基本思想、原理和算法描述 1.算法基本思想及原理 2.主要模块的伪码算法 3.采用c语言定义相关的数据类型 4.符号名说明 5.程序结构、主程序的流程及各程序模块之间的层次关系 6.画出函数的调用关系图 7.编程环境说明 调试分析 1.调试中遇到的问题及对问题的解决方法 2.算法的时间复杂度和空间复杂度 四、使用说明及测试结果 1.程序文件组成 2.程序使用说明 3.测试结果分析 4.程序的改进方向 五、上机体会及建议 六、源程序(带注释)
《数据结构》实验报告格式 班级: 学号: 姓名: 日期: 一、 需求分析 1. 程序的功能 2. 输入输出的要求 3. 测试数据 二、 程序设计基本思想、原理和算法描述 1. 算法基本思想及原理 2. 主要模块的伪码算法 3. 采用 c 语言定义相关的数据类型 4. 符号名说明 5. 程序结构、主程序的流程及各程序模块之间的层次关系 6. 画出函数的调用关系图 7. 编程环境说明 三、 调试分析 1. 调试中遇到的问题及对问题的解决方法 2. 算法的时间复杂度和空间复杂度 四、 使用说明及测试结果 1. 程序文件组成 2. 程序使用说明 3. 测试结果分析 4. 程序的改进方向 五、 上机体会及建议 六、 源程序(带注释)