文档库 最新最全的文档下载
当前位置:文档库 › 数据结构课程标准

数据结构课程标准

数据结构课程标准
数据结构课程标准

《数据结构》课程标准(专科)

一、课程的性质:

《数据结构》是计算机专业的一门必修专业基础课,它是一门理论性强,但有一定的实践性和较强实用性的基础课程。

二、课程的教学目的与任务:

本课程的任务是讨论数据的各种逻辑结构、存储结构以及有关操作的算法。目的是使学生掌握分析研究计算机加工的数据对象的特性,以便对所要处理的数据对象选择合适的数据结构和存储结构,并在此基础上掌握对这些数据的操作(查找、插入、删除和修改等)。同时培养学生运用C语言编写结构清晰、正确易读的算法,并具备初步评价算法的能力,为学生今后继续学习和研究打下坚实的基础。

三、课程的教学手段和方法:

本课程理论讲授采用教材与多媒体相配合的教学手段。

本课程包括课堂教学与实践教学两大部分。课堂教学在方法上,采用课堂讲授、课后自学、课堂讨论、课外作业、平时测验等教学形式。实践教学部分主要是实验。

四、课程内容及学时分配(共 72学时,其中讲课60学时,实验12学时):

第一部分讲授内容(60学时)

第一章绪论(共4学时)

第一节有关概念和术语(2学时)

一、基本要求:

掌握数据结构的一些基本概念,了解抽象数据类型的定义和使用。

二、教学重点及难点:

本节重点是了解数据结构的逻辑结构、存储结构及数据的运算三方面的概念及相互关系。教学难点是什么是数据的逻辑结构及物理结构?

三、讲授内容:

(一)数据结构的一些基本概念:数据、数据元素、数据逻辑结构、数据存储结构、数据类型、算法等。(二)抽象数据类型。

四、思考题:

举出一个数据结构的例子,叙述其逻辑结构、存储结构、结构上的操作内容。

第二节算法及算法分析(2学时)

一、基本要求:

掌握算法的时间复杂度和空间复杂度的分析方法,了解算法的描述方法。

二、教学重点及难点:

本节重点是算法的各种描述方法和算法分析(时间复杂度及空间复杂度)。教学难点是对一个算法时间复杂度的分析。

三、讲授内容:

(一)描述算法所用的C语言中的一些有关问题。

(二)算法时间复杂度和空间复杂度的分析。

四、思考题:

编写算法,求一元多项式P n(x)=a0+a1x+a2x2+a3x3+…a n x n的值P n(x0),要求时间复杂度尽可能小。

第二章线性表(12学时)

第一节线性表的顺序存储结构(6学时)

一、基本要求:

理解线性表的定义和基本操作;掌握数组的存储(例如:数组元素在内存位置的计算方法)和在顺序存储结构上的基本操作(如插入、删除、合并、划分和比较等)的实现。

二、教学重点及难点:

本节重点是线性表的逻辑结构、线性表的顺序存储存构C语言描述、基本操作实现方法和简单应用。教学难点是用C语言实现基本操作和如何通过顺序存储结构解决实际问题。

三、讲授内容:

(一)线性表的定义和基本操作;

(二)线性表的顺序存储结构;

(三)定义在顺序存储结构上的基本操作的实现;

(四)应用举例及分析。

四、思考题:

设有两个按元素值递增有序顺序表A和B,编一程序将A表和B表归并成一个新的递增有序的顺序表C(值相同的元素均保留在C表中)。

第二节线性表的链式存储结构(6学时)

一、基本要求:

掌握单链表的基本结构及基本操作(如建立、查找、插入和删除等);掌握循环链表和双向链表;能用单链表解决一些实际问题。

二、教学重点及难点:

本节重点是顺序存储结构及链式存储结构的优缺点,如何用C语言实现链式存储结构,单链表上基本操作的实现,各种链表的结构:循环链表,双向链表和单链表的一些简单应用。教学难点是单链表上基本操作的实现和建立在链表上的一些应用。

三、讲教内容:

(一)链式存储结构的实现方法;

(二)单链表的基本操作;

(三)循环链表及双向链表的实现;

(四)应用举例。

四、思考题:

分析单链表、循环链表和双向链表的相同点、不同点及各自的特点。

第三章栈和队列(8学时)

第一节栈(4学时)

一、基本要求:

掌握栈的定义,掌握顺序和链式存储的栈的基本操作实现。

二、教学重点及难点:

本节重点是栈的逻辑结构定义,用C语言实现栈的两种方式:顺序存储结构及链式存储结构,栈的基本操作的实现。教学难点是栈的基本操作的实现和一些具体应用。

三、讲授内容:

(一)栈的定义及基本运算;

(二)栈的顺序存储和链接存储的表示;

(三)在栈的顺序存储和链接存储上进行各种栈操作的算法;

(四)栈的应用举例。

四、思考题:

求2阶Fibonacci数列的递归算法。

第二节对(4学时)

一、基本要求:

掌握队列的定义、顺序存储及链接存储时的操作,掌握顺序存储下循环队列的插入、删除运算算法。

二、教学重点及难点:

本节重点是队列的逻辑定义,用C语言实现队列的两种方式:顺序存储结构及链式存储结构,队列的基本操作实现和循环队列的实现。教学难点是队列的基本操作的实现和循环队列的实现方式。

三、讲授内容:

(一)队列的类型定义;

(二)队列的顺序存储(循环队)表示及各种操作的实现算法;

(三)队列的链接存储表示及各种操作的实现算法。

四、思考题:

队列管理的模拟算法(队列采用带头结点的链表结构)。

第四章串和数组(4学时)

第一节串(2学时)

一、基本要求:

理解串的定义和基本操作,掌握用C语言如何实现物理存储结构:顺序存储结构及堆结构和串的合并、定位、比较算法。

二、教学重点及难点:

本节重点是串的物理存储结构和串的基本操作的实现。教学难点是串的堆分配结构。

三、讲授内容:

(一)串的类型定义;

(二)串的存储结构;

(三)串的基本操作的实现。

四、思考题:

设s和t是表示成单链表的两个串,试编写一个找出s中第1个不在t中出现的字符(假定每个结点只存放1个字符)的算法。

第二节数组(2学时)

一、基本要求:

掌握二维数组的存储结构和稀疏矩阵的压缩存储。了解稀疏矩阵的转置算法。

二、教学重点及难点:

本节重点是矩阵的向量存储结构和稀疏矩阵的压缩存储。教学难点是稀疏矩阵的压缩存储。

三、讲授内容:

(一)二维数组的存储结构;

(二)稀疏矩阵;

(三)应用举例。

四、思考题:

稀疏矩阵转置算法。

第五章树和二叉树(10学时)

第一节二叉树(6学时)

一、基本要求:

掌握树的定义,相关术语及基本操作;掌握二叉树的定义,性质,存储结构,基本操作和二叉树的遍历。

二、教学重点及难点:

本节重点是树的定义,二叉树的定义、性质、存储结构、基本操作和遍历。教学难点是二叉树的性质。

三、讲授内容:

(一)树的概念与基本操作;

(二)二叉树的定义、性质;

(三)二叉树的存储结构;

(四)二叉树的遍历;

(五)二叉树的举例

四、思考题:

建立二叉树并写出其前序遍历、中序遍历的非递归算法。

第二节树与森林(4学时)

一、基本要求:

掌握树的存储结构,树、森林与二叉树的转化,树和森林的遍历;掌握哈夫曼树和哈夫曼编码。

二、教学重点及难点:

本节重点是树、森林与二叉树的转化,树和森林的遍历操作,哈夫曼树。教学难点是树的存储结构,树、森林与二叉树的转化和哈夫曼树。

三、讲授内容:

(一)树的存储结构;

(二)树、森林与二叉树的转化;

(三)树和森林的遍历;

(四)哈夫曼树的定义、构造哈夫曼树的方法;

(五)哈夫曼编码的方法。

四、思考题:

在以孩子兄第链表结构存储的树中,写出求树中结点孩子的算法。

第六章图(8学时)

第一节图的存储和遍历(4学时)

一、基本要求:

掌握图的定义和术语,图的存储表示和遍历方式。

二、教学重点及难点:

本节重点是图的定义和术语,图的存储结构,图的遍历。教学难点是图的存储结构和图的遍历方式。

三、讲授内容:

(一)图的定义和术语;

(二)图的邻接矩阵和邻接表表示;

(三)图的深度和广度优先查找。

四、思考题:

编写算法:在无向图的邻接距阵结构上,生成无向图的邻接链表结构。

第二节图的应用(4学时)

一、基本要求:

掌握图的生成树及最小生成树,求最短路径,拓扑排序。

二、教学重点及难点:

本节重点是最小生成树问题,最短路径问题,拓扑排序的方法。教学难点是最小生成树问题和求最短路径。

三、讲授内容:

(一)图的生成树和最小生成树;

(二)最短路径;

(三)拓扑排序。

四、思考题:

对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为_____和_____。

关键路径是什么?

第七章查找(6学时)

第一节静态查找和动态查找(3学时)

一、基本要求:

掌握查找的基本方式;掌握静态表上顺序查找,有序表的折半查找和分块查找;掌握动态查找:二叉排序树的生成和插入,二叉排序树上的查找。

二、教学重点及难点:

本节重点是顺序查找,有序表的折半查找,查找成功查找长度分析和二叉排序树上的查找。教学难点是成功查找及不成功查找分析。

三、讲授内容:

(一)静态查找:顺序查找,有序表的折半查找和分块查找;

(二)动态查找:二叉排序树上的查找。

四、思考题:

对长度为 10 的有序表进行折半查找的判定树,并求其等概时查找成功的平均查找长度。

第二节哈希表(3学时)

一、基本要求:

掌握哈希表的查找方式,常用哈希函数的构造方法,解决冲突的主要方法,哈希表的查找及性能分析。

二、教学重点及难点:

本节重点是哈希表的查找方式,哈希函数的构造,解决冲突的方法,哈希表的查找及性能分析。教学难点是哈希表的查找和如何解决冲突。

三、讲授内容:

(一)哈希表和哈希方法;

(二)常用哈希函数的构造方法;

(三)处理冲突的方法;

(四)哈希表的查找及性能分析。

四、思考题:

为什么说当装填因子非常接近1时,线性探查类似于顺序查找?为什么说当装填因子比较小(比如

α=0.7左右)时,散列查找的平均查找时间为O(1)?

第七章排序(8学时)

一、基本要求:

掌握直接插入排序、冒泡排序、简单选择排序的方法及其实现;掌握快速排序、堆排序、二路归并排序的方法;掌握各种排序方法的稳定性、时间复杂度和空间复杂度。

二、教学重点及难点:

本节重点是各种排序(直接插入排序,冒泡排序,简单选择排序,快速排序,堆排序,归并排序和基数排序)及时间复杂度分析。教学难点是各种排序方法的优缺点及时间复杂度分析。

三、讲授内容:

(一)直接插入排序;

(二)冒泡排序;

(三)直接选择排序;

(四)快速排序;

(五)堆排序;

(六)归并排序;

(七)基数排序。

四、思考题:

试比较直接插入排序、简单选择排序、快速排序、堆排序、归并排序、希尔排序和基数排序的时空性能、稳定性和适用情况。

第二部分实验内容(12学时)

1. 线性表操作——插入、删除、合并、查找(4学时)

2. 树和二叉树的应用——建立二叉树、遍历二叉树(2学时)

3. 图的应用——寻找两顶点间边数最少的一条路径(2学时)

4. 查找——静态、动态查找算法(2学时)

5. 排序——数组、链表排序算法(2学时)

五、开课时间(时长)、规定学时及成绩考核、评定方式:

本课程开课时长:一学期;规定学时:72学时,其中讲课60学时,实验12学时;本课程的考核以闭卷考试进行,总成绩:平时成绩占 30%,期末闭卷考试占 70% 。

六、使用教材及主要参考书、参考文献:

教材:《数据结构》(C语言版)邓文华李益明编著电子工业出版社

参考书:

1.《数据结构》(C语言版)严蔚敏吴伟民编著清华大学出版社

2.《数据结构题集》(C语言版)严蔚敏吴伟民编著清华大学出版社

3.《数据结构导论习题祥解》黄明梁旭编著机械工业出版社

七、实践教学的指导思想及方式:

实践教学的指导思想:

1.能根据实际问题的需要选择合适的数据结构设计出相应的算法;

2.能独立上机调试并最终得出正确结果;

3.能评价程序的优劣并用较好的方法编程。

每章有相当数量的上机题,要求学生选部分习题编程,上机调试,完成上机调试、获取实验结果、写出实习报告。

八、其它说明:

1.本课程开设之前先修《C语言程序设计》课程。

2.本课程应理论与实践相结合,教学中保证必要的上机时间。

3.本大纲适用于计算机专业专科学生。

《数据结构课程设计》教学大纲2016

