数据结构(本)教学大纲
《数据结构》课程教学大纲(三套)
数据结构课程教学大纲(三套)《数据结构》课程教学大纲(36/36 课时)一、课程的性质和任务数据结构是计算机及应用专业中一门重要的专业基础课程,在计算机软件的各个领域中均会使用到数据结构的有关知识。
当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打开厚实的基础。
因此,数据结构课程在计算机应用专业中具有举足轻重的作用。
本课程的任务是:在基础方面,要求学员掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。
总言之,使应用者较全面的掌握各种常用的数据结构,提高运用数据结构解决实际问题的能力。
二、课程的基本要求本课程的教学基本要求如下:本课程要求理论必须与上机实践操作相结合,多做题和调试算法,实现算法。
实践项目只利用课堂时间是不够的,必须提前布置给学生。
通过本课程的学习与实践,学生应达到:1、掌握数据结构的基本概念和基本理论;2、熟练掌握顺序表、链表、队列、栈、树以及二叉树、图等基本数据结构的设计和分析;3、熟练地掌握常用算法(递归、遍历、查找、排序)的知识;4、能对所求解的问题进行分析,抽象出逻辑结构,选择合适的存储结构定义所需的运算,设计相应的算法;5、对算法进行分析和评价。
三、教学内容(一)理论教学(二)实践环节四、课时分配《数据结构》课程共4学分,课内72学时,其中理论课36学时,上机36学时。
五、大纲说明本课程必须理论与上机实践操作相结合,并要教、学、练相结合,讲清基本概念,指出知识要点、重点和难点,并通过实例分析解决算法难点;要求学生认真预习、认真听课、认真思索、认真做实验, 通过对算法的编程实现来提高学生 由于内容多、 难度大, 要特别注重精讲多练, 实践项目一定 要提前布置给学生, 调动学生的主观能动性,鼓励学生多提 问题、共同探讨和解决问题。
数据结构课程教学大纲共三套
数据结构课程教学大纲(三套)《数据结构》课程教学大纲(36/36课时)一、课程的性质和任务数据结构是计算机及应用专业中一门重要的专业基础课程,在计算机软件的各个领域中均会使用到数据结构的有关知识。
当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打开厚实的基础。
因此,数据结构课程在计算机应用专业中具有举足轻重的作用。
本课程的任务是:在基础方面,要求学员掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。
总言之,使应用者较全面的掌握各种常用的数据结构,提高运用数据结构解决实际问题的能力。
二、课程的基本要求本课程的教学基本要求如下:本课程要求理论必须与上机实践操作相结合,多做题和调试算法,实现算法。
实践项目只利用课堂时间是不够的,必须提前布置给学生。
通过本课程的学习与实践,学生应达到:1、掌握数据结构的基本概念和基本理论;2、熟练掌握顺序表、链表、队列、栈、树以及二叉树、图等基本数据结构的设计和分析;3、熟练地掌握常用算法(递归、遍历、查找、排序)的知识;4、能对所求解的问题进行分析,抽象出逻辑结构,选择合适的存储结构,定义所需的运算,设计相应的算法;5、对算法进行分析和评价。
三、教学内容(一)理论教学(二)实践环节四、课时分配《数据结构》课程共4学分,课内72学时,其中理论课36学时,上机36学时。
五、大纲说明本课程必须理论与上机实践操作相结合,并要教、学、练相结合,讲清基本概念,指出知识要点、重点和难点,并通过实例分析解决算法难点;要求学生认真预习、认真听课、认真思索、认真做实验,通过对算法的编程实现来提高学生的理解和动手能力。
由于内容多、难度大,要特别注重精讲多练,实践项目一定要提前布置给学生,启发学生独立思考、调动学生的主观能动性,鼓励学生多提问题、共同探讨和解决问题。
数据结构-教学大纲
《数据结构》教学大纲一、基本信息二、教学目标及任务本课程作为计算机专业重要的主干课程,它要求学生学会分析和研究需解决的问题中的数据的特性,为其选择合适的数据结构来描述,在此数据结构的基础上写出相应的算法,并初步掌握算法的时间复杂度和空间复杂度的分析技术。
三、学时分配教学课时分配四、教学内容及教学要求第一章数据结构绪论(共4学时)基本内容:1)数据结构的概念2)数据的逻辑结构和存储结构3)算法教学要求:熟悉数据结构中各名词、术语的含义,掌握其基本概念;理解数据类型和抽象数据类型的含义;理解算法五个要素的确切含义,注意算法与程序的区别;掌握计算语句频度和估算算法时间复杂度的方法。
第二章线性表(共6学时)基本内容:1)线性表的概念及运算2)线性表的顺序存储结构—顺序表3)线性表的链式存储结构—链表教学要求:了解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构;熟练掌握这两类存储结构的描述方法,以及线性表的各种基本操作的实现;能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合;掌握用线性表来表示一元多项式的方法及相应操作的实现。
第三章栈和队列(共4学时)基本内容:1)栈2)队列教学要求:掌握栈和队列类型的特点,并能在相应的应用问题中正确选用它们;熟练掌握栈类型的两种实现方法,特别应注意栈满和栈空的条件以及它们的描述方法;熟练掌握循环队列和链队列的基本操作实现算法,特别注意队满和队空的描述方法;理解递归算法执行过程中栈的状态变化过程。
第四章数组和矩阵(共4学时)基本内容:1)数组2)特殊矩阵教学要求:了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法;掌握对特殊矩阵进行压缩存储时的下标变换公式;了解稀疏矩阵的三类压缩存储方法的特点和适用范围,领会以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法;了解广义表的结构特点及其存储表示方法。
数据结构课程教学大纲
《数据结构》课程教学大纲(本科)(黑体小三)第一部分:大纲说明(黑体四号)一、课程的性质和任务(黑体小四)《数据结构》是计算机专业本、专科生的一门必修课程。
本课程介绍如何组织各种数据在计算机中的存储、传递和转换。
内容包括:数组、链接表、栈和队列、递归、树与森林、图、堆与优先级队列、集合与搜索结构、排序、索引与散列结构等。
课程采用面向对象的观点讨论数据结构技术,并以兼有面向过程和面向对象双重特色的C++语言作为算法的描述工具,强化数据结构基本知识和面向对象程序设计基本能力的双基训练。
为后续计算机专业课程的学习打下坚实的基础。
二、先修课程(黑体小四)高级语言程序设计(Pascal或C语言)、离散数学。
三、课程的教学基本要求(黑体小四)1、掌握重要数据结构的概念、使用方法及实现技术;2、学会做简单的算法分析,包括算法的时间代价和空间代价。
四、教学方法和教学形式建议(黑体小四)面授为主,进行必要的上机实验。
五、课程教学要求的层次(黑体小四)1、熟练掌握:要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其知识分析、设计和解答相关的应用问题。
2、掌握:要求学生能够较好地理解和掌握,并且能够做简单的分析。
3、了解:要求学生能够一般地了解的所学内容。
第二部分:教材初步方案一、学时分配课程教学总学时数为96学时,其中讲授学时72,实验24二、教学环节1、面授(宋体小四加粗)本课程是计算机专业基础课,内容多且带有一定的抽象性,学习起来有一定难度。
为保证教学效果,采取集中授课方式。
聘请有经验的教师担任主讲教师,尽可能利用多种媒体进行教学,使学生能够很快掌握课程的主要知识和解决问题的方法。
2、面授辅导或答疑(宋体小四加粗)本课程教学过程中,面授辅导和答疑是必不可少的教学环节。
应聘请有经验、认真负责的教师任教,以习题课、专题讨论或答疑的方式,对课程中的重要概念和典型问题的解决方法进行总结和深入讨论,巩固和加深课堂内学到的知识。
《数据结构》课程教学大纲
数据结构课程教学大纲(DataStructure)学时数:72其中:实验学时:10课外学时:0学分数:4.5适用专业:网络工程一、课程的性质、目的和任务数据结构是计算机、网络工程专业的必修学科基础课程,主要介绍:线性表、栈、队列、数组、串、树、二叉树、图等基本数据结构及其应用;排序及查找的原理与方法;数据的存储结构。
通过本课程的学习使学生掌握基本数据结构的概念、特征、存贮结构及算法和算法分析的手段。
熟悉基本结构在计算机学科的应用,,训练学习使用高级语言编写合理算法的能力。
二、课程教学的基本要求(一)了解典型数据结构的逻辑关系,存贮结构,操作及算法的关系。
(二)熟练掌握各种基本数据结构的概念、特点、存贮方式、算法及分析评估。
(H)掌握基本算法分析方法。
(四)熟悉查找及排序的典型算法。
(五)针对实际问题,选择合理的数据结构及实现相应的操作。
三、课程的教学内容、重点和难点第一章概论(2学时)一、基本内容:(一)数据、数据元类、数据类型、数据结构。
(二)算法与数据结构的关系。
(H)算法的描述,评价标准及评估。
第一节:基本概念和术语第二节:抽象数据类型第三节:算法分析第四节:性能分析与度量二、基本要求:(一)熟悉数据结构基本概念第二章线性表(8学时)一、基本内容:(一)线性表的定义及抽象操作。
(二)线性表的两种存贮结构及算法。
(H )链表的应用举例。
线性表线性表的顺序表示与实现线性表的链式表示与实现链表一元多项式的表示与实现 二、基本要求:(一)掌握线性表的基本概念(二)掌握线性表的各种算法重点:线性表的基本操作。
难点:线性表的抽象操作,链表应用。
第三章栈和队列(8学时)一、基本内容:(一)队列、栈的定义及抽象操作。
(二)队列、栈的顺序存贮结构及相关算法。
(三)队列、栈的链式存贮结构及相关算法。
(四)多队列、栈的顺序存贮。
(五)栈的应用举例、栈与递归过程的关系。
第一节:栈第二节:队列 第三节:栈与队列的实现第四节:栈与队列的应用举例二、基本要求:(•)掌握队列、栈的基本概念(二)掌握队列、栈的各种算法(三)熟悉队列、栈的各种应用重点:队列、栈的各种算法。
《数据结构》教学大纲资料
《数据结构》教学大纲资料《数据结构》教学大纲适用专业:计算机科学与技术(本科)理论学时:72实践学时:36一、课程的性质、目的和任务1、课程性质数据结构就是计算机学科的一门专业基础理论课,就是计算机科学的核心课程之一。
它介乎数学、计算机硬件和软件三者之间,就是操作系统、数据库、编译系统等课程以及也计算机科学各领域及有关的应用软件研发的关键基础。
2、课程的教学目的本课程教学目的是使学生学会在非数值计算数学模型下分析计算机加工数据的理论和方法,掌握各种数据结构(线性表、堆栈与队列、树、图)的特性,为应用所涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并且灵活地进行各种数据结构的基本操作,同时初步掌握对算法的时间分析和空间效率分析。
另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力、良好的程序设计能力,为后续课程的学习及以后从事软件开发工作打下良好的基础。
3、课程的任务本课程,在自学基本数据结构(即为:线性表、栈、队列、串成、广义表中、一棵、图)及其基本操作算法的全过程中,秉持“既授人鱼,更授人以渔”,指导学生按照“非结构化→结构化→对象化→同构化”的特点自学和利用可以指导各种计算机语言展开数据结构算法同时实现的共性本质和方法,学会“举一反三、触类旁通,独立自主自学、力求技术创新”。
本课程,要求学生熟悉数据信息在计算机系统中的逻辑结构、物理结构,掌握各种数据结构(例如:线性表,堆栈与队列,树,图)特性,可把现实信息抽象成它所对应的、科学数据及其数据结构,能灵活运用各种数据结构及其基本操作解决实际问题的程序设计能力。
本课程,著重“算法+数据结构=程序设计”的课堂教学动手能力培育,通过“习题练、上机进修,课程设计”三位一体的训练,使得学生把理论自学和上机编程紧密融合出来,可以设计出来恰当、规范、严格、高效率的算法并能够编程同时实现,提升学生的逻辑思维能力、抽象化能力和应用领域能力。
《数据结构》课程设计教学大纲
《数据结构》课程设计教学大纲第一篇:《数据结构》课程设计教学大纲《数据结构》课程设计教学大纲适用专业:计算机科学与技术课程周数:2周一、大纲说明本大纲根据计算机科学与技术专业人才培养方案制订。
(一)课程设计性质课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个完整的课程教学体系。
(二)主要先修课程和后续课程1.先修课程:《C语言程序设计》2.后续课程:《计算机组成原理》、《操作系统》、《数据库系统原理》二、课程设计目的及基本要求《数据结构》是一门实践性强的课程,其中对算法设计和程序编写的掌握尤为重要。
学生虽然可以通过与课堂教学同步的上机实验完成相关内容的练习,但却往往局限于一些功能简单、彼此之间关系独立的算法和程序。
课程设计是一种综合训练,致力于培养学生全面、灵活的算法设计思想和较高的编程能力,为今后从事计算机开发与应用打下基础。
新世纪需要具有丰富科学知识、独立解决实际问题、有创造能力的新型人才,这也是该课程设计的最终目的。
三、课程设计内容及安排1、矩阵的转置、加减和相乘问题描述:采用十字链表存储的稀疏矩阵,完成矩阵转置、加减和相乘功能。
要求:1)采用函数形式完成转置、相加、相减和相乘;2)有输入数据合法性检查; 3)矩阵的存储采用动态数组;4)两个矩阵产生后要分别打印出来,完成相应处理后结果要打印出来;5)每一个函数要有必要的注释,在课程设计论文中有流程图。
2、线索二叉树问题描述:实现线索二叉树的生成、遍历、查找、插入和删除操作。
要求:1)各功能模块必须是单独的函数;2)线索二叉树是动态生存的;3)输入数据进行必要的合法性检查;4)执行每一个功能后,按二叉树广义表的表达方式打印输出,检查结果是否正确;5)每一个函数要有必要的注释,在课程设计论文中有流程图。
3、根据哈夫曼树的原理求n个自然数相加减后结果最小(中间结果、最后结果不能负)。
问题描述:实现线索二叉树的生成、遍历、查找、插入和删除操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构(本)》课程教学大纲第一部分大纲说明一、课程的性质与任务数据结构(本)是中央广播电视大学计算机科学与技术本科专业(专科起点)的统设必修、学位课程。
本课程4学分,72学时,其中实验24学时,开设一学期。
数据结构(本)是计算机科学技术与专业的一门重要的专业基础课。
主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法进行分析和评价。
课程的主要内容包括:数据结构和算法的基本概念、线性表、栈和队列、串、数组和广义表、树和图、查找和排序等。
通过本课程的学习,使学生较深入地理解数据的逻辑结构和物理结构,掌握有关算法和基本的程序设计技能,能编制高效且有一定难度的程序,为学习后续课程奠定基础。
课程以C语言作为数据结构和算法的描述工具。
教学环节包括理论教学和实验,教学中注重基础,突出应用,强化数据结构基本知识和程序设计基本能力的双基训练。
二、与相关课程的关系先修课程:C语言程序设计、离散数学。
后续课程:操作系统、数据库应用技术、软件工程等。
三、课程的教学要求1.掌握常用的数据结构的逻辑关系、存储结构、操作特点及有关应用。
2.掌握迭代、递归等程序设计技术,了解他们与相关的数据结构的关系。
3.掌握常用的查找、排序算法的基本原理和实现步骤。
4.能有效合理地利用所学数据结构,程序设计技术和相关算法解决简单实际应用问题。
5.了解数据结构在后续课程中的作用。
四、课程的教学方法和教学形式建议数据结构课程内容涉及面广,是一门理论性和实践性都很强的课程,在专业中具有承前启后的作用,是一门核心专业基础课。
如何根据实际问题的需要并结合算法的要求合理地选用相关的数据结构和正确使用程序设计技术,是本课程的重点和难点。
因此在教学中应注意以下几点:1.注重基础、突出应用、强化程序设计基本能力的训练。
由浅入深、由简单到复杂、由特殊到一般讲解相关概念和原理。
2.增加案例教学的比重,从分析典型的应用案例入手引出相关概念、理论和技术。
理论教学采用启发式教学方法,并适当组织课堂讨论。
实践教学可以组织学生进行“程序设计技术交流”。
3.对实验内容要制定实施方案和评测标准,保证学生的上机学时,使学生认真完成本课程所规定的实验,得到程序设计的训练和编程能力的提高。
4.日常的面授辅导应着重于重点归纳、难点剖析以及案例分析讨论等。
五、课程教学要求的层次本课程的教学要求分为掌握、理解和了解三个层次。
掌握是在理解的基础上加以灵活应用;理解是能正确表达有关概念和方法的含义,并且能够进行简单分析和判断;了解即能正确判别有关概念和方法。
在期末考核试卷中(涵盖实验内容),掌握的内容约占总分数的60%,理解的内容约占30%,了解的内容约占10%。
第二部分媒体使用与教学过程建议一、课程学时分配课程教学总学时数为72学时,4学分,其中授课学时为48学时(含面授、录像学时)实验课学时为24学时。
各章学时分配如下:二、多种媒体教材的总体说明本课程使用的教学媒体有:文字教材、录像教材、CAI课件和网上教学。
1.文字教材主要教学媒体。
文字教材的内容是教学大纲所规定的教学基本内容,是本课程教与学和考核的基本依据。
文字教材要求体系完整,适合成人自主学习的需求,体现电大教学的规律和特点。
2.录像教材辅媒体。
讲授课程的重点和难点,思路和方法。
充分利用电视教材直观性的特点,通过动画、演示等手段讲解抽象的概念和某些操作性内容的细节。
3.CAI课件辅媒体。
主要内容有算法执行过程演示、模拟实验、自测练习等。
通过交互式的设计,帮助学生掌握课程的重点和难点,提高算法和程序的分析、设计能力。
4.网上教学网上教学内容包括教学大纲、考核说明等教学文件,各章教学辅导、阶段性总结和复习,VOD点播,在线答疑等。
网上教学内容与教学进度同步,侧重于对学生学习过程的辅导。
三、教学环节1.自学自学是学生重要的学习手段,要求以文字教材为主,辅以录像教材、CAI课件、网上教学资源进行学习。
录像教材和CAI课件可加深学生对课程重难点内容的理解,提高程序设计技能。
网上教学资源与教学进度同步,解决学生在学习过程中遇到的问题。
自学可以采取个人和小组学习等方式,学生应注意自学能力的培养,保证必要的自学时间。
2.面授辅导面授辅导由地方电大辅导教师担任,辅导教师应以文字教材为依据,采用讲解、分析、作业讲评等方式,讲解课程的重点和难点,思路与方法,进行程序设计分析和讨论,解答作业,指导实验等,培养学生学习、思考和分析解决问题的能力。
3.实验实验是本课程的重要组成部分,由地方电大组织实施。
学生应认真完成本课程所规定的实验,未做实验或实验不及格者没有资格参加本课程的期末考试。
4.作业作业是巩固和检验学习效果的有效手段,中央电大统一下发形成性考核作业册,学生应根据学习进度认真完成。
四、考核考核是对学生学习效果的检查和验收。
本课程的考核采用期末终结性考核和形成性考核相结合的方式。
期末终结性考核由中央电大根据教学大纲统一命题;形成性考核包括实验和平时作业,由地方电大组织实施并核定成绩。
第三部分教学内容和教学要求第1章绪论(2学时)教学内容:1.本课程的学习目的、教学内容简介2.数据结构的基本概念3.算法和算法分析的基本概念教学要求:1.掌握数据结构和算法的基本概念;2.理解算法和数据结构在程序设计中的作用;3.了解算法分析的基本方法,能对简单问题进行时间复杂度的分析;4.了解本课程的学习重点和学习方法。
第2章线性表(8学时)教学内容:1.线性表的逻辑结构、顺序存储结构、链式存储结构2.线性表在顺序结构和链式结构上的基本操作和应用举例3.两种存储结构的比较教学要求:1.掌握线性表的两种存储结构和基本操作;2.理解线性表的两种存储结构各自的特点和应用场合;3.能利用两种存储结构解决简单应用问题。
第3章栈和队列(6学时)教学内容:1.栈的定义、表示和实现(顺序存储、链式存储)、栈的应用举例、栈在递归程序设计技术中的作用2.队列的定义、表示和实现(顺序存储、链式存储)、队列的应用举例3.循环队列4.栈和队列的操作和应用比较教学要求:1.掌握栈和队列的特点;2.掌握顺序栈和链栈的基本操作和实现方法;3.掌握顺序队列和链队列的基本操作和实现方法;4.理解循环队列的概念和实现方法;5.能利用栈和队列进行相关程序设计;6.通过程序实例了解栈在递归程序设计中的作用。
第4章串(2学时)教学内容:1.串类型定义、C语言中字符串的特点和处理方法2.串的顺序存储结构和链式存储结构3.串的基本运算和实现方法4.对字符串进行相关操作的应用举例教学要求:1.掌握C语言中字符串的特点和利用字符型数组和字符指针处理字符串的方法;2.能利用字符串的的存储结构和相关操作解决简单应用问题。
第5章数组和广义表(2学时)教学内容:1.数组的定义和存储结构2.特殊矩阵和稀疏矩阵的存储结构3.广义表的定义和存储结构简介教学要求:1.掌握二维数组的顺序存储结构和访问方法;2.理解特殊矩阵和稀疏矩阵的压缩存储原理;3.了解广义表的存储结构和有关操作。
第6章树和二叉树(10学时)教学内容:1.树的基本概念2.二叉树的性质和存储结构3.二叉树的遍历4.哈夫曼树及其应用教学要求:1.掌握树的基本概念;2.掌握二叉树的性质和存储结构及有关操作和实现方法;3.掌握遍历二叉树的算法步骤,并能利用递归程序设计技术具体实现;4.掌握最优二叉树的构造方法,了解它在数据压缩中的应用。
第7章图(6学时)教学内容:1.图的基本概念2.图的存储结构3.图的遍历4.最小生成树和最短路径教学要求:1.掌握图的基本概念;2.掌握图的存储结构(邻接矩阵和邻接表);3.掌握图的深度优先和广度优先的算法步骤并了解它们的实现技术;4.掌握最小生成树和最短路径的算法步骤,并理解它们的实现技术。
第8章查找(6学时)教学内容:1.线性表的查找(顺序查找、折半查找、分块查找)2.二叉排序树的查找3.哈希表(哈希表的定义、哈希函数的构造、处理冲突的方法、哈希表的查找和分析)教学要求:1.掌握顺序查找,折半查找的算法步骤和实现;2.掌握二叉排序树的有关操作(建立,插入,删除等),了解其他树表查找的原理; 3.了解哈希表的相关概念和原理。
第9章排序(6学时)教学内容:1.插入排序(直接插入排序、希尔排序)2.交换排序(冒泡排序、快速排序)3.选择排序(简单选择排序、堆排序)4.归并排序。
教学要求:1.掌握各种排序算法的算法步骤和具体实现;2.理解各种算法的特点,了解它们的时间复杂度。
第四部分实验内容和实验要求实验1:线性表(6学时)实验内容:1.线性表的链式存储结构某项比赛中,评委们给某参赛者的评分信息存储在一个带头结点的单向链表中,编写程序:(1)显示在评分中给出最高分和最低分的评委的有关信息(姓名、年龄、所给分数等)(2)在链表中删除一个最高分和一个最低分的结点(3)计算该参赛者去掉一个最高分和一个最低分后的平均成绩2.线性表的顺序存储结构用顺序表A记录学生的信息,编写程序:(1)将A表分解成两个顺序表B和C,使C表中含原A表中性别为男性的学生,B表中含原表中性别为女性的学生,要求学生的次序与原A表中相同。
(2)分别求男生和女生的平均年龄实验要求:1.掌握线性表的存储结构及相关的操作;2.能根据问题要求,设计数据结构和相应算法;3.用C语言编制程序,程序中写出详细注释;4.给出测试结果,验证程序的正确性。
实验2:栈、队列、递归程序设计(3学时)实验内容:1.栈和队列的基本操作编写一个算法,输出指定栈中的栈底元素,并使得原栈中的元素倒置。
2.递归程序设计(1)从低位到高位逐次输出各位数字(2)从高位到低位逐次输出各位数字实验要求:1.掌握栈、队列的访问特点和基本操作;2.掌握在简单应用中不同存取结构的栈和队列的程序设计技术;3.通过简单递归程序设计了解栈的应用;4.对上述实验内容要求完成数据结构和算法的设计,并用C语言设计程序,用算法测试,并验证程序正确。
实验3:二叉树(6学时)实验内容:1.二叉树的顺序存储结构和链式存储结构设一棵完全二叉树用顺序存储方法存储于数组tree中,编写程序:(1)根据数组tree,建立与该二叉树对应的链式存储结构,(2)对该二叉树采用中序遍历法显示遍历结果。
2.二叉树的遍历设一棵二叉树采用链式方式存储,编写一个前序遍历该二叉树的非递归算法。
实验要求:1.掌握二叉树的顺序存储结构和链式存储结构;2.掌握链式存储二叉树的访问方式和相关程序设计技术;3.掌握二叉树的不同遍历方式和实现技术;4.进一步熟悉并掌握递归程序设计技术。
实验4:图的存储方式和应用(3学时)实验内容:1.建立图的邻接矩阵根据图中顶点和边的信息编制程序建立图的邻接矩阵。
2.图的邻接表(选作)根据已知图的信息建立图的邻接表,并输出邻接表。