数据结构与算法课程标准
《数据结构与算法》课程教学大纲(计
《数据结构与算法》课程教学大纲(Data Structures & Algorithms)一、基本信息课程编号:E1132107课程类别:学科基础必修课适用层次:本科适用专业:计算机科学与技术、网络工程、软件工程开课学期:3总学分:4.5总学时:72学时(理论课54学时,实验课18学时)考核方式:考试二、课程教育目标《数据结构与算法》是计算机学科基础的一门核心课程,它对提高学生的程序设计和算法设计与分析能力具有十分重要的作用。
通过本门课程的学习,使学生学会合理地组织数据、有效地表示数据和有效地处理数据,培养和训练学生能够根据实际问题的要求选择和设计合适的数据结构,编写质量高、风格好的应用程序,并具有初步的算法设计分析能力。
三、教学内容与要求1.理论课教学内容1)绪论主要包括:数据、数据元素、数据对象、数据结构、数据类型、抽象数据类型;算法、算法描述与算法分析。
基本要求:了解数据结构的重要性;了解算法分析的重要性;理解数据结构与算法的关系;掌握数据结构的基本概念和抽象数据类型。
2)线性表主要包括:线性表的(逻辑)定义与基本运算;线性表的顺序存储结构及基本运算的实现;线性表的链式存储结构(单链表、循环链表、双向链表)及其基本运算;一元多项式的表示及简单运算。
基本要求:掌握一般线性表的特点、存储表示、相应算法和实现方法及其典型应用。
并初步掌握基本算法分析技术。
3)栈和队列主要包括:栈和队列的结构特性、基本操作及其在顺序存储结构和链式存储结构上基本操作的实现;栈和队列的应用、递归算法的设计。
基本要求:掌握栈和队列的特点、存储表示、相应算法和实现方法及其典型应用。
4)字符串主要内容:字符串的定义、基本运算、存储结构、匹配算法及其应用。
基本要求:掌握字符串的的特点、存储表示、相应算法和实现方法及其典型应用。
5)数组和广义表主要内容:数组的定义、运算、存储结构、特殊矩阵及稀疏矩阵的压缩存储。
广义表的逻辑结构和存储结构以及广义表的遍历。
数据结构与算法分析课程标准
《数据结构与算法分析B》课程标准一、课程性质与任务本课程是计算机科学中一门综合性的基础课程,是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。
数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础,它在计算机科学中具有承上启下的核心地位,是信息管理与信息系统专业学生必修的专业基础课程。
通过本课程的学习,学生能根据实际应用研究的要求,对大量的表面上杂乱无章的数据进行有效地组织、存储和处理,编制出相应的高效算法。
学生必须熟练掌握计算机程序设计中常见的各种数据的逻辑结构、存储结构及相应的运算,掌握算法的时间分析和空间分析的技术,并能根据计算机加工的数据特性运用数据结构的知识和技巧设计出更好的算法和程序,培养良好的程序设计能力。
学习数据结构应先修《计算机文化基础》、《高等数学》、《离散数学》、《JAVA程序设计》、《C#程序设计》《概率论与数理统计》,后续课程主要有《管理信息系统》《数据库原理及应用》《数据挖掘》,《网络程序设计》等。
与先修课程的关系:数据逻辑结构的学习应在《离散数学》课程中完成,这样才会有充足的时间讲解物理存储结构,并分析每一种不同存储结构的优缺点。
在分析插入和删除等操作的效率时,因为不同位置的数据操作概率不同,不结合概率论与数理统计的知识便无法分析。
数据的存储结构是数据在计算机中的存储,没有人机交流语言无法描述存储结构,所以必须先修高级语言《JAVA程序设计》、《C#程序设计》,分析算法的时间复杂度和空间复杂度时需要用到高等数学的知识。
与后续课程的关系:数据结构和算法分析可以为后续课程提供程序设计和系统开发方法论方面的指导与帮助。
二、课程目标1.知识目标(1)知道《数据结构与算法分析》这门学科的性质、在计算机科学中的地位和独立价值。
知道这门学科的研究范围、应用领域、研究方法。
(2)掌握与数据结构有关的基本概念、明确数据的逻辑结构和物理结构的差别。
《数据结构》课程标准
《数据结构》课程标准数据结构是计算机科学领域中的一个重要概念,它关注如何组织和存储数据以便有效地进行访问和操作。
作为一门课程,数据结构为学生提供了一种理解计算机内部数据组织和算法设计的基础。
本文将探讨《数据结构》课程的标准内容和学习目标。
一、概述数据结构课程旨在帮助学生理解和应用各种常见的数据结构,包括数组、链表、栈、队列、树、图等。
通过学习数据结构,学生能够了解每种数据结构的特点、优缺点以及适用场景,从而能够在实际问题中选择和设计合适的数据结构。
二、基本概念1. 数据结构的定义和分类:课程要求学生了解数据结构的基本定义,并能将其进行分类,如线性结构、树形结构、图结构等。
2. 算法与数据结构的关系:课程要求学生理解数据结构与算法之间的关系,掌握以数据结构为基础进行算法设计和优化的方法。
三、常见数据结构1. 数组:课程要求学生掌握数组的定义、存储方式以及常见操作,如插入、删除和查找。
同时,学生需要理解数组的优缺点和适用场景。
2. 链表:课程要求学生学习链表的原理、分类以及基本操作,如插入、删除和反转。
学生需要了解链表相较于数组的优势和劣势。
3. 栈和队列:课程要求学生熟悉栈和队列的定义、实现方式以及应用场景。
学生需要掌握栈和队列的基本操作,如压栈、出栈、入队、出队等。
4. 树:课程要求学生学习树的基本概念、术语和特点,包括二叉树、二叉搜索树、平衡树等。
学生需要了解树的存储方式、遍历方式以及相关算法。
5. 图:课程要求学生理解图的定义、术语和表示方式,学习图的遍历算法,如深度优先搜索(DFS)和广度优先搜索(BFS)等。
四、高级数据结构1. 堆:课程要求学生了解堆的定义和基本操作,如插入、删除和堆排序。
学生需要理解堆的概念、特点以及应用场景。
2. 跳表:课程要求学生掌握跳表的原理和实现方式,了解其在快速搜索和索引构建中的应用。
3. 哈希表:课程要求学生学习哈希表的基本原理和实现方式,并能进行哈希冲突的处理。
数据结构与算法课程设计
数据结构与算法课程设计一、课程目标知识目标:1. 理解并掌握常见的数据结构(如线性表、树、图等)的基本概念和应用场景;2. 学习并掌握基本算法设计与分析技巧,包括排序、查找、递归等;3. 了解不同数据结构和算法在实际问题中的应用和性能分析。
技能目标:1. 能够运用所学数据结构设计简单的程序,解决实际问题;2. 能够运用算法分析技巧,评价算法的性能,并进行优化;3. 培养学生的编程能力、逻辑思维能力和问题解决能力。
情感态度价值观目标:1. 激发学生对数据结构与算法的兴趣,培养其主动探究和钻研的精神;2. 培养学生的团队合作意识,使其学会在团队中协作解决问题;3. 培养学生严谨、踏实的学术态度,认识到数据结构与算法在计算机科学中的重要性。
课程性质:本课程为高中信息技术课程,旨在帮助学生掌握数据结构与算法的基本知识,提高编程能力和问题解决能力。
学生特点:高中学生已具备一定的编程基础和逻辑思维能力,对新鲜事物充满好奇心,但需加强对数据结构与算法的实践操作和深入理解。
教学要求:结合学生特点,注重理论与实践相结合,通过案例教学和任务驱动,让学生在实际操作中掌握数据结构与算法的知识,提高其编程能力和问题解决能力。
同时,关注学生的情感态度价值观培养,使其形成良好的学习习惯和团队合作意识。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 数据结构部分:- 线性表:定义、顺序存储、链式存储;- 栈和队列:基本概念、应用场景、实现方法;- 树:二叉树、遍历方法、线索二叉树;- 图:图的表示方法、遍历算法、最小生成树、最短路径。
2. 算法部分:- 排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序;- 查找算法:顺序查找、二分查找、哈希查找;- 递归算法:递归概念、应用实例、递归与栈的关系;- 算法分析:时间复杂度、空间复杂度、算法优化。
3. 教学大纲:- 第一周:数据结构概述,线性表的概念及存储;- 第二周:栈和队列,树的基本概念;- 第三周:二叉树及遍历方法,线索二叉树;- 第四周:图的表示和遍历,最小生成树和最短路径;- 第五周:排序算法,查找算法;- 第六周:递归算法,算法分析。
《数据结构与算法(Java)》课程教学大纲
《数据结构与算法(Java)》课程教学大纲一、课程基本信息课程编号:12157课程名称:数据结构与算法(Java)英文名称:Data Structure and Algorithm(Java)课程类型:学科基础课课程要求:必修学时/学分:56/3.5(讲授学时:48 实验学时:8)先修课程:面向对象程序设计(Java)、离散数学后续课程:数据库系统原理、Spark大数据处理适用专业:数据科学与大数据技术二、课程描述“数据结构与算法”是数据科学与大数据专业的一门专业基础课。
课程主要研究数据的各种逻辑结构和数据在计算机中的存储表示,以及各种非数值运算的算法的实现,充分描述了各种数据结构的特点。
内容包括:线性表、栈、队列、数组、树、图等常用的数据结构及常用算法的设计;常用的各种查找方法和排序算法的实现;算法的时间空间复杂性的分析方法等。
通过对基本数据结构及存储结构的深刻理解,掌握解决工程应用中的复杂数据的定义、组织及具体问题的算法设计方案。
通过对综合选择数据结构和算法,以及结合性能要求、存储限制等因素,设计优化的解决方案。
通过对时间复杂度和空间复杂度的概念的理解,对算法和整个算法设计方案进行评价,比较优劣,得出有效算法设计方案。
通过课程的学习,使学生能够应用基本数据结构的定义和常用算法设计方法,表达和解决实际工程问题。
提高学生分析问题能力、建立合适模型和设计有效解决方案具有重要作用。
三、课程教学目标1. 能建立基本的线性表、树和二叉树、图、查找表等数据结构的数学描述和组织形式,能选择和运用与结构对应的算法进行有效的数据访问。
(支持毕业能力要求1)2. 能运用数据结构的相关概念和术语识别、表达工程问题中的需求,形成适当的问题解决方案。
(支持毕业能力要求1)3. 能基于线性结构、树和图等主要数据结构实现查找、排序等操作,以及与特定需求相关的算法设计,解决复杂软件工程问题中与之相关的关键技术环节,并运用数学方法分析算法的时间复杂度和空间复杂度。
数据结构与算法课程标准
《数据结构与算法》课程标准主编:张扬主审:梁平职业教育及专业拓展平台: 职业技术课课程编码: 1102203 是否专业核心课程: 是总学时: 64 适用专业: 计算机应用技术实践比例(%): 15.6%课程类型: (理论+实践)课学分: 4精品课程: 有考核方式: 考试开设学期: 第二学期制(修)订日期: 2010年6月一、课程描述随着计算机软件和硬件的发展,计算机的应用已经深入到社会的各个领域,各行各业都需要对大量的非数值数据进行存储、加工和管理。
如何根据实际应用研究的要求,对这些大量的表面上杂乱无章的数据进行有效地组织、存储和处理,编制出相应的高效算法,这就是《数据结构与算法》这门课程所要研究并加以解决的问题。
《数据结构与算法》是计算机科学中一门综合性的专业技术基础课,也是计算机科学技术应用专业的必修课程,为计算机专业技术人员提供必要的专业基础知识和技能训练,同时也是计算机应用相关学科所必须掌握的课程。
通过本课程的学习,使学生熟练掌握计算机程序设计中常见的各种数据的逻辑结构、存储结构及相应的运算,初步掌握算法的时间分析和空间分析的技术,并能根据计算机加工的数据特性运用数据结构的知识和技巧设计出更好的算法和程序,并进一步培养基本的良好的程序设计能力。
《数据结构与算法》课程适用于三年制计算机应用技术专业,在第二学期开设。
二、课程培养目标本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。
通过本课程的学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析的技术;另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。
1.专业能力目标(1)掌握各种主要数据结构的特点、计算机内的表示方法,以及处理数据的算法实现。
(2)使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。
《数据结构与算法》教学大纲
《数据结构与算法》教学大纲引言:数据结构与算法是计算机科学领域中非常重要的基础知识,它是计算机程序设计的基础。
本文将针对《数据结构与算法》这门课程,分析其教学大纲,并探讨其重要性和实际应用。
一、课程概述1.1 课程目标本课程旨在培养学生对数据结构和算法的理解和应用能力,使其能够灵活运用各种数据结构和算法解决实际问题,提高程序的效率和性能。
1.2 课程内容本课程主要包括以下内容:- 基本数据结构:数组、链表、栈、队列等- 高级数据结构:树、图、堆等- 常用算法:排序算法、查找算法、图算法等- 算法复杂度分析- 动态规划和贪心算法二、课程详细内容2.1 基本数据结构2.1.1 数组:线性表的顺序存储结构,介绍其定义、基本操作和应用场景。
2.1.2 链表:线性表的链式存储结构,包括单链表、双链表和循环链表,介绍其定义、基本操作和应用场景。
2.1.3 栈:先进后出的数据结构,介绍其定义、基本操作和应用场景。
2.1.4 队列:先进先出的数据结构,介绍其定义、基本操作和应用场景。
2.2 高级数据结构2.2.1 树:介绍二叉树、平衡二叉树和二叉搜索树,包括其定义、基本操作和应用场景。
2.2.2 图:介绍有向图和无向图,包括其定义、基本操作和应用场景。
2.2.3 堆:介绍最大堆和最小堆,包括其定义、基本操作和应用场景。
2.3 常用算法2.3.1 排序算法:介绍冒泡排序、插入排序、选择排序、快速排序、归并排序等排序算法的原理和实现。
2.3.2 查找算法:介绍顺序查找、二分查找等查找算法的原理和实现。
2.3.3 图算法:介绍深度优先搜索和广度优先搜索算法,以及最短路径算法。
2.4 算法复杂度分析2.4.1 时间复杂度:介绍算法的时间复杂度分析方法,包括最好情况、最坏情况和平均情况的复杂度。
2.4.2 空间复杂度:介绍算法的空间复杂度分析方法,包括辅助空间和输入空间的复杂度。
2.5 动态规划和贪心算法2.5.1 动态规划:介绍动态规划算法的原理和基本步骤,以及常见的动态规划问题。
大二选修课数据结构与算法教学大纲
大二选修课数据结构与算法教学大纲课程编号:XXXXXXX课程名称:数据结构与算法教学大纲适用年级:大二学分:3学时:48一、课程目标本课程旨在帮助学生建立起扎实的数据结构与算法基础知识,并培养学生的算法设计和分析能力。
通过理论学习和实践编程相结合的方式,使学生能够掌握各类常用数据结构的原理及实现方法,理解算法的设计思想和分析技巧,能够熟练运用算法解决实际问题。
二、教学内容本课程的教学内容主要包括以下几个方面:1. 数据结构基础知识- 算法的概念和分类- 数据结构的基本概念和分类- 线性表、栈和队列- 树和二叉树- 图的基本概念和表示方法 - 查找算法2. 常用数据结构的实现和应用 - 顺序表和链表的实现与应用 - 树和二叉树的实现与应用 - 图的实现与应用- 散列表的实现与应用3. 常用算法的设计与分析- 递归与递归算法- 排序算法及其分析- 查找算法及其分析- 图的遍历算法及其应用- 最短路径算法及其应用4. 算法的实际应用- 字符串匹配算法- 图像处理算法- 数据压缩算法三、教学方法1. 理论授课:通过教师讲解、幻灯片展示等方式,介绍数据结构和算法的基本概念、原理和实现方法。
2. 实践编程:通过编写程序解决具体问题,加深对数据结构和算法的理解,培养学生的编程能力。
3. 课堂讨论:引导学生分析和讨论实际问题的解决方法,加深对数据结构和算法的应用理解。
四、学习要求1. 学生应具备一定的基本编程知识和算法思维能力。
2. 课后需要进行大量的实践编程练习,巩固所学知识。
3. 积极参与课堂讨论和交流,互相学习,共同进步。
五、考核方式1. 平时成绩:包括课堂表现、作业完成情况等。
2. 期中考试:对学生对数据结构和算法的基本概念和理论知识的掌握情况进行考核。
3. 期末考试:对学生对数据结构和算法的应用能力进行考核,包括编程实现和算法设计分析等。
六、教材及参考书目1. 主教材:《数据结构与算法导论》2. 参考书目:- 《数据结构与算法分析:C语言描述》 - 《算法导论》- 《数据结构与算法》七、教学进度安排第一周:算法的概念和分类- 算法的基本概念- 算法设计的基本思想- 算法的时间复杂度和空间复杂度分析第二周:线性表、栈和队列- 线性表的基本概念和实现- 栈和队列的基本概念和实现......第十五周:最短路径算法及其应用- 单源最短路径算法- 多源最短路径算法- 最短路径算法在实际应用中的应用......以上仅为教学大纲的一部分内容,具体的教学进度和安排会根据实际情况进行调整。
数据结构课程标准
《数据结构与算法教程》课程标准适用专业:计算机应用技术教研室:计算机应用总学时:72一、课程概述1.课程的性质与地位《数据结构》是通信工程、信息工程、电子工程、自动化、信息研究与安全、电子工程专业技术本科的专业基础必修课,主要学习各种常用数据结构的操作及应用,对后续课程的学习以及以后从事软件开发具有不可替代的重要作用和意义。
2.课程基本理念本课程的教学应坚持以人为本、以学为主、注重创新意识和综合素质培养的指导思想,坚持将知识学习、能力训练和综合素质培养融为一体,将各种数据结构与实际问题紧密结合,强调学员在学习和实践中发现问题、分析问题、解决问题的能力,注重对学员科学探索精神、创新意识的培养。
3.课程设计思路本课程教学包括三部分内容:先介绍一些相关的概念;再学习数据的表示,由浅入深的各种数据结构及相关算法;最后学习数据处理各种算法。
并及时安排相应的实题课,巩固和加深学员对所学理论的理解。
二、课程目标通过本课程的学习,要求学员理解并掌握各种数据结构及相关算法,为后续专业课的学习打好基础;通过上机实验,提高学员分析问题与解决问题的能力,尤其是通过对具体实际问题的分析,选择合适的数据结构,将与问题相关的数据组织起来,编写出能高效运行的算法。
三、内容标准(一)绪论1.基本内容:数据结构及其相关概念,算法的概念,算法分析。
2.学习要求:准确掌握数据结构及其相关的概念、数据的逻辑结构和存储结构之间的关系;了解算法的五要素、算法与程序的区别;熟练掌握语句频度和时间复杂度的估算方法3.教学要求:本单元共安排6学时,采用课堂讲授方法实施教学。
针对本单元理论性强、新概念多的特点,在教学过程中要准确解释各个基本概念,清晰阐明基本概念的内涵和相互联系。
充分利用电子课件,力求将抽象概念形象化、具体化,以加深学员对基本概念的理解。
激发学员对本课程的学习兴趣。
(二)线性表的顺序存储及其运算1.基本内容:线性表的逻辑结构,线性表上的运算,栈和队列的概念,栈和队列的运算,栈和队列的应用。
《数据结构与算法》教学大纲 一、课程目标与任务 数据结构课程是计算机
《数据结构与算法》教学大纲一、课程目标与任务数据结构课程是计算机类专业课之一。
本课程介绍了线性表、栈和队列、串、数组和广义表树和二叉树以及图等几种基本类型的数据结构,以及在程序设计中经常遇到的两个问题————查找和排列。
它的的教学要求是:学会分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构以及相应的算法,并初步掌握算法的时间分析和空间分析的技巧。
通过本课程的教学应使学生达到下列基本要求:1、熟悉掌握数据结构的的基本概念2、掌握线性表的逻辑结构与存储结构3、掌握栈和队列的结构与操作算法4、掌握串的结构与操作算法5、掌握数据和广义报表的结构与算法6、掌握树和二叉树的结构与算法7、掌握图的结构与算法8、掌握查找与排列的算法二、相关课程说明本课程的先行课程有计算机导论、高级语言程序设计。
三、教学环节安排四、课程内容及要求第一部分数据结构概述(一)教学内容:1. 基本概念和术语2. 算法的描述和算法分析(二)重点与难点:算法的描述和算法分析(三)基本要求:了解基本概念和术语第二部分线性表(一)教学内容:1. 线性表的逻辑结构2. 线性表的顺序存储结构3. 线性表的链式存储结构(二)重点难点:线性表的链式存储结构(三)基本要求:熟练掌握线性表的结构和算法第三部分栈和队列(一)教学内容:1. 栈2. 表达式求值3. 栈与递归过程4. 队列(二)重点与难点;栈和队列的操作算法(三)基本要求:熟练掌握栈和队列的操作算法编程第四部分串(一)教学内容:1. 串极其操作2. 串的存储结构3. 串基本操作的实现(二)重点难点:串基本操作的实现(三)基本要求:掌握串基本操作的实现与应用第五部分数组和广义表(一)教学内容:1. 数组的定义与运算2. 数组的顺序存储结构3. 矩阵的压缩存储4. 广义表的定义5. 广义表的存储结构6. 广义表递归算法(二)重点难点:数组的顺序存储结构、矩阵的压缩存储、广义表的递归算法。
2024版《数据结构》课程标准
•课程概述与目标•基本数据类型与操作•复杂数据类型与操作目录•算法设计与分析基础•排序与查找算法专题•文件组织与处理技术•实验环节与项目实践指导01课程概述与目标数据结构定义及重要性数据结构定义重要性课程要求学生应具备一定的编程基础,熟悉至少一门编程语言;教师应具备丰富的数据结构教学经验和实践经验,能够灵活运用多种教学方法和手段进行教学。
知识目标掌握数据结构的基本概念、基本原理和基本方法,了解各种数据结构的特性、适用场景以及相互之间的联系与区别。
能力目标培养学生运用数据结构解决实际问题的能力,包括抽象问题能力、设计算法能力、编写程序能力以及调试程序能力等。
素质目标培养学生严谨的科学态度、良好的团队合作精神以及创新意识,提高学生的综合素质。
课程目标与要求教材选用及参考资源教材选用参考资源02基本数据类型与操作线性表线性表的定义与基本操作01线性表的顺序存储结构02线性表的链式存储结构03栈和队列栈的定义与基本操作队列的定义与基本操作栈和队列的应用串和数组串的定义与基本操作串的存储结构数组的定义与基本操作特殊矩阵的压缩存储03复杂数据类型与操作树和二叉树树的基本概念二叉树树的遍历哈夫曼树及其应用线索二叉树树和森林图的基本概念图的存储结构图的遍历最小生成树最短路径拓扑排序和关键路径图论基础及应用顺序查找、折半查找、索引顺序查找等。
静态查找表动态查找表哈希表查找算法的分析与评价二叉排序树和平衡二叉树等。
哈希函数的构造方法、处理冲突的方法等。
时间复杂度、空间复杂度等。
查找技术04算法设计与分析基础算法概念及表示方法算法定义算法表示方法时间复杂度空间复杂度其他指标030201算法性能评价指标将原问题分解为若干个子问题,分别分治策略类似于回溯法,但在搜索过程中通过剪枝等操作来减少搜索空间,提高效分支限界策略通过保存子问题的解,避免重复计算,提高效率。
动态规划贪心策略通过探索所有可能的解来求解问题,当发现当前路径无法得到解时,回溯回溯策略0201030405典型算法设计策略05排序与查找算法专题内部排序方法比较插入排序简单插入排序、希尔排序交换排序冒泡排序、快速排序选择排序简单选择排序、堆排序01020304哈希表查找技术06文件组织与处理技术文件概念及分类方法文件定义文件分类根据文件的性质和记录的组织方式,文件可分为顺序文件、索引文件、散列文件和链式文件等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法》课程标准
主编:张扬主审:梁平
职业教育及专业拓展平台: 职业技术课课程编码: 1102203 是否专业核心课程: 是总学时: 64 适用专业: 计算机应用技术实践比例(%): 15.6%
课程类型: (理论+实践)课学分: 4
精品课程: 有考核方式: 考试
开设学期: 第二学期制(修)订日期: 2010年6月
一、课程描述
随着计算机软件和硬件的发展,计算机的应用已经深入到社会的各个领域,各行各业都需要对大量的非数值数据进行存储、加工和管理。
如何根据实际应用研究的要求,对这些大量的表面上杂乱无章的数据进行有效地组织、存储和处理,编制出相应的高效算法,这就是《数据结构与算法》这门课程所要研究并加以解决的问题。
《数据结构与算法》是计算机科学中一门综合性的专业技术基础课,也是计
算机科学技术应用专业的必修课程,为计算机专业技术人员提供必要的专业基础知识和技能训练,同时也是计算机应用相关学科所必须掌握的课程。
通过本课程的学习,使学生熟练掌握计算机程序设计中常见的各种数据的逻辑结构、存储结构及相应的运算,初步掌握算法的时间分析和空间分析的技术,并能根据计算机加工的数据特性运用数据结构的知识和技巧设计出更好的算法和程序,并进一步培养基本的良好的程序设计能力。
《数据结构与算法》课程适用于三年制计算机应用技术专业,在第二学期开设。
二、课程培养目标
本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。
通过本课程的学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析的技术;另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。
1.专业能力目标
(1)掌握各种主要数据结构的特点、计算机内的表示方法,以及处理数据的算法实现。
(2)使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。
(3)通过对本课程算法设计和上机实践的训练,培养学生的数据抽象能力和复杂程序设计的能力。
2.方法能力目标
(1)有初步的算法分析和设计能力。
(2)能够有效地获取、利用、传递信息。
(3)通过独立学习,不断获取新的知识和技能,能够在工作中寻求发现问题、解决问题的途径。
3.社会能力目标
(1)培养学生“爱岗、敬业、细致、求精”的职业道德与情感。
(2)培养学生良好的动手实践习惯,尤其注重挖掘学生的潜质。
(3)注重培养学生与社会接轨。
(4)培养学生严谨的行事风格。
三、与前后课程的联系
《数据结构与算法》课程为计算机应用技术专业的基础课,前修课程为《计算机应用基础》、《高级语言程序设计》,后续课程为:《C++程序设计》、《C#程序设计》等。
四、学习内容与学时分配
本课程标准从计算机软件技术及应用技术专业的视角出发,以满足本专业就业岗位所必须具备的计算机软件技术基础知识为基础,教学内容设计通过岗位工作目标与任务分析,分解完成工作任务所必备的知识和能力,采用并列和流程相结合的教学结构,构建教学内容的任务和达到工作任务要求而组建的各项目,以及教学要求和参考教学课时数。
通过实践操作、案例分析,培养学生的综合职业能力,基本达到程序员级职业技能鉴定标准。
主要内容如下:
(1)绪论
内容:数据结构的基本概念和术语,算法的概念、特点。
(2)线性表
内容:线性表的定义及运算,线性表的顺序存储结构和链式存储结构,循环链表和双向链表,链表的应用和算法举例。
(3)栈和队列
内容:栈的定义及运算,栈的顺序结构与链表结构,栈的应用,队列的定义及运算,队列的顺序结构与链表结构,栈和队列的算法实现。
(4)字符串与数组
内容:串的概念,存储结构和运算,数组的基本概念,稀疏矩阵。
(5)树
内容:树的基本概念,二叉树的遍历,线索二叉树,森林,树的应用。
(6)图
内容:图的基本概念和术语,图的存储结构,图的遍历,生成树的概念,最短路径,拓扑排序。
(7)查找
内容:静态和动态查找表,哈希表及其查找。
(8)排序
内容:插入排序、交换排序、选择排序法。
学时分配
五、考核方式与标准
本课程教学评价采用过程性评价与结果性评价相结合完成。
注重对学生动手能力和实践分析问题、解决问题能力的考核,对学习和实践环节上有创新的学生应特别给予鼓励,综合评价学生能力。
本课程的过程性评价建议包括学生平时课堂表现、作业完成情况、考勤情况、单元测试成绩、实训成绩等,约占总评成绩的40%。
本课程结果性评价是指期末笔试。
笔试全面考核本课程所学知识与技能,重点考核与实践能力紧密相关的知识,并与全国计算机二级考试紧密结合,约占总评成绩的60%。
六、教学与实践环境要求
教学环境:具备多媒体教学系统,能实现边讲边练。
设备条件:教师操作演示用机和学生操作用机须安装VC++。
七、课程实施建议
1.教材选用建议
(1)教材:
高职、高专规划教材《数据结构》,邓文华编著,清华大学出版社
(2)教学参考书:
《数据结构(C语言版)》,严蔚敏吴伟民编著,清华大学出版社,2007.3 《数据结构(C语言版)》,胡学钢主编,高等教育出版社,2008.1
2.教学建议
(1)在教学过程中应结合现实生活中的具体实际应用实例,通过实验、实训应用与理论的结合以激发学生学习数据结构的兴趣。
(2)教学可在多媒体教室进行,借助于多媒体课件组织教学。
(3)教学过程中可参考计算机软件资格考试(初级、中级、高级)或全国计算机等级考试(二级)规定的有关程序设计和数据结构的知识要求和技能等级职业标准。
3.教师要求
(1)担任本课程主讲教师应该熟悉各种算法的思想及软件开发流程,具有
丰富的软件开发经验,熟练掌握VC++,能够应用这些技术开发一个完整的应用软件系统,同时,还要求主讲教师具备较丰富的教学经验及课题组织能力。
(2)担任本课程实践教学指导教师应具有丰富的软件企业开发工作经验,具有一定的教学经验并且需要有较强的责任心。
八、课程资源的利用
推荐如下学习网站:
(1)/
(2)/jpk/shujujiegou/center.htm
(3)/jingpin/jp2005/sjjg/
(4)/Data/
九、学习情境设计
根据本课程的培养目标,以项目开发活动为载体确定6个学习情境,其具体内容如下:
学习情境2:栈和队列
学习情境3:树及二叉树
学习情境4:图
学习情境5:查找
学习情境6:排序。