《数据结构课程设计》 任务书 专业: 班级: 指导老师: 安徽大学江淮学院 理工部 2016年9月1日

一、课程的性质、目的 《数据结构》是计算机专业的专业基础课,学生通过理论学习,并在完成每章后面的一些小程序后,理解了数据结构的基本概念,掌握了一些基本的编程技术,但仅有这一方面的训练还是很不够的。《数据结构课程设计》是在学完《数据结构》课程之后的实践教学环节,是本专业重要的技能培训之一。 设置本课程的目的是:综合运用在“数据结构"课程中学到的理论知识,使学生们在解决具体问题的过程中,能够灵活熟练地选择合适的数据结构及设计有效的算法,从而加深对常用数据结构理论知识的理解,强化学生的逻辑思维能力和动手能力,培养良好的编程习惯,掌握实用软件设计的基本方法,可以在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统和严格的训练。为后续课程的学习打下坚实基础。 二、教学的基本要求 通过本课程的学习,要求掌握常见数据结构的使用方法、相关算法的分析和理解,实用程序的开发技术。 1、基础知识 (1)熟练掌握C程序设计方法。 (2)熟练掌握常用数据结构(堆栈、队列、链表、二叉树等)的应用和程序设计的方法。 (3)熟练掌握排序等算法的应用和程序设计方法。 2、基本技能 (1)掌握阅读和分析C程序的方法。 (2)掌握设计和调式C程序的方法。 (3)掌握实用程序的开发技术。 (4)重点掌握实用程序开发中,问题分析,数据结构的设计、程序总体结构设计,用户界面设计,验证数据的组织和使用等程序设计基本技能和技巧。 3、基本要求 学生应正确理解和熟练掌握常用数据结构和算法设计所需的技术,设计中要求综合运用在《数据结构》课程中所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。 设计结束后要按要求写出课程设计报告。

课程标准的基本结构与内容模板

课程标准的基本结构与内容 课程标准编写可分为两个部分。 第一部分为“编写说明”部分,包括以下内容: 1.课程的性质、地位和作用:课程的性质即指通识课程、专业基础课程、专业课程、专业选修课程、公共选修课程等。任务指说明课程的基本类型、基本属性和为实现培养目标所承担的任务。 2.教学的基本要求:学生学完课程后,在知识、技能和能力上分别应达到的程度。教学要求可根据课程的性质使用相应的定性词汇,对教学内容作不同层次的要求。例如:有关定义、定理、性质、特征等慨念的内容可按“知道、了解、理解”三个层次要求;有关计算、解法、公式、法则等方法的内容,可按“学习、掌握、熟练掌握”三个层次要求;实验(实践环节)可按“观察、学会、掌握、应用”等几个层次要求。 3. 主要教学方法与媒体要求:说明本课程教学所采取的主要教学方法及在教学过程中所需要的基本实验仪器、设备、教学辅助设施等。 4.实践环节:提出本课程所学需要的实践环节,如实验、上机、课程设计、课程实习等,确定其名称、主要内容与要求和学时分配。 5.学时数分配:说明学时数(用表格形式表示),分章列出讲授、实验、讨论和习题时数等。 6. 本门课程与其他课程关系:简要说明本课程与相关课程的关系及学生在学习本课程之前应具备的基础知识。 7.推荐教材及参考书。 8.课程考试与评估:简要说明本课程的考核形式及评估方法。如:考核形式:应用性独立作业、课堂回答和解决问题、闭卷考试几种形式相结合。评估方法:注重多元评价,知识与能力并重;总结性评价与形成性评价并重;学校职能部门评价、教师自评、互评与学生评价相结合,发挥评价对教师教学和学生学习的激励性功能。 9.一些说明:可对本课程相关问题,如教学内容的详略和增删处理上等作一些补充说明。 第二部分为“教学内容纲要”部分。这一部分是对课程内容的具体说明,具体的教学内容要按章节顺序编写。 每一章要说明以下3项内容:1.该章的基本要求与基本知识点。2.要求学生掌握的基本概念、理论、原理。3.教学重点和难点。 每一节要详细说明本节的具体教学内容和学时要求。内容详略以能表达清楚知识、技能的范围和深度为限,充分反映课程的知识和技能要求,体现出课程的特点。

数据结构实验报告

数据结构实验报告 一.题目要求 1)编程实现二叉排序树,包括生成、插入,删除; 2)对二叉排序树进行先根、中根、和后根非递归遍历; 3)每次对树的修改操作和遍历操作的显示结果都需要在屏幕上用树的形状表示出来。 4)分别用二叉排序树和数组去存储一个班(50人以上)的成员信息(至少包括学号、姓名、成绩3项),对比查找效率,并说明在什么情况下二叉排序树效率高,为什么? 二.解决方案 对于前三个题目要求,我们用一个程序实现代码如下 #include #include #include #include "Stack.h"//栈的头文件,没有用上 typedefintElemType; //数据类型 typedefint Status; //返回值类型 //定义二叉树结构 typedefstructBiTNode{ ElemType data; //数据域 structBiTNode *lChild, *rChild;//左右子树域 }BiTNode, *BiTree; intInsertBST(BiTree&T,int key){//插入二叉树函数 if(T==NULL) { T = (BiTree)malloc(sizeof(BiTNode)); T->data=key; T->lChild=T->rChild=NULL; return 1; } else if(keydata){ InsertBST(T->lChild,key); } else if(key>T->data){ InsertBST(T->rChild,key); } else return 0; } BiTreeCreateBST(int a[],int n){//创建二叉树函数 BiTreebst=NULL; inti=0; while(i

《数据结构》课程标准

