《2022年数据结构教学大纲》由会员分享,可在线阅读,更多相关《2022年数据结构教学大纲(9页珍藏版)》请在金锄头文库上搜索。
1、1 数据结构(本)课程教学大纲第一部分大纲说明一、课程的性质与任务数据结构(本)是中央广播电视大学计算机科学与技术本科专业(专科起点)的统设必修、学位课程。本课程4 学分, 72 学时,其中实验24 学时,开设一学期。数据结构(本)是计算机科学技术与专业的一门重要的专业基础课。主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法进行分析和评价。课程的主要内容包括:数据结构和算法的基本概念、线性表、栈和队列、串、数组和广义表、树和图、查找和排序等。通过本课程的学习,使学生较深入地理解数据的逻辑结构和物理结构,掌握有关算法和基本的程序设计技能,能编制高效且有一定难度的程序,为
2、学习后续课程奠定基础。课程以 C语言作为数据结构和算法的描述工具。教学环节包括理论教学和实验,教学中注重基础,突出应用,强化数据结构基本知识和程序设计基本能力的双基训练。二、与相关课程的关系先修课程: C语言程序设计、离散数学。后续课程:操作系统、数据库应用技术、软件工程等。三、课程的教学要求1掌握常用的数据结构的逻辑关系、存储结构、操作特点及有关应用。2掌握迭代、递归等程序设计技术,了解他们与相关的数据结构的关系。3掌握常用的查找、排序算法的基本原理和实现步骤。4能有效合理地利用所学数据结构,程序设计技术和相关算法解决简单实际应用问题。5了解数据结构在后续课程中的作用。四、课程的教学方法和教
3、学形式建议数据结构课程内容涉及面广,是一门理论性和实践性都很强的课程,在专业中具有承前启后的作用,是一门核心专业基础课。如何根据实际问题的需要并结合算法的要求合理地选用相关的数据结构和正确使用程序设计技术,是本课程的重点和难点。因此在教学中应注意以下几点:1注重基础、突出应用、强化程序设计基本能力的训练。由浅入深、由简单到复杂、由特殊到一般讲解相关概念和原理。2增加案例教学的比重,从分析典型的应用案例入手引出相关概念、理论和技术。理论教学采用启发式教学方法,并适当组织课堂讨论。实践教学可以组织学生进行“程序设计技术交流”。名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
4、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 2 3对实验内容要制定实施方案和评测标准,保证学生的上机学时,使学生认真完成本课程所规定的实验,得到程序设计的训练和编程能力的提高。4日常的面授辅导应着重于重点归纳、难点剖析以及案例分析讨论等。五、课程教学要求的层次本课程的教学要求分为掌握、理解和了解三个层次。掌握是在理解的基础上加以灵活应用;理解是能正确表达有关概念和方法的含义,并且能够进行简单分析和判断;了解即能正确判别有关概念和方法。在期末考核试卷中(涵盖实验内容),掌握的内容约占总分数的60%
5、 ,理解的内容约占30% ,了解的内容约占10% 。第二部分媒体使用与教学过程建议一、课程学时分配课程教学总学时数为72 学时, 4 学分,其中授课学时为48 学时(含面授、录像学时)实验课学时为 24 学时。各章学时分配如下:章教学内容授课学时实验学时第 1 章绪论2 0 第 2 章线性表8 6 第 3 章栈和队列6 3 第 4 章串2 0 第 5 章数组和广义表2 0 第 6 章树和二叉树10 6 第 7 章图6 3 第 8 章查找6 3 第 9 章排序6 3 合计48 24 二、多种媒体教材的总体说明本课程使用的教学媒体有:文字教材、录像教材、CAI 课件和网上教学。1文字教材名师资料总
6、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 3 主要教学媒体。文字教材的内容是教学大纲所规定的教学基本内容,是本课程教与学和考核的基本依据。文字教材要求体系完整,适合成人自主学习的需求,体现电大教学的规律和特点。2录像教材辅媒体。讲授课程的重点和难点,思路和方法。充分利用电视教材直观性的特点,通过动画、演示等手段讲解抽象的概念和某些操作性内容的细节。3CAI 课件辅媒体。主要内容有算法执行过程演示、模拟实验、自测练习等。通过交互式的设
7、计,帮助学生掌握课程的重点和难点,提高算法和程序的分析、设计能力。4网上教学网上教学内容包括教学大纲、考核说明等教学文件,各章教学辅导、阶段性总结和复习,VOD点播,在线答疑等。网上教学内容与教学进度同步,侧重于对学生学习过程的辅导。三、教学环节1自学自学是学生重要的学习手段,要求以文字教材为主,辅以录像教材、CAI 课件、网上教学资源进行学习。录像教材和CAI 课件可加深学生对课程重难点内容的理解,提高程序设计技能。网上教学资源与教学进度同步,解决学生在学习过程中遇到的问题。自学可以采取个人和小组学习等方式,学生应注意自学能力的培养,保证必要的自学时间。2面授辅导面授辅导由地方电大辅导教师担
8、任,辅导教师应以文字教材为依据,采用讲解、分析、作业讲评等方式,讲解课程的重点和难点,思路与方法,进行程序设计分析和讨论,解答作业,指导实验等,培养学生学习、思考和分析解决问题的能力。3实验实验是本课程的重要组成部分,由地方电大组织实施。学生应认真完成本课程所规定的实验,未做实验或实验不及格者没有资格参加本课程的期末考试。4作业名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 4 作业是巩固和检验学习效果的有效手段,中央电大统一下
9、发形成性考核作业册,学生应根据学习进度认真完成。四、考核考核是对学生学习效果的检查和验收。本课程的考核采用期末终结性考核和形成性考核相结合的方式。期末终结性考核由中央电大根据教学大纲统一命题;形成性考核包括实验和平时作业,由地方电大组织实施并核定成绩。第三部分教学内容和教学要求第 1 章 绪论( 2 学时)教学内容:1本课程的学习目的、教学内容简介2数据结构的基本概念3算法和算法分析的基本概念教学要求:1掌握数据结构和算法的基本概念;2理解算法和数据结构在程序设计中的作用;3了解算法分析的基本方法,能对简单问题进行时间复杂度的分析;4了解本课程的学习重点和学习方法。第 2 章线性表( 8 学时
10、)教学内容:1线性表的逻辑结构、顺序存储结构、链式存储结构2线性表在顺序结构和链式结构上的基本操作和应用举例3两种存储结构的比较教学要求 :1掌握线性表的两种存储结构和基本操作;2理解线性表的两种存储结构各自的特点和应用场合;3能利用两种存储结构解决简单应用问题。第 3 章栈和队列( 6学时)教学内容:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 5 1栈的定义、表示和实现(顺序存储、链式存储)、栈的应用举例、栈在递归程序设计
11、技术中的作用2队列的定义、表示和实现(顺序存储、链式存储)、队列的应用举例3循环队列4栈和队列的操作和应用比较教学要求:1掌握栈和队列的特点;2掌握顺序栈和链栈的基本操作和实现方法;3掌握顺序队列和链队列的基本操作和实现方法;4理解循环队列的概念和实现方法;5能利用栈和队列进行相关程序设计;6通过程序实例了解栈在递归程序设计中的作用。第 4 章 串( 2 学时)教学内容:1串类型定义、C语言中字符串的特点和处理方法 2 串的顺序存储结构和链式存储结构 3 串的基本运算和实现方法 4 对字符串进行相关操作的应用举例教学要求: 1 掌握 C语言中字符串的特点和利用字符型数组和字符指针处理字符串的方
12、法; 2 能利用字符串的的存储结构和相关操作解决简单应用问题。第 5 章数组和广义表(2 学时)教学内容: 1 数组的定义和存储结构 2 特殊矩阵和稀疏矩阵的存储结构 3 广义表的定义和存储结构简介教学要求: 1 掌握二维数组的顺序存储结构和访问方法; 2 理解特殊矩阵和稀疏矩阵的压缩存储原理; 3 了解广义表的存储结构和有关操作。第 6 章树和二叉树(10 学时)教学内容:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 6 1
13、 树的基本概念 2 二叉树的性质和存储结构 3 二叉树的遍历 4 哈夫曼树及其应用教学要求: 1 掌握树的基本概念; 2 掌握二叉树的性质和存储结构及有关操作和实现方法; 3 掌握遍历二叉树的算法步骤,并能利用递归程序设计技术具体实现; 4 掌握最优二叉树的构造方法,了解它在数据压缩中的应用。第 7 章图( 6 学时)教学内容: 1 图的基本概念 2 图的存储结构 3 图的遍历 4 最小生成树和最短路径教学要求: 1 掌握图的基本概念; 2 掌握图的存储结构( 邻接矩阵和邻接表) ; 3 掌握图的深度优先和广度优先的算法步骤并了解它们的实现技术; 4 掌握最小生成树和最短路径的算法步骤,并理解
14、它们的实现技术。第 8 章查找( 6 学时)教学内容: 1 线性表的查找(顺序查找、折半查找、分块查找) 2 二叉排序树的查找 3 哈希表(哈希表的定义、哈希函数的构造、处理冲突的方法、哈希表的查找和分析)教学要求: 1 掌握顺序查找,折半查找的算法步骤和实现; 2 掌握二叉排序树的有关操作(建立,插入,删除等),了解其他树表查找的原理; 3 了解哈希表的相关概念和原理。第 9 章排序( 6 学时)教学内容: 1 插入排序(直接插入排序、希尔排序)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
15、- - 第 6 页,共 9 页 - - - - - - - - - 7 2 交换排序(冒泡排序、快速排序) 3 选择排序(简单选择排序、堆排序) 4 归并排序。教学要求: 1 掌握各种排序算法的算法步骤和具体实现; 2 理解各种算法的特点,了解它们的时间复杂度。第四部分实验内容和实验要求实验 1:线性表( 6 学时)实验内容: 1 线性表的链式存储结构某项比赛中,评委们给某参赛者的评分信息存储在一个带头结点的单向链表中,编写程序:( 1)显示在评分中给出最高分和最低分的评委的有关信息(姓名、年龄、所给分数等)( 2)在链表中删除一个最高分和一个最低分的结点( 3)计算该参赛者去掉一个最高分和一
16、个最低分后的平均成绩 2 线性表的顺序存储结构用顺序表A记录学生的信息,编写程序:( 1)将 A表分解成两个顺序表B和 C,使 C表中含原A表中性别为男性的学生,B表中含原表中性别为女性的学生,要求学生的次序与原A表中相同。( 2)分别求男生和女生的平均年龄实验要求: 1 掌握线性表的存储结构及相关的操作; 2 能根据问题要求,设计数据结构和相应算法; 3 用 C语言编制程序,程序中写出详细注释; 4 给出测试结果,验证程序的正确性。实验 2:栈、队列、递归程序设计(3 学时)实验内容: 1 栈和队列的基本操作编写一个算法,输出指定栈中的栈底元素,并使得原栈中的元素倒置。 2 递归程序设计(
17、1)从低位到高位逐次输出各位数字( 2)从高位到低位逐次输出各位数字实验要求: 1 掌握栈、队列的访问特点和基本操作;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 8 2 掌握在简单应用中不同存取结构的栈和队列的程序设计技术; 3 通过简单递归程序设计了解栈的应用; 4 对上述实验内容要求完成数据结构和算法的设计,并用C语言设计程序,用算法测试,并验证程序正确。实验 3:二叉树( 6 学时)实验内容: 1 二叉树的顺序存储结构
18、和链式存储结构设一棵完全二叉树用顺序存储方法存储于数组tree 中,编写程序:(1)根据数组tree ,建立与该二叉树对应的链式存储结构,(2)对该二叉树采用中序遍历法显示遍历结果。 2 二叉树的遍历设一棵二叉树采用链式方式存储,编写一个前序遍历该二叉树的非递归算法。实验要求: 1 掌握二叉树的顺序存储结构和链式存储结构; 2 掌握链式存储二叉树的访问方式和相关程序设计技术; 3 掌握二叉树的不同遍历方式和实现技术; 4 进一步熟悉并掌握递归程序设计技术。实验 4:图的存储方式和应用(3 学时)实验内容: 1 建立图的邻接矩阵根据图中顶点和边的信息编制程序建立图的邻接矩阵。 2 图的邻接表 (
19、 选作 ) 根据已知图的信息建立图的邻接表,并输出邻接表。 3 求图的最短路径(选作)参考相关资料、阅读利用广度优先搜索求图的最短路径的相关程序。实验要求: 1 掌握图的存储结构,了解它的应用; 2 理解图的“最短路径”计算方法,了解相关的程序设计技术。实验 5:查找( 3 学时)实验内容: 1 折半查找名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 9 某班学生成绩信息表中,每个学生的记录已按平均成绩由高到低排好序,后来发现某
20、个学生的成绩没有登记到信息表中,使用折半查找法把该同学的记录插入到信息表中,使信息表中的记录仍按平均成绩有序。 2 二叉排序树的建立参阅相关资料,阅读建立二叉排序树的程序。实验要求: 1 掌握折半查找的算法步骤和实现方法; 2 掌握二叉排序树的性质、构造方法; 3 按实验内容完成相关程序,并用实例进行测试,验证其正确性。实验 6:排序( 3 学时)实验内容: 1 冒泡法排序的改进算法某班学生成绩信息表中每个学生的记录包含各门功课的成绩和平均成绩,以及按平均成绩的排名等信息,要求从键盘输入每个学生各门功课的成绩,计算出平均成绩,按平均成绩由高到低对信息表的记录重新排序,并定出每位同学的名次,打印排序后的信息表。 2 堆排序阅读筛选和建堆的程序,针对某一个待排序的序列,通过人工跟踪程序的执行,完成排序的全过程。实验要求: 1 掌握有关排序算法的原理、步骤和编程技术; 2 对上述实验内容要求以实例进行测试,验证正确性; 3 在程序中作出详细注释。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -