四川幼儿师范高等专科学校课程标准1《数据结构》课程标准课程类别①专业技术课适用对象大一下期学生教学系部应用技术一系适用专业计算机信息管理总学时②48总学分3制定人黄继勇制定日期审核人审核日期一、课程性质与定位随着计算机软件和硬件的发展,计算机的应用已经深入到社会的各个领域,各行各业都需要对大量的非数值数据进行存储、加工和管理。如何根据实际应用研究的要求,对这些大量的表面上杂乱无章的数据进行有效地组织、存储和处理,编制出相应的高效算法,这就是《数据结构》这门课程所要研究并加以解决的问题。《数据结构》是计算机科学中一门综合性的专业技术基础课,也是计算机科学技术应用专业的必修课程,为计算机专业技术人员提供必要的专业基础知识和技能训练,同时也是计算机应用相关学科所必须掌握的课程。通过本课程的学习,使学生熟练掌握计算机程序设计中常见的各种数据的逻辑结构、存储结构及相应的运算,初步掌握算法的时间分析和空间分析的技术,并能根据计算机加工的数据特性运用数据结构的知识和技巧设计出更好的算法和程序,并进一步培养基本的良好的程序设计能力。《数据结构》课程适用于三年制计算机信息管理专业,在第二学期开设二、课程目标本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。通过本课程的学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析的技术;另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。1.专业能力目标(1)掌握各种主要数据结构的特点、计算机内的表示方法,以及处理数据的算法实现。①课程类别:公共课程、教师教育课程(专业基础课程)、专业课程(专业技术课程)、专业拓展课程②课程的总学时和总学分与专业人才培养方案一致。四川幼儿师范高等专科学校课程标准2(2)使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。(3)通过对本课程算法设计和上机实践的训练,培养学生的数据抽象能力和复杂程序设计的能力。2.方法能力目标(1)有初步的算法分析和设计能力。(2)能够有效地获取、利用、传递信息。(3)通过独立学习,不断获取新的知识和技能,能够在工作中寻求发现问题、解决问题的途径。3.社会能力目标(1)培养学生“爱岗、敬业、细致、求精”的职业道德与情感。(2)培养学生良好的动手实践习惯,尤其注重挖掘学生的潜质。(3)注重培养学生与社会接轨。(4)培养学生严谨的行事风格。三、课程设计思路1.课程设置的依据本课程标准从计算机信息管理专业的视角出发,以满足本专业就业岗位所必须具备的计算机软件技术基础知识为基础,教学内容设计通过岗位工作目标与任务分析,分解完成工作任务所必备的知识和能力,采用并列和流程相结合的教学结构,构建教学内容的任务和达到工作任务要求而组建的各项目,以及教学要求和参考教学课时数。通过实践操作、案例分析,培养学生的综合职业能力,基本达到程序员级职业技能鉴定标准。2.课程改革的基本理念以培养学生如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法进行的分析和评价的能力,学会数据的组织方法和实现方法,并进一步培养基本的良好的程序设计能力。3.课程目标、内容制定的依据基本依据是该门课程涉及的工作领域和工作任务范围,但在具体设计过程中还以数据结构开发应用与典型的项目为载体,使工作任务具体化,并依据完成工作任务的需要、职业院四川幼儿师范高等专科学校课程标准3校学习特点和职业能力形成的规律,遵循“学历证书与职业资格证书嵌入式教学”的设计要求确定课程的知识、技能等内容,产生了具体的项目模块四、与前后课程的关系(说明前导课程与后续课程及其之间的关系)《数据结构》课程为计算机信息管理专业的基础课,前修课程为《计算机应用基础》、《高级语言程序设计》,后续课程为:《C++程序设计》、《C#程序设计》等。五、课程内容与教学要求(一)课程内容本课程标准从计算机信息管理专业的视角出发,以满足本专业就业岗位所必须具备的计算机软件技术基础知识为基础,教学内容设计通过岗位工作目标与任务分析,分解完成工作任务所必备的知识和能力,采用并列和流程相结合的教学结构,构建教学内容的任务和达到工作任务要求而组建的各项目,以及教学要求和参考教学课时数。通过实践操作、案例分析,培养学生的综合职业能力,基本达到程序员级职业技能鉴定标准。主要内容如下:(1)绪论内容:数据结构的基本概念和术语,算法的概念、特点。(2)线性表内容:线性表的定义及运算,线性表的顺序存储结构和链式存储结构,循环链表和双向链表,链表的应用和算法举例。(3)栈和队列内容:栈的定义及运算,栈的顺序结构与链表结构,栈的应用,队列的定义及运算,队列的顺序结构与链表结构,栈和队列的算法实现。(4)字符串与数组内容:串的概念,存储结构和运算,数组的基本概念,稀疏矩阵。(5)树内容:树的基本概念,二叉树的遍历,线索二叉树,森林,树的应用。(6)图内容:图的基本概念和术语,图的存储结构,图的遍历,生成树的概念,最短路径,拓扑排序。(7)查找内容:静态和动态查找表,哈希表及其查找。四川幼儿师范高等专科学校课程标准4(8)排序内容:插入排序、交换排序、选择排序法。学时分配学习单元编号学习任务学习要求学时分配备注一体化学时实践比例(%)1绪论掌握数据、数据元素、数据对象、物理结构和逻辑结构、数据结构的概念。2152线性表掌握线性表的定义,向量的基本运算,单链表与指针的关系和基本运算,循环链表与双向链表,多项式相加问题的求解。6153栈和队列掌握栈和队列的定义、顺序结构与链表结构及相应的算法8154字符串与数组掌握串的概念,顺序与链式存储结构和基本运算。掌握数组的概念,稀疏矩阵的存储。6155树掌握树和二叉树的定义,二叉树的性质、存储结构、遍历算法,线索二叉树的概念与存储,树与二叉树森林的转换,二叉排序树和哈夫曼树。8156图掌握图的基本概念和术语,邻接表,图的建立与遍历,最小生成树的求法,最短路径的求法。8157查找掌握顺序表、有序表、索引顺序表的查找,二叉排序树和二叉平衡树,哈希函数与哈希表,解决冲突的方法。6158排序掌握几种基本的排序方法415总计4815(二)学习情境四川幼儿师范高等专科学校课程标准5根据本课程的培养目标,以项目开发活动为载体确定6个学习情境,其具体内容如下:学习情境1:线性表及其应用学习情境线性表及其应用学时2能力目标熟悉C语言的上机环境,进一步掌握C语言的结构特点。掌握线性表的顺序存储结构的定义及C语言实现。掌握线性表的链式存储结构——单链表的定义及C语言实现。掌握线性表在顺序存储结构即顺序表中的各种基本操作。掌握线性表在链式存储结构——单链表中的各种基本操作。主要内容1.线性表的建立、插入及删除。2.链式线性表的建立、插入及删除。工作任务1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。3.建立一个带头结点的单链表,结点的值域为整型数据。要求将用户输入的数据按尾插入法来建立相应单链表。实训环境为每位学生配置的计算机具备如下的软件环境:1.WindowsXP/Windows2003或以上版本2.vc++6.0环境教学资源1.电子课件2.任务样例教学方法建议1.“教、学、做”三位一体教学法。2.案例分析法。3.训练学习法。教学组织形式1.以班为单位的一体化教学2.个人独立完成任务教师能力要求1.精通vc++6.0的使用。2.熟悉各种数据的类型及算法。3.具有一定的和好的教学能力,语言沟通能力。考核方式上机调试备注学习情境2:栈和队列学习情境栈和队列学时2能力目标掌握栈的顺序表示和实现。掌握队列的链式表示和实现。主要内容1.编写一个程序实现顺序栈的各种基本运算。2.实现队列的链式表示和实现。四川幼儿师范高等专科学校课程标准6工作任务1.初始化顺序栈2.插入元素3.删除栈顶元素4.遍历顺序栈5.置空顺序栈6.初始化并建立链队列7.入链队列8.出链队列实训环境为每位学生配置的计算机具备如下的软件环境:1.WindowsXP/Windows2003或以上版本2.vc++6.0环境教学资源1.电子课件2.任务样例教学方法建议1.“教、学、做”三位一体教学法。2.案例分析法。3.训练学习法。教学组织形式1.以班为单位的一体化教学2.个人独立完成任务教师能力要求1.精通vc++6.0的使用。2.熟悉各种数据的类型及算法。3.具有一定的和好的教学能力,语言沟通能力。考核方式上机调试备注学习情境3:树及二叉树学习情境树及二叉树学时2能力目标掌握二叉树的建立与存储。掌握二叉树的遍历方法。主要内容1.练习二叉树的建立与存储。2.练习二叉树的遍历。工作任务1.建立自己的头文件BT.H,内容包括二叉链表的结构描述、二叉树的建立、二叉树的先序、中序与后序遍历算法。2.建立二叉树,并通过调用函数,,输出先序遍历、中序遍历与后序遍历的结果。删除栈顶元素。实训环境为每位学生配置的计算机具备如下的软件环境:1.WindowsXP/Windows2003或以上版本2.vc++6.0环境教学资源1.电子课件2.任务样例教学方法建议教学组织形式四川幼儿师范高等专科学校课程标准71.“教、学、做”三位一体教学法。2.案例分析法。3.训练学习法。1.以班为单位的一体化教学2.个人独立完成任务教师能力要求1.精通vc++6.0的使用。2.熟悉各种数据的类型及算法。3.具有一定的和好的教学能力,语言沟通能力。考核方式上机调试备注学习情境4:图学习情境图学时2能力目标掌握图的基本存储方法。掌握有关图的操作算法并用高级语言实现。熟练掌握图的两种搜索路径的遍历方法。主要内容假设以一个带权有向图表示某一区域的公交线路网,图中顶点代表一些区域中的重要场所,弧代表已有的公交线路,弧上的权表示该线路上的票价(或搭乘所需时间),试设计一个交通指南系统,指导前来咨询者以最低的票价或最少的时间从区域中的某一场所到达另一场所。工作任务1.定义结点结构,定义图结构。2.存储图信息。3.定义求任意两点最短路径函数。4.写出主函数。实训环境为每位学生配置的计算机具备如下的软件环境:1.WindowsXP/Windows2003或以上版本2.vc++6.0环境教学资源1.电子课件2.任务样例教学方法建议1.“教、学、做”三位一体教学法。2.案例分析法。3.训练学习法。教学组织形式1.以班为单位的一体化教学2.个人独立完成任务教师能力要求1.精通vc++6.0的使用。2.熟悉各种数据的类型及算法。3.具有一定的和好的教学能力,语言沟通能力。考核方式上机调试备注学习情境5:查找学习情境查找学时2四川幼儿师范高等专科学校课程标准8能力目标掌握查找的不同方法,并能用高级语言实现查找算法。熟练掌握二叉树的构造和查找方法。主要内容设计一个读入一串整数,然后进行排序(二叉排序树法)的算法。工作任务1.从空的二叉树开始,每输入一个结点数据,就建立一个新结点插入到当前已生成的二叉排序树中。2.在二叉排序树中插入新结点。3.建立一个带头结点的单链表,结点的值域为整型数据。要求将用户输入的数据按尾插入法来建立相应单链表。实训环境为每位学生配置的计算机具备如下的软件环境:1.WindowsXP/Windows2003或以上版本2.vc++6.0环境教学资源1.电子课件2.任务样例教学方法建议1.“教、学、做”三位一体教学法。2.案例分析法。3.训练学习法。教学组织形式1.以班为单位的一体化教学2.个人独立完成任务教师能力要求1.精通vc++6.0的使用。2.熟悉各种数据的类型及算法。3.具有一定的和好的教学能力,语言沟通能力。考核方式上机调试备注学习情境6:排序学习情境排序学时2能力目标掌握