《数据结构》课程标准 英文名称:DataStructure 学分: 4 适用专业:嵌入式系统工程 一、课程性质 《数据结构》是嵌入式系统工程专业的一门专业基础必修课程。本课程面向Android软件工程师的岗位需求,针对JDK1.6,主要讲述集合、线性表、堆栈和队列、树和二叉树、查找和排序等基本数据结构和算法。本课程着重基本知识的掌握和基本技能的训练,为利用Java语言进一步开发基于Android的APP应用奠定基础。 二、课程理念 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。精心选择的数据结构可以带来更高的运行或存储效率,数据结构往往同高兴的检索算法和索引技术有关。 将CDIO理念应用在数据结构课程中。CDIO是近年来国际工程教育改革的最新成果。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。 1、课程地位理念 在许多类型的程序设计中,数据结构的选择是一个基本的设计考虑因素。许多大型的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法随之确定,是数据而不是算法是系统构造的关键因素。 2、课程学情理念 本课程开设在嵌入式系统工程专科第一学期,学生在学习本课程前已具备计算机基础、java基础等知识,本课程力图让学生学会在java语言环境下,运用面向对象的思想编写规范的代码,实现经典的数据结构和算法。熟悉常用的数据结构和算法,使学生初步具备一个优秀的软件开发人员所应有的基本能力。 3、课程内容理念 根据本课程的教学目标,确定了课程内容体系结构的五个组成部分:集合结构、线性表、堆栈和队列、树和二叉树、查找和排序。内容主要包括:绪论、集合结构的线性存储实现方法、集合结构的链式存储实现方法、线性表、有序线性表、堆栈、队列、树、二叉树、二叉树的遍历、顺序查找、折半查找、插入排序、选择排序等。 4、课程要求理念 《数据结构》是一门偏重理论的课程,有很强的理论性。在多年的教学研究和教学实践中,《数据结构》形成了独具特色的“七化”教学方法,即教学资源立体化、教师精讲主导化、学生学习团队化、教学过程流水化、程序项目核心化、知识技能点索引化、和java语言结合化。 5、课程考核理念 如何客观反映出学生对数据结构的理解、掌握、综合应用的实际情况,传统的闭卷考试有不完善的地方,应该对考核内容和形式进行适当的调整,过程评价与终结评价相结合,形成全方位、更加公正客观的评价体系。考核方法采用“N+2”成绩评定方式,采用“课堂考勤+课堂笔记+期末考试”的方式。 三、课程目标 (一)总目标

建筑结构课程标准.doc

《建筑结构》课程标准 课程名称:建筑结构 课程性质:《建筑结构》属于专业学习领域课程。 学分: 4 适用专业:工程监理专业 1.前言 1.1 课程定位 《建筑结构》是一门实用性较强的专业课程,是是工程监理及相关专业学生需要 具有的主要技能和本领的学习领域。本课程涉及的学科较广,综合性强,是高等职业学校工程监理专业的专业学习领域课程。本课程应在学生在校学习的第三学 期开设,学生应在学习之前应具备《建筑材料》、《建筑制图》、《建筑力学》及《建筑构造》等专业知识,是一门涉及面广、实践性强、综合性大的课程,主要侧重 于培养学生的应用性和实用性。 1.2 设计思路 根据建筑工程技术行业专家对本专业岗位群工作任务及职业能力分析,引进德国职业教育以“工作过程为导向”的教学方法,改革传统教学模式。通过方法和任 务推动真实的学习过程,学习者作为行动者成为课堂的中心,在专业、方法及社会能力上,以行动导向式教学培养培养学生全面的人格。 2.课程目标 2.1 知识目标 通过课堂教学与实训项目,使学生掌握钢筋混凝土、砌体结构、钢结构和钢筋混凝土单层厂房构件的计算原理和方法,掌握混合结构、框架结构的设计的计算方 法及施工图的绘制,培养学生计算、绘图技能,并训练学生运用结构设计规范、结构设计手册、标准图集等设计资料的能力。.

2.2 能力目标 1.能够对荷载进行分类,并对永久荷载标准值、活荷载标准值、活荷载组合值进行计算,能够在结构极限状态设计中正确取值; 2.能够对钢筋混凝土受弯构件、受压构件、受拉构件进行承载力计算,能够对钢筋混凝土构件进行挠度计算和裂缝宽度计算; 3.能够进行现浇钢筋混凝土单向板肋形楼盖设计; 4.能够进行单层工业厂房荷载和排架内力的简单计算; 5.能够进行砌体结构刚性方案房屋计算; 6.能够进行钢结构中轴心受力构件、受弯构件、偏心受力构件和受扭构件的承载力计算; 7.能够对常见的结构施工图进行识读。 2.3 素质目标 1.具有较好的学习新知识和技能的能力; 2.具有解决问题的方法能力和制定工作计划的能力; 3.具有综合运用知识与技术从事程度较复杂的技术工作的能力; 4.具有自学能力、理解能力与表达能力; 5.具有良好的职业道德和敬业精神; 6.具有团队意识及妥善处理人际关系的能力; 7.具有沟通与交流能力; 8.具有计划组织能力和团队协作能力。 3.课程内容与要求 建筑结构学习领域( 72 学时,其中课堂教学58 学时,实践教学 14 学时)参考课时能力要求工作任务学习项目序

数据结构实验十一:图实验

一,实验题目 实验十一:图实验 采用邻接表存储有向图,设计算法判断任意两个顶点间手否存在路径。 二,问题分析 本程序要求采用邻接表存储有向图,设计算法判断任意两个顶点间手否存在路径,完成这些操作需要解决的关键问题是:用邻接表的形式存储有向图并输出该邻接表。用一个函数实现判断任意两点间是否存在路径。 1,数据的输入形式和输入值的范围:输入的图的结点均为整型。 2,结果的输出形式:输出的是两结点间是否存在路径的情况。 3,测试数据:输入的图的结点个数为:4 输入的图的边得个数为:3 边的信息为:1 2,2 3,3 1 三,概要设计 (1)为了实现上述程序的功能,需要: A,用邻接表的方式构建图 B,深度优先遍历该图的结点 C,判断任意两结点间是否存在路径 (2)本程序包含6个函数: a,主函数main() b,用邻接表建立图函数create_adjlistgraph() c,深度优先搜索遍历函数dfs() d,初始化遍历数组并判断有无通路函数dfs_trave() e,输出邻接表函数print() f,释放邻接表结点空间函数freealgraph() 各函数间关系如右图所示: 四,详细设计 (1)邻接表中的结点类型定义:

typedef struct arcnode{ int adjvex; arcnode *nextarc; }arcnode; (2)邻接表中头结点的类型定义: typedef struct{ char vexdata; arcnode *firstarc; }adjlist; (3)邻接表类型定义: typedef struct{ adjlist vextices[max]; int vexnum,arcnum; }algraph; (4)深度优先搜索遍历函数伪代码: int dfs(algraph *alg,int i,int n){ arcnode *p; visited[i]=1; p=alg->vextices[i].firstarc; while(p!=NULL) { if(visited[p->adjvex]==0){ if(p->adjvex==n) {flag=1; } dfs(alg,p->adjvex,n); if(flag==1) return 1; } p=p->nextarc; } return 0; } (5)初始化遍历数组并判断有无通路函数伪代码: void dfs_trave(algraph *alg,int x,int y){ int i; for(i=0;i<=alg->vexnum;i++) visited[i]=0; dfs(alg,x,y); } 五,源代码 #include "stdio.h" #include "stdlib.h" #include "malloc.h" #define max 100 typedef struct arcnode{ //定义邻接表中的结点类型 int adjvex; //定点信息 arcnode *nextarc; //指向下一个结点的指针nextarc }arcnode; typedef struct{ //定义邻接表中头结点的类型 char vexdata; //头结点的序号 arcnode *firstarc; //定义一个arcnode型指针指向头结点所对应的下一个结点}adjlist; typedef struct{ //定义邻接表类型 adjlist vextices[max]; //定义表头结点数组

《建筑结构》课程标准

附件1 xxxx学院 《建筑结构》课程标准 1.范围 本标准适用于xxxx学院各相关专业。 学时范围:72 学时。 2.制定本标准的依据 2.1 教育部教高[2000]2号:《高等职业学校、高等专科学校和成人高等学校教学管理要点》。 2.2教育部教高[2006]16号:《关于全面提高高等职业教育教学质量的若干意见》。 2.3xxxx学院各相关《专业人才培养计划》。 2.4 《中华人民共和国职业技能鉴定规范·各相关工种》。 3. 课程性质与作用 建筑结构是建筑工程管理专业的一门专业课,属必修课性质。它包括混凝土结构、预应力结构、砌体结构和钢结构几部分。本课程培养学生科学严谨的工作态度耦合创造性工作能力,培养学生热爱专业,热爱本职工作的精神,培养学生一丝不苟的学习态度和工作作风。 通过本课程的学习,要求学生达到以下基本要求:a.具有进行一般结构构件(受弯、轴向受压构件)截面设计与承载力复核的能力;b.具有一般多层混凝土结构设计的能力;c.具有分析和处理实际施工过程中遇到的一般结构问题的能力;d.具有正确识读结构施工图的能力。 由于《建筑结构》课程具有较强的实际应用型,因此本课程在学生职业能力培养和职业素质养成两个方面起支撑和促进作用。 4.本课程与其它课程的关系

5. 课程总体设计思路 5.1课程设置依据 根据高职高专人才培养目标及高职高专的特点设置,并顺应实践领域对学生的要求。 5.2课程目标定位 《建筑结构》是一门实用性较强的专业课程,是建筑工程管理及相关专业学生需要具有的主要技能和本领域的学习领域。本课程涉及的学科较广,综合性强,是高等职业学校建筑工程管理专业的专业学习领域课程。本课程在学生在校学习的第三学期开设,学生应在学习之前应具备《建筑材料》、《建筑制图》、《建筑力学》、《建筑构造》等专业知识,是一门涉及面广、实践性强、综合性大的课程,主要侧重于培养学生的应用性和实用性。 5.3课程内容选择原则 根据建筑行业专家对本专业岗位群工作任务及职业能力分析,以及以改革传统教学模式为要求,来选择课程内容。 5.4课程项目设计(或学习情景设计等) 通过方法和任务推动真实的学习过程,学习者作为行动者成为课堂的中心,在专业、方法及社会能力上,以行动导向式教学培养学生全面的人格。 6.课程目标 6. 1知识目标 通过课堂教学与实训项目,使学生掌握钢筋混凝土、砌体结构、钢结构和钢筋混凝土单层厂房构件的计算原理和方法,掌握混合结构、框剪结构的设计的计算方法及施工图的绘制,培养学生计算、绘图技能,并训练学生运用结构设计规范、结构设计手册、标准图集等设计资料的能力。 6. 2能力目标 1.能够对荷载进行分类,并对永久荷载标准值,活荷载标准值、活荷载组合值进行计算, 能够在结构极限状态设计中正确取值; 2.能够对钢筋混凝土受弯构件、受压构件、受拉构件进行承载力计算,能够对钢筋混凝 土构件进行挠度计算和裂缝宽度计算; 3.能够进行现浇钢筋混凝土单向板肋形楼盖设计; 4.能够进行单层工业厂房荷载和排架内力的简单计算; 5.能够进行砌体结构刚性方案房屋计算; 6.能够进行钢结构中轴心受力构件、受弯构件、偏心; 7.能够对常见的结构施工图进行识读。 6. 3素质目标 1.具有较好的学习新知识和技能的能力; 2.具有解决问题的方法能力和制定工作计划的能力; 3.具有综合运用知识与技术从事程度较复杂的技术工作的能力;

《数据结构》课程标准.doc

《数据结构》课程标准 适用专业:计算机应用技术、大数据技术 学时:72 前导课程:计算机应用基础、C语言程序设计 一、课程性质 《数据结构》是大数据应用专业的一门专业基础必修课程。本课程面向Android软件工程师的岗位需求,主要讲述集合、线性表、堆栈和队列、树和二叉树、查找和排序等基本数据结构和算法。本课程着重基本知识的掌握和基本技能的训练,为利用c语言进一步处理数据奠定基础。 二、课程理念 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。精心选择的数据结构可以带来更高的运行或存储效率,数据结构往往同高兴的检索算法和索引技术有关。 1、课程地位理念 在许多类型的程序设计中,数据结构的选择是一个基本的设计考虑因素。许多大型的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。选择了数据结构,算法随之确定,是数据而不是算法是系统构造的关键因素。 2、课程学情理念 本课程开设在嵌入式系统工程专科第一学期,学生在学习本课程前已具备计算机基础、C语言基础等知识,本课程力图让学生学会在C语言环境下,运用面向对象的思想编写规范的代码,实现经典的数据结构和算法。熟悉常用的数据结构和算法,使学生初步具备一个优秀的软件开发人员所应有的基本能力。 3、课程内容理念 根据本课程的教学目标,确定了课程内容体系结构的五个组成部分:集合结构、线性

表、堆栈和队列、树和二叉树、查找和排序。内容主要包括:绪论、线性表、有序线性表、堆栈、队列、树、二叉树、二叉树的遍历、顺序查找、折半查找、插入排序、选择排序等。 4、课程要求理念 《数据结构》是一门偏重理论的课程,有很强的理论性。在多年的教学研究和教学实践中,《数据结构》形成了独具特色的“七化”教学方法,即教学资源立体化、教师精讲主导化、学生学习团队化、教学过程流水化、程序项目核心化、知识技能点索引化、和C 语言结合化。 5、课程考核理念 如何客观反映出学生对数据结构的理解、掌握、综合应用的实际情况,传统的闭卷考试有不完善的地方,应该对考核内容和形式进行适当的调整,过程评价与终结评价相结合,形成全方位、更加公正客观的评价体系。考核方法采用“N+2”成绩评定方式,采用“课堂考勤+课堂实训练习+期末考试”的方式。 三、课程目标 (一)总目标 为学生的职业素质和职业技能的形成服务;为今后学习大数据处理技术奠定坚实的基础;为IT企业输送高质量的从业者。 (二)分目标 1、知识目标 (1)了解数据结构课程的体系结构,掌握数据结构的基本概念和基础知识。 (2)掌握线性表结构,能够运用C语言实现线性表结构; (3)掌握堆栈和队列以及树和二叉树结构。 (4)掌握查找和排序算法,并且结合项目达到在项目中运用的能力; 2、能力目标 (1)使学生初步具备一个优秀的软件开发人员所应有的基本能力:会编写基本的算法、会利用数据结构解决基础编程语言不能直接表达的数据; (2)为学生利用C进一步研究与学习大数据处理技术奠定基础。 3、情感态度价值观目标 (1)规范意识:让学生学会编写规范代码,熟悉常用程序设计技巧。 (2)团队精神:培养学生的合作精神、协调工作和组织管理的能力。 (3)探究精神:关注学科发展趋势和应用前景,注重培养学生的对新技术的探究精神。

2011版小学数学课程标准解读(全)

解读《义务教育小学数学课程标准》(2011年版)一 【新旧课标比较】与旧课标相比,新课标从基本理念、课程目标、内容标准 到实施建议都更加准确、规范、明了和全面。具体变化如下: 一、总体框架结构的变化 2001年版分四个部分:前言、课程目标、内容标准和课程实施建议。 2011年版把其中的“内容标准”改为“课程内容”。前言部分由原来的基本理念和设计思路,改为课程基本性质、课程基本理念和课程设计思路三部分。 二、关于数学观的变化 2001年版: 数学是人们对客观世界定性把握和定量刻画、逐渐抽象概括、形成方法和理论,并进行广泛应用的过程。 数学作为一种普遍适用的技术,有助于人们收集、整理、描述信息,建立数学模型,进而解决问题,直接为社会创造价值。 2011年版: 数学是研究数量关系和空间形式的科学。 数学作为对于客观现象抽象概括而逐渐形成的科学语言与工具。 数学是人类文化的重要组成部分,数学素养是现代社会每一个公民应该具备的基本素养。 三、基本理念“三句”变“两句”,“6条”改“5条” 2001年版“三句话”: 人人学有价值的数学,人人都能获得必需的数学,不同的人在数学上得到不同的发展。 2011年版“两句话”: 人人都能获得良好的数学教育,不同的人在数学上得到不同的发展。 “6条”改“5条”: 在结构上由原来的6条改为5条,将2001年版的第2条关于对数学的认识整合到理念之前的文字之中,新增了对课程内容的认识,此外,将“数学教学”与“数学学习”合并为数学“教学活动”。 2001年版:数学课程——数学——数学学习——数学教学活动——评价——现代信息技术 2011年版:数学课程——课程内容——教学活动——学习评价——信息技术 四、理念中新增加了一些提法 要处理好四个关系 数学课程基本理念(两句话) 数学教学活动的本质要求 培养良好的数学学习习惯 注重启发式 正确看待教师的主导作用 处理好评价中的关系

数据结构实验---图的储存与遍历

数据结构实验---图的储存与遍历

学号: 姓名: 实验日期: 2016.1.7 实验名称: 图的存贮与遍历 一、实验目的 掌握图这种复杂的非线性结构的邻接矩阵和邻接表的存储表示,以及在此两种常用存储方式下深度优先遍历(DFS)和广度优先遍历(BFS)操作的实现。 二、实验内容与实验步骤 题目1:对以邻接矩阵为存储结构的图进行DFS 和BFS 遍历 问题描述:以邻接矩阵为图的存储结构,实现图的DFS 和BFS 遍历。 基本要求:建立一个图的邻接矩阵表示,输出顶点的一种DFS 和BFS 序列。 测试数据:如图所示 题目2:对以邻接表为存储结构的图进行DFS 和BFS 遍历 问题描述:以邻接表为图的存储结构,实现图的DFS 和BFS 遍历。 基本要求:建立一个图的邻接表存贮,输出顶点的一种DFS 和BFS 序列。 测试数据:如图所示 V0 V1 V2 V3 V4 三、附录: 在此贴上调试好的程序。 #include #include #include V0 V1 V4 V3 V2 ??? ? ??? ? ????????=010000000101010 1000100010A 1 0 1 0 3 3 4

#define M 100 typedef struct node { char vex[M][2]; int edge[M ][ M ]; int n,e; }Graph; int visited[M]; Graph *Create_Graph() { Graph *GA; int i,j,k,w; GA=(Graph*)malloc(sizeof(Graph)); printf ("请输入矩阵的顶点数和边数(用逗号隔开):\n"); scanf("%d,%d",&GA->n,&GA->e); printf ("请输入矩阵顶点信息:\n"); for(i = 0;in;i++) scanf("%s",&(GA->vex[i][0]),&(GA->vex[i][1])); for (i = 0;in;i++) for (j = 0;jn;j++) GA->edge[i][j] = 0; for (k = 0;ke;k++) { printf ("请输入第%d条边的顶点位置(i,j)和权值(用逗号隔开):",k+1); scanf ("%d,%d,%d",&i,&j,&w); GA->edge[i][j] = w; } return(GA); } void dfs(Graph *GA, int v) { int i; printf("%c%c\n",GA->vex[v][0],GA->vex[v][1]); visited[v]=1;

课程标准-工程构造1

工程造价专业“工程构造”课程标准 二○一○年四月

一、课程定位 1. 课程性质 工程构造是建筑工程类专业非常重要的一门专业基础课,课程以工程识图与工程制图知识为基础,全面系统的认识建筑物的整体构造、各部分的细部构造、建筑施工图的识读。课程以系统知识为主,结课课堂实训等操作环节以达到培养学生岗位能力的目标。 2. 课程定位 在“工程造价专业”的培养目标中,本课程主要培养预算员岗位能力要求中的专业识图能力,课程学习后学生能够熟练识读各专业工程图纸中的建筑施工图部分,掌握一定的建筑规范识读与应用能力。 本课程序前置和后续课程如下图。 3. 课程任务 本课程的主要是为后续专业课程打基础,学生能够准确的识读建筑平立剖面施工图及各节点详图,能够准确认识建筑构造及其细部节点构造的图纸及实物,对建筑工程各构件使用材料能够详细的识别并合理应用,能够绘制基本的建筑平立剖面施工图,同时具备团队合作能力。 4.课程目标 一般建筑工程主要分为民用与工业两大类,本课程主要掌握民用建筑的宏观构成及细部组成,工业建筑的宏观构造识读,使学生具备识图、实操、合作等多方面综合知识。具体分为以下三类: 1.专业能力 (1)了解建筑物的分类。 (2)了解建筑平立剖的基本设计原理与常用设计形式、设计尺寸。

(3)能够识读不同建筑物的各组成部分及其类别。 (4)能够识读建筑物各构件的详细构造。 (5)能够掌握建筑抗震、防火、耐久等要求的构造方法。 2.方法能力 (1)具备认识及判断建筑物类型的能力。 (2)具备识读、绘制建筑平、立、剖、详图的能力。 (3)认识各建筑物组成部分,并能够绘制构造节点施工图。 (4)认识各种建筑材料在各不同建筑构件中的应用,并能够熟练的选择并应用建筑材料。 (5)能够进行简单的建筑平面设计及楼梯平面设计。 3.社会能力 (1)具有良好的职业道德和敬业精神。 (2)具有良好的资源收集、处理能力。 (3)具有良好的沟通能力与团队协作精神。

数据结构课程教学大纲

《数据结构》教学大纲 课程性质专业必修课 课程名称数据结构课程编号*04069 适用专业计算机科学与技术/软件工程开课学期第3学期 总学时64 理论50 学分数 4 实践14 一、课程性质与目标 数据结构课程属于专业必修课。通过本课程数据结构的学习,学生应实现如下目标: 1.知识目标:本课程主要讲述线性表、栈、队列、字符串、数组、树、二叉树、图、查找表、内部排序等常用数据结构的基本概念、操作及其典型应用例子。通过本课程的学习,应使学生掌握数据结构的概念及不同的存储结构、掌握一些典型算法原理和方法,且能够在不同存储结构上实现编程,同时,对于算法设计的方式和技巧也有所体会。 2.能力目标 (1)独立获取知识的能力——逐步掌握科学的学习方法,不断地扩展知识面,增强独立思考的能力,更新知识结构; (2)科学观察和思维的能力——运用数据结构的基本理论,熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构。 (3)分析问题和解决问题的能力——学会利用数据结构原理分析实际问题,提高发现问题与解决问题的能力。对部分优秀的学生,培养其在知名程序设计在线评测系统(如POJ等)中求解实际问题的能力。 (4)求实精神——通过数据结构理论课程教学,培养学生严谨求实的科学态度和刻苦钻研的作风。 (5)实践能力——通过学习,有意识地培养学生编写高质量、高效率程序的能力和风格。 3.素质目标:使学生具备一定的计算思维,热爱算法设计和程序实现,面对实际问题能转换为计算机能够求解的过程并选择合适的数据结构,设计出在时间和空间上具备一定高效率的程序,培养学生学习算法设计与实现的细心和耐心,培养学生坚韧不拔,攀登技术高峰的优秀品质。让部分优秀的学生热爱上湖南省大学生程序设计竞赛,体会ACM程序设计竞赛的魅力。 二、课程教学基本要求 课程前应该认真预习,特别是前导课程相关知识体系; 课中应该认真听课,参与教学过程中的互动、回答问题及联系实际编程; 课后积极做好复习、认真完成作业及课程设计相关实践教学的环节。作业应具备一定实用性的数据结构和算法实现为主,对部分优秀学生,引入一定量的知名程序设计在线评测系统(如POJ等)中与数据结构相关的题目进行编程并在线提交验证正确性与时间、空间效率。 三、教学内容与学时分配

国家课程标准框架

国家课程标准框架 一、课程标准的结构框架二、课程标准的主要特点 前言部分突破学科中心 课程目标部分改善学习方式 内容标准部分体现评价促进学生发展的教育功能,"评价建议"有更强的操作性 实施建议部分为课程实施提供了广阔空间 课程标准是教材编写、教学、评估和考试命题的依据,是国家管理和评价课程的基础。它是整个基础教育课程改革系统工程中的一个重要枢纽。 课程标准的结构框架 课程标准与教学大纲的框架结构对照图 国际比较研究表明,不同国家或地区颁布的课程标准,其体例、结构、表述与呈现方式等方面差异巨大,但同一个国家或地区颁布的课程标准,在上述各个方面则具有惊人的相似性。下面呈现的是本次课程改革中,国家课程标准的总体结构框架与现行教学大纲的对照,各学科课程标准根据各自特定的要求,在具体体例、风格上存在一定的差异。 工作在第一线的教师和教研员都熟悉各学科教学大纲,它不仅对教学目标和教学内容做出了明确的规定,而且用大量的篇幅具体规定了日常教学中所可能涉及到的所有知识点的要求;大多数学科的教学大纲还规定了具体的教学顺序及各部分内容所占的课时数;教师在学习和使用教学大纲时,主要关心的是知识点发生了哪些变化?增加或

删减了哪些内容?具体的要求和课时数是多少?在规定的时间内能否完成教学任务和达到教学目标? 课程标准关心的是课程目标、课程改革的基本理念和课程设计思路;关注的是学生学习的过程和方法,以及伴随这一过程而产生的积极情感体验和正确的价值观;教师在使用课程标准的过程中,主要关注的是如何利用各门学科所特有的优势会促进每一个学生的健康发展;而不是仅仅关心学生对某个结论是否记住,记得是否准确?某项技能是否形成,并且运用起来是否得心应手? 在对课程标准征求意见的过程中,各地在近60万字的评估报告中用“催人奋进”、“展现了中国教育现代化的新曙光”、“春风扑面”等词语来表达对课程标准的认同。事实上,各课程标准研制组的专家们在研制过程中最为苦恼,也最费思量的问题就是如何才能保证国家课程改革的总体思路,能够在学科课程标准中得到切实体现,使素质教育理念能够浸透在文本的字里行间。现在看来,专家们的努力是有成效的。 前言部分 这一部分对课程的性质、价值与功能做了定性描述,阐述了各学科课程领域改革的基本理念,并对课程标准的设计思路做了详细的说明。以物理课程标准为例,其课程的基本理念主要概括为: ?注重全体学生的发展,改变学科本位的观念; ?从生活走向物理,从物理走向社会; ?注重科学探究,提倡学习方式多样化; ?注意学科渗透,关心科技发展; ?构建新的评价体系。 而地理课程标准的基本理念是: ?学习对生活有用的地理; ?学习时终身发展有用的地理; ?改变地理学习方式; ?构建开放式地理课程; ?构建基于现代信息技术的地理课程; ?建立学习结果与学习过程并重的评价机制。

数据结构实验报告图实验

邻接矩阵的实现 1. 实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现2. 实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历3.设计与编码MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; }

int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: " cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } }

数据结构-教学大纲

《数据结构》教学大纲 课程编号:071213A 课程类型:□通识教育必修课□通识教育选修课 □专业必修课□专业选修课 ■学科基础课 总学时:48讲课学时:32 实验(上机)学时:16 学分:3 适用对象:计算机科学与技术专业 先修课程: 程序设计基础与应用、计算机基础 一、教学目标 本课程是计算机科学与技术专业的必修课。本课程是计算机科学与技术专业的核心课程,既重视学生相关理论的系统学习,又强调培养学生发现问题、分析问题和解决问题的实践能力。《数据结构》在计算机科学中是一门综合性的专业主干课,它是介于数学、计算机硬件、计算机软件三者之间的一门核心课程,而且是操作系统、数据库系统及其它系统程序的大型应用程序设计的基础,同时又直接为从事各类计算机应用的技术人员提供了必要的基本知识和解决实际问题的多种方法。 用计算机解决任何问题都需要进行数据表示和数据处理,而数据表示和数据处理正是《数据结构》要研究的内容。《数据结构》主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法的分析和评价。该课程逻辑上以线性结构、层次结构、网状结构为主线,物理上分顺序存储、链式存储,分别介绍基本数据结构的特点和算法。并重点介绍有关各种检索、排

序和文件组织的常用算法。通过上述知识的学习和能力的提高,为后续学习和实际工作打下良好的知识基础和能力基础。 目标1:通过对数据结构基本知识进行讲解,让学生理解并掌握数据的逻辑结构和物理结构,并掌握算法设计的基本思想。 目标2:培养学生分析算法复杂度的初步能力,锻炼学生逻辑思维能力和想象能力,并使之了解数据结构的各种应用场景。 目标3:鼓励学生运用算法知识解决各自学科的实际问题,培养他们的独立科研的能力和理论联系实际的能力。 二、教学内容及其与毕业要求的对应关系 (一)教学内容 1.知识体系 第一部分:数据结构的基本概念,包括数据、数据元素、数据项等基本概念、数据类型、抽象数据类型、算法的定义、算法的特性、算法的时间代价、算法的空间代价; 第二部分:线性表的逻辑结构特性,以及线性表的两种存储实现方式;顺序表的定义与实现,包括搜索、插入、删除算法的实现及其平均比较次数的计算;单链表的类定义、构造函数、单链表的插入与删除算法及其平均比较次数的计算; 第三部分:栈的定义、特性和栈的抽象数据类型,栈的顺序表示、链表表示以及相应操作的实现;队列的定义、特性和队列的抽象数据类型,队列的顺序表示、链表表示以及相应操作的实现; 第四部分:串的定义,串的表示和实现,串的操作的定义; 第五部分:数组的两种存储表示方法;矩阵的压缩存储; 第六部分:树和森林的概念。包括树的定义、树的术语、树的抽象数据类型;二叉树的概念、性质及二叉树的表示;二叉树的遍历方法;线索化二叉树的特性及寻找某结点的前驱和后继的方法;树与森林的实现,重点在用二叉树实现;森林与二叉树的转换;树的遍历算法;二叉树的计数方法及从二叉树遍历结果得到

数据结构实验

实验1 (C语言补充实验) 有顺序表A和B,其元素值均按从小到大的升序排列,要求将它们合并成一 个顺序表C,且C的元素也是从小到大的升序排列。 #include main() { intn,m,i=0,j=0,k=0,a[5],b[5],c[10];/* 必须设个m做为数组的输入的计数器,不能用i ,不然进行到while 时i 直接为5*/ for(m=0;m<=4;m++)scanf("%d",&a[m]);// 输入数组a for(m=0;m<=4;m++)scanf("%d",&b[m]);// 输入数组b while(i<5&&j<5) {if(a[i]b[j]){c[k]=b[j];k++;j++;} else{c[k]=a[i];k++;i++;j++;}// 使输入的两组数组中相同的数只输出一 个 } if(i<5) for(n=i;n<5;n++) {c[k]=a[n];k++;} elseif(j<5) for(n=j;n<5;n++) {c[k]=b[n];k++;} for(i=0;i

求A QB #include main() { inti,j,k=0,a[5],b[5],c[5];//A=a[5],B=b[5],A n B=c[5] for(i=0;i<5;i++)scanf("%d",&a[i]);// 输入a 数组 for(i=0;i<5;i++)scanf("%d",&b[i]);〃输入b 数组 for(i=0;i<5;i++) {for(j=0;j<5;j++) if(a[i]==b[j]){c[k]=a[i];k++;}// 当有元素重复时,只取一个放入 c 中} for(i=0;i #defineN4 main() { inti,j,m,k,a[N+1];//k 为最后输出数组的长度变量

数据结构课程教学大纲共三套

数据结构课程教学大纲(三套) 《数据结构》课程教学大纲(36/36课时) 一、课程的性质和任务 数据结构是计算机及应用专业中一门重要的专业基础课程,在计算机软件的各个领域中均会使用到数据结构的有关知识。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打开厚实的基础。因此,数据结构课程在计算机应用专业中具有举足轻重的作用。 本课程的任务是:在基础方面,要求学员掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。总言之,使应用者较全面的掌握各种常用的数据结构,提高运用数据结构解决实际问题的能力。 二、课程的基本要求 本课程的教学基本要求如下: 本课程要求理论必须与上机实践操作相结合,多做题和调试算法,实现算法。实践项目只利用课堂时间是不够的,必须提前布置给学生。通过本课程的学习与实践,学生应达到: 1、掌握数据结构的基本概念和基本理论; 2、熟练掌握顺序表、链表、队列、栈、树以及二叉树、图等基本数据结构的设计和分析; 3、熟练地掌握常用算法(递归、遍历、查找、排序)的知识; 4、能对所求解的问题进行分析,抽象出逻辑结构,选择合适的存储结构,定义所需的运算,设计相应的算法; 5、对算法进行分析和评价。

三、教学内容(一)理论教学

(二)实践环节

四、课时分配 《数据结构》课程共4学分,课内72学时,其中理论课36学时,上机36学时。 五、大纲说明 本课程必须理论与上机实践操作相结合,并要教、学、练相结合,讲清基本

相关文档
相关文档 最新文档