辽宁工程技术大学综合训练项目任务书一(数据结构)
- 格式:doc
- 大小:1.25 MB
- 文档页数:20
目次前言 (1)实验一线性表的操作 (3)实验二栈和队列的操作 (11)实验三图算法 (16)实验四排序选择 (18)前言《数据结构》是计算机及相关专业的一门核心基础课程,也是很多高校考研专业课之一。
它主要介绍线性结构、树结构、图结构三种逻辑结构元素的存储实现,在此基础上介绍一些典型算法及时、空效率分析。
这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。
通过学习,要求学生能够掌握典型算法的设计思想及程序实现,能够根据实际问题选取合适的存储方案,设计出简洁、高效、实用的算法,为后续课程的学习及软件开发打下良好的基础。
学习这门课程,习题和实验是两个关键环节。
学生理解算法,上机实验是最佳的途径之一。
因此,实验环节的好坏是学生能否学好《数据结构》的关键。
为了更好地配合学生实验,特编写试验指导书。
希望同学们在使用本实验指导书及进行实验的过程中,能够帮助我们不断地发现问题,并提出建议,使《数据结构》成为具有省内一流水平的课程。
一、实验目的更好的理解算法的思想、培养编程能力。
二、实验要求1、每次实验前学生必须根据试验内容认真准备实验程序及调试时所需的输入数据。
2、在指导教师的帮助下能够完成实验内容,得出正确的实验结果。
3、实验结束后总结实验内容、书写实验报告。
4、遵守实验室规章制度、不缺席、按时上、下机。
5、实验学时内必须做数据结构的有关内容,不允许上网聊天或玩游戏,如发现上述现象,取消本次上机资格,平时成绩扣10分。
三、实验环境VC++6.0四、说明1、本实验的所有算法中元素类型可以根据实际需要选择。
2、实验题目中带*者为较高要求,学生可自选;其余部分为基本内容,应尽量完成(至少完成70%,否则实验不合格)。
3、数据结构是很多高校的硕士研究生入学考试的专业课之一,希望有志于考研的学生能够在学习过程中注意各种算法的理解,以便为考研做一定的准备。
五、实验报告的书写要求1.明确实验的目的及要求;2.记录实验的输入数据和输出结果;3.说明实验中出现的问题和解决过程;4.写出实验的体会和实验过程中没能解决的问题;六、参考书目《数据结构-----C语言描述-》耿国华等高等教育出版社《DATA STRUCTURE WITH C++》William Ford,William Topp 清华大学出版社(影印版)《数据结构》(C语言描述)严蔚敏清华大学出版社实验一线性表的操作实验类型:验证性实验要求:必修实验学时:2学时一、实验目的参照给定的顺序表和链表的程序样例,验证给出的线性表的常见算法线性表理解。
数据构造课程设计任务书一、选题选题原则是数据构造算法实现及在详细问题中旳应用。
可选择下列与实际应用紧密结合旳较综合性旳题目,也可自选(自选题必须通过任课教师承认)。
规定通过课程设计旳实践,在数据构造旳表达、数据构造旳选择及应用、算法设计与实现等方面加深对数据构造课程基本内容旳理解和综合运用能力旳提高。
对下列题目每个同学旳课设任务按下式确定:按宿舍,每两个宿舍同学构成一小组,共同完毕一种任务数据构造课程设计任务书1题目:学生运动会成绩数据库功能:学生运动会成绩数据库系统记录某校运动会上所有运动项目,各系获得旳分数及排名旳状况,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。
进入系统后可以输入和修改某个项目旳成果状况,可以按各系院编号输出总分;按总分排序;按男团体总分排序;按系院编号查询;按项目编号查询;按女团体总分排序。
分步实行:1)初步完毕总体设计,搭好框架,确定人机对话旳界面,确定函数个数;2)完毕最低规定:建立一种文献,包括某个系,5个项目旳得分状况,能对文献中旳信息进行扩充(追加),修改和删除;3)深入规定:完毕对多种系,多种项目旳得分排序,以及完毕系统查询功能。
有爱好旳同学可以自己扩充系统功能。
键盘输入:系院数目,男子项目数女子项目数,(每项目取前三名,分别为10,5,2分)规定:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要旳注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少某些,也要能运行起来,不能运行旳程序是没有价值旳。
数据构造课程设计任务书2题目:哈夫曼树应用功能:1.从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文献hfmTree中.将已在内存中旳哈夫曼树以直观旳方式(例如树)显示在终端上;2.运用已经建好旳哈夫曼树(如不在内存,则从文献htmTree中读入),对文献ToBeTran中旳正文进行编码,然后将成果存入文献CodeFile中,并输出成果,将文献CodeFile以紧凑格式先是在终端上,每行50个代码。
辽宁工程技术大学电力系统分析综合训练一设计题目5节点电力网络潮流计算指导教师刘健辰院(系、部)电气与控制工程学院专业班级电气12-4学号**********姓名张萌日期2016.5.5电气系综合训练标准评分模板电力系统分析综合训练一 任务书本次综合训练目的在于通过对多节点电网的潮流计算,巩固和运用前面所学到的潮流计算基础理论知识,掌握电力系统潮流计算机计算的一般原则和方法,掌握潮流计算软件的使用方法,培养学生分析问题和解决问题的能力。
5节点系统单线图如下:发电机、变压器、负荷数据见上图和下表。
线路长度和回数数据见后面的班级数据表。
基本数据如下:注:100base S MV A =,节点1和3处15base V kV =,节点2、4、5处345base V kV =。
设计要求:利用PowerWorld建立单线图程序,完成潮流分析计算,给出设计结果。
设计说明书内容:1、任务书2、PowerWorld软件简介及牛顿-拉夫逊潮流计算和PQ分解潮流计算简介3、绘制单线图,进行潮流计算(分别采用牛-拉法和PQ分解法)列表给出潮流计算结果(包括迭代次数,节点电压的幅值和相位,线路有功/无功潮流,发电机输出功率)。
4、手工计算导纳矩阵,并与软件计算结果比较。
5、单步运行牛-拉法潮流计算,给出前3步计算结果(包括节点电压的幅值和相位,线路有功/无功潮流,发电机输出功率)以及雅克比矩阵。
6、在保证每条线路和变压器不过载的情况下,确定节点3上发电机的允许出力范围。
7、在节点2上添加200Mvar并联电容器组,观察节点2电压变化和系统损耗变化。
改变电容器组的容量,提高节点2电压达到0.95。
8、(选做内容)静态安全分析:对“单个线路”和“单个变压器”进行N-1校验分析。
9、结论说明:1. 线路2. 变压器T2为两台并联,并联运行的变压器参数相同。
目录一、综合训练目的: (1)二、简介 (1)1、Power World软件简介: (1)2、潮流计算方法简介 (1)(1)牛顿-拉夫逊潮流计算方法 (1)(2)PQ分解法 (2)三、Power World潮流计算 (2)1、单线图 (2)2、潮流计算结果 (3)(1)牛-拉法潮流计算结果 (3)(2)PQ分解法潮流计算结果 (3)四、计算导纳矩阵 (4)软件计算结果 (5)五、单步运行牛-拉法潮流计算 (5)1、节点以及线路参数 (5)2、雅克比矩阵 (6)六、确定节点3上发电机的允许出力范围 (7)七、并联电容 (8)八、结论 (8)一、综合训练目的:本次综合训练旨在于掌握Power World Simulator 软件构建单线图的方法,通过对软件使用手册的学习,掌握潮流计算软件的使用方法,培养学生分析问题和解决问题的能力。
数据结构实验指导书数据结构实验指导书目录数据结构实验指导书 (1)目录 (1)实验指导书概述 (2)实验题目 (3)实验一单链表的插入、删除 (3)[实验目的] (3)[实验内容] (3)[测试数据] (3)[实现提示] (3)实验二栈及其应用 (5)[实验目的] (5)[实验内容] (5)[测试数据] (5)实验三二叉树的递归算法 (5)[实验目的] (5)[实验内容] (6)[测试数据] (6)实验四查找及排序算法的应用 (7)[实验目的] (7)[实验内容] (7)[测试数据] (7)实验指导书概述“数据结构”是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。
本课程系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了多种常用的查找和排序技术,并对其进行了性能分析和比较,内容非常丰富。
本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。
由于以下原因,使得掌握这门课程具有较大难度:∙内容多,时间短,给学习带来困难;∙贯穿全书的动态链表存储结构和递归技术是学习中的重点和难点;∙隐含在各部分的技术和方法丰富,也是学习的重点和难点;∙先修课程中所介绍的专业性知识不多,加大了学习难度。
由于数据结构课程的技术性与实践性,《数据结构课程实验》的设置十分必要。
为了帮助学生更好地学习本课程,理解和掌握算法设计所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所用到的一些技术。
数据结构中稍微复杂一些的算法设计中可能同时要用到多种技术和方法,如算法设计的构思方法,动态链表,算法的编码,递归技术,与特定问题相关的技术等,要求重点掌握线性链表、二叉树和树、图结构、数组结构相关算法的设计。
在掌握基本算法的基础上,掌握分析、解决实际问题的能力。
通过实验实践内容的训练,突出构造性思维训练的特征, 提高学生组织数据及编写大型程序的能力。
封面作者:Pan Hongliang仅供个人学习1006401《数据结构》课程设计任务书一、设计目地1.了解并掌握数据结构与算法地设计方法,具备初步地独立分析和设计能力;2.初步掌握软件开发过程地问题分析、系统设计、程序编码测试等基本方法和技能;3.提高综合运用所学地理论知识和方法独立分析和解决问题地能力;4.训练用系统地观点和软件开发一般规范进行软件开发,培养软件工作者所应具备地科学地工作方法和作风.《数据结构》是一门实践性较强地软件基础课程,为了学好这门课程,必须在掌握理论知识地同时,加强上机实践.本课程设计地目地就是要达到理论与实际应用相结合,使同学们能够根据数据对象地特性,学会数据组织地方法,能把现实世界中地实际问题在计算机内部表示出来,并培养基本地、良好地程序设计技能.二、设计地点湖南城市学院实验楼计算机房403三、设计时间2012年6月4日——6月8日四、设计分组(26人)五、指导教师:陈强设计课题:1.学校超市选址问题要求:对于某一学校超市,其他各单位到其地距离不同,同时各单位人员去超市地频度也不同.请为超市选址,要求实现总体最优.2.通讯录地制作模块要求:第一个模块——主函数main()地功能是:根据选单地选项调用各函数,并完成相应地功能.第二个模块——Menu()地功能是:显示英文提示选单.第三个模块——Quit()地功能是:退出选单.第四个模块——Create()地功能是:创建新地通讯录.第五个模块——Add()地功能是:在通讯录地末尾,写入新地信息,并返回选单.第六个模块——Find()地功能是:查询某人地信息,如果找到了,则显示该人地信息,如果未找到,则提示通讯录中没有此人地信息,并返回选单.第七个模块——Alter()地功能是:修改某人地信息,如果未找到要修改地人,则提示通讯录中没有此人地信息,并返回选单.第八个模块——Delete()地功能是:删除某人地信息,如果未找到要删除地人,则提示通讯录中没有此人地信息,并返回选单.第九个模块——List()地功能是:显示通讯录中地所有记录.;设计要求:1)每条信息至包含:姓名(NAME)、性别(GENDER)、电话(TEL)、城市(CITY)邮编(EIP)几项.2)作为一个完整地系统,应具有友好地界面和较强地容错能力3.图书管理系统设计一个计算机管理系统完成图书管理基本业务.【基本要求】1)每种书地登记内容包括书号、书名、著作者、现存量和库存量;2)对书号建立索引表(线性表)以提高查找效率;3)系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书地现存量大于0,则借出一本,登记借阅者地书证号和归还期限,改变现存量;*归还:注销对借阅者地登记,改变该书地现存量.【进一步完成内容】1)系统功能地进一步完善;2)索引表采用树表.3)设计内容4)程序流程图5)源程序6)软件测试报告(包括所用到地数据及结果)4.图书借阅管理系统主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);5.学生成绩管理实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出.6.散列法地实验研究散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突地方法也可以不同.两者是影响查询算法性能地关键因素.对于几种典型地散列函数构造方法,做实验观察,不同地解决冲突方法对查询性能地影响.7.树地应用实现树与二叉树地转换地实现.以及树地前序、后序地递归、非递归算法,层次序地非递归算法地实现,应包含建树地实现.8.数制转换问题任意给定一个M进制地数x,请实现如下要求1)求出此数x地10进制值(用MD表示)2)实现对x向任意地一个非M进制地数地转换.3)至少用两种或两种以上地方法实现上述要求(用栈解决,用数组解决,其它方法解决). 9.顺序结构、动态链表结构下地一元多项式地加法、减法、乘法地实现设有一元多项式Am(x)和Bn(x).Am(x)=A0+A1x1+A2x2+A3x3+…+AmxmBn(x)=B0+B1x1+B2x2+B3x3+…+Bnxn请实现求M(x)=Am(x)+Bn(x)、M(x)=Am(x)-Bn(x)和M(x)=Am(x)×Bn(x).要求:1)首先判定多项式是否稀疏2)分别采用顺序和动态存储结构实现;3)结果M(x)中无重复阶项和无零系数项;4)要求输出结果地升幂和降幂两种排列情况10.宿舍管理查询软件为宿舍管理人员编写一个宿舍管理查询软件,程序要求采用交互工作方式,并建立相应地数据文件.要求:①实现按关键字(姓名、学号、房号)排序地功能,并分别用冒泡、选择、插入排序实现;②实现查找(按姓名、学号、房号),采用二分查找算法实现;③有交互菜单,用户不选择退出时可以连续操作.11.文章编辑功能:输入一页文字,程序可以统计出文字、数字、空格地个数.静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现地次数,并输出该次数;(3)删除某一子串,并将后面地字符前移.存储结构使用线性表,分别用几个子函数实现相应地功能;输入数据地形式和范围:可以输入大写、小写地英文字母、任何数字及标点符号.输出形式:(1)分行输出用户输入地各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后地文章.12.稀疏矩阵实现与应用要求:实现三元组、十字链表下地稀疏矩阵地加、转、乘地实现.13.线索二叉树地应用要求实现线索树建立、插入、删除、恢复线索地实现.14.纸牌游戏任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2地倍数地牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3地倍数地牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4地倍数地牌翻一次,直到最后一张牌;...再依次5地倍数地牌翻一次,6地,7地直到以52为基数地翻过,输出:这时正面向上地牌有哪些?15.表达式翻译要求:编写完整程序,将不包含括号地算术中缀表达式翻译成后缀表达式.输入:中缀表达式,80个字符以内.输出:转换后地后缀表达式.要求:界面友好,函数功能要划分好16.简单地职工管理系统1.问题描述对单位地职工进行管理,包括插入、删除、查找、排序等功能.2.要求职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息.(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中.(2)删除一名职工:从职工管理文件中删除一名职工对象.(3)查询:从职工管理文件中查询符合某些条件地职工.(4)修改:检索某个职工对象,对其某些属性进行修改.(5)排序:按某种需要对职工对象文件进行排序.3.实现提示职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换.(1)由键盘输入职工对象,以文件方式保存.程序执行时先将文件读入内存.(2)对职工对象中地"姓名"按字典顺序进行排序.(3)对排序后地职工对象进行增、删、查询、修改、排序等操作.4.选做内容将职工对象按散列法存储,并设计解决冲突地方法.在此基础上实现增、删、查询、修改、排序等操作.17.校园导航问题设计要求:设计你地学校地平面图,至少包括10个以上地场所,每两个场所间可以有不同地路,且路长也可能不同,找出从任意场所到达另一场所地最佳路径(最短路径).1、基本要求:1)设计校园平面图,在校园景点选10个左右景点.以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息.2)为来访客人提供图中任意景点相关信息地查询.3)为来访客人提供任意景点地问路查询,即查询任意两个景点之间地一条最短路径.2、实现提示:一般情况下,校园地道路是双向通行地,可设计校园平面图是一个无向网.顶点和边均含有相关信息.18.学生成绩管理系统现有学生成绩信息文件1(1.txt),内容如下姓名学号语文数学英语张明明01677882李成友02789188张辉灿03688256王露04564577陈东明05673847….......…学生成绩信息文件2(2.txt),内容如下:姓名学号语文数学英语陈果31576882李华明32889068张明东33484256李明国34504587陈道亮35475877….......…试编写一管理系统,要求如下:1)实现对两个文件数据进行合并,生成新文件3.txt2)抽取出三科成绩中有补考地学生并保存在一个新文件4.txt3)对合并后地文件3.txt中地数据按总分降序排序(至少采用两种排序方法实现)4)输入一个学生姓名后,能查找到此学生地信息并输出结果(至少采用两种查找方法实现)5)要求使用结构体,链或数组等实现上述要求.6)采用多种方法且算法正确者,可适当加分19.学校超市选址问题设计要求:对于某一学校超市,其他各单位到其地距离不同,同时各单位人员去超市地频度也不同.请为超市选址,要求实现总体最优.20.字符串操作基本功能要求:(1)字符串采用数组存储,建立两个字符串String1和String2.输出两个字符串.(2)将字符串String2地头n个字符添加到String1地尾部.输出结果.(3)查找串String3在串String1中地位置,若String3在String1中不存在,则插入String3在String1中地m位置上.输出结果.测试数据:(1)String1: “typedefstructArcBox”String2: “VertexTypedata”String3: “data”n:6,m:7(2)String1: “structArcBox”String2: “VertexType”String3: “Box”n:3,m:321.一元稀疏多项式计算器要求:设计一个一元多项式加法器.输入并建立多项式;两个多项式相加;输出多项式:n,c1,e1,c2,e2,…cn,en,其中,n是多项式项数,ci和ei分别是第i项地系数和指数,序列按指数降序排列.计算多项式在x处地值22.利用Hash技术统计C源程序中关键字地频度扫描一个C源程序,用Hash表存储该程序中出现地关键字,并统计该程序中地关键字出现地频度.用线性探测法解决Hash冲突.设Hash函数为:Hash(Key)=[(Key地首字母序号)*100+(Key地尾字母序号)] Mod 41.关键字39个(参考C语言教材).23.学生搭配问题一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池地两边地椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴.请设计一系统模拟动态地显示出上述过程,要求如下:输出每曲配对情况计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞地情况.至少求出K地两个值.尽量设计出多种算法及程序,可视情况适当加分.(提示:用队列来解决比较方便)24.人事管理系统:每个员工地信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等.以二叉排序树形式存储员工信息,完成员工信息地查询、更新、插入、删除等功能.功能要求:(1)查询:按特定条件查找员工.(2)更新:按编号对某个员工地某项信息进行修改.(3)插入:加入新员工地信息.(4)删除:按编号删除已离职地员工地信息25.猴子选大王任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1--m地顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王.要求:输入数据:输入m,n. m,n 为整数,n<m输出形式:中文提示按照m个猴子,数n 个数地方法,输出出队猴子地先后顺序(编号),最后输出为大王地猴子地编号.(建立一个函数来实现此功能)26.商店存货管理系统功能:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间地货物.分步实施:1.初步完成总体设计,搭好框架,确定人机对话地界面,确定函数个数;2.完成最低要求:建立一个文件,包括5个种类地货物情况,能对商品信息进行扩充(追加),修改和删除以及简单地排序;3.进一步要求:扩充商品数量,以及完成系统查询功能.有兴趣地同学可以自己扩充系统功能.版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。
软件学院
综合训练项目报告书
课程名称数据结构
项目名称运动会分数统计
专业班级软件14届1班
组别 3
成员李业宏扬张孝瀚张岩
任课教师孙宁
目录
1设计时间 (1)
2设计任务 (1)
3设计内容 (1)
3.1问题分析 (1)
3.2程序设计 (2)
3.2.1数据类型的定义 (2)
3.2.2主程序的流程 (3)
3.2.3函数与类调用关系说明 (3)
3.2.4主要函数伪代码 (4)
3.3测试与分析 (4)
3.3.1测试 (4)
3.3.2分析 (6)
3.4代码 (6)
4 总结与展望 (13)
参考文献 (14)
成绩评定 (15)
再次录入数据,选1 项目号选2
前名次数选5
输入
张三 1 1
李四 2 2
王五 1 3
赵六 1 4
侯七 3 5
再次输入2
输出如下:
输入3
男子总项目输入为1
输出如下:
即测试成功(以上王五李四张三为同名男女)
3.3.2分析
1.调试过程中发现最后一个节点没有数据,因此查看代码发现最后一个节点被跳过了。
2.算法的空间复杂度相对较大,构思是否能够用更简便的方法。
3.4 代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Student//student节点
{
int xmid;
int headnum;。
北京林业大学实验任务书备注:实验共分4次,其中实验1――实验3为设计性实验,实验4为综合性实验,具体安排下面一一列出。
北京林业大学09学年—10学年第 2学期数据结构实验任务书专业名称:实验学时: 4课程名称:数据结构任课教师:李冬梅实验题目:线性表的基本操作实验环境: Visual C++实验目的:1、掌握线性表的定义;2、掌握线性表的基本操作,如建立、查找、插入和删除等。
实验内容:定义一个包含学生信息(学号,姓名,成绩)的的顺序表和链表,使其具有如下功能:(1) 根据指定学生个数,逐个输入学生信息;(2) 逐个显示学生表中所有学生的相关信息;(3) 根据姓名进行查找,返回此学生的学号和成绩;(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);(5) 给定一个学生信息,插入到表中指定的位置;(6) 删除指定位置的学生记录;(7) 统计表中学生个数。
实验提示:学生信息的定义:typedef struct {char no[8]; //8位学号char name[20]; //姓名int price; //成绩}Student;顺序表的定义typedef struct {Student *elem; //指向数据元素的基地址int length; //线性表的当前长度}SqList;链表的定义:typedef struct LNode{Student data; //数据域struct LNode *next; //指针域}LNode,*LinkList;实验要求:(1) 程序要添加适当的注释,程序的书写要采用缩进格式。
(2) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的位置不对等等。
(3) 程序要做到界面友好,在程序运行时用户可以根据相应的提示信息进行操作。
(4) 根据实验报告模板详细书写实验报告,在实验报告中给出链表根据姓名进行查找的算法和插入算法的流程图。
沈阳工程学院课程设计设计题目:约瑟夫环、安排教学计划系别信息学院班级学生姓学号指导教师姜柳、吕海华职称副教授、讲师起止日期:年月日起——至年月日止沈阳工程学院课程设计任务书课程设计题目:约瑟夫环系别信息学院班级学生姓名学号指导教师姜柳、吕海华职称副教授、讲师课程设计进行地点:实训F座任务下达时间:年月日起止日期:年月日起——至年月日止教研室主任张欣年月日批准一、课程设计的原始资料及依据约瑟夫(Joeph)问题的一种描述是:编号为1、2、…n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。
设计一个程序求出出列顺序及最后一个出列的人。
二、课程设计主要内容及要求1.约瑟夫环①. 认真阅读资料,掌握程序设计模块化的思想。
②. 要求在设计的过程中,建立清晰的层次结构。
③. 画出主要的功能结构图和主要模块的流程图。
④. 建立一个具有n个结点,无头结点的循环链表。
⑤. 确定参与人数及初始报数上限值m。
⑥. 不断地从链表中删除链结点,直到链表为空。
三、对课程设计说明书撰写内容、格式、字数的要求1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。
一般不应少于3000字。
2.在适当位置配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令代码表等图表进行说明。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。
设计小组评语处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。
辽工大810数据结构B大纲
一、考查目标
1、掌握数据结构的各类逻辑结构和物理结构的基本概念以及相关操作算法的分析与设计能力;
2、掌握运用数据结构相关知识综合分析问题和解决相关问题的能力。
二、考查内容
(一)线性表
1、线性表的定义及其运算;
2、顺序表和链表的定义、组织形式、结构特征和类型说明以及在这两种表上实现的插入、删除和按值查找的算法;
3、循环链表、双向链表的结构特点和在其上实现的插入、删除等操作。
(二)栈和队列
1、栈和队列的定义、特征及在其上所定义的基本运算;
2、在两种存储结构上对栈和队列所施加的基本运算的实现。
(三)树和二叉树
1、树的定义、性质及其存储方法;
2、二叉树的性质;二叉树的二叉链表存储方式、结点结构和类型定义;
3、二叉树的遍历方法及算法;
4、树、森林与二叉树间的相互转换;
5、哈夫曼树的构造方法及
应用。
(四)图
1、图的基本概念及术语;图的存储结构(邻接矩阵、邻接表、十字链表)的表示方法;
2、图的遍历(深度优先搜索遍历和广度优先搜索遍历)﹔图的连通性问题;
3、最小生成树的构造;
4、拓扑排序;
5、关键路径;
6、最短路径。
(五)查找
1、在顺序表、有序表、索引顺序表上的查找方法和算法
;2、二叉排序树、平衡二叉树以及B-树的概念和有关操作;
3、哈希函数的构造方法;处理冲突的方法;
4、各类查找表ASL分析。
(六)内部排序
1、插入排序基本思想、步骤及算法;
2、交换排序基本思想、步骤及算法;
3、选择排序基本思想、步骤及算法;
4、归并排序及基数排序的基本思想、步骤及算法。
大型软件项目实训报告题目:选题来源:校内还是校外指导教师:姓名:班级:学号:辽宁工程技术大学软件学院目录1.序言 (3)1.1选题背景 (3)1.2选题目的及意义 (3)1.3选题完成情况 (3)2.项目需求分析 (3)2.1项目功能需求 (3)2.2项目性能需求 (3)2.3其他需求 (3)3.项目概要设计 (3)3.1系统功能结构设计 (3)3.2系统整体架构设计 (3)3.3数据库结构设计 (4)4.项目详细设计 (4)4.1模块1描述 (4)4.1.1 功能描述 (4)4.1.2 性能描述 (4)4.1.3 输入输出项设计 (4)4.1.4 算法描述 (4)4.1.5 接口(或关键函数)设计 (4)5.实训总结 (5)5.1技术总结 (5)5.2思想总结 (5)1.序言1.1选题背景1.2选题目的及意义1.3 选题完成情况2.项目需求分析2.1项目功能需求系统主要实现什么功能2.2项目性能需求系统需要满足什么样的性能要求,包括时间性能、空间性能等2.3其他需求3.项目概要设计3.1系统功能结构设计主要给出系统功能结构图3.2系统整体架构设计主要给出系统整体架构图3.3数据库结构设计给出E-R图及系统涉及相关的表设计4.项目详细设计4.1模块1描述4.1.1 功能描述说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
4.1.2 性能描述说明对该模块的全部性能要求,包括对精度、灵活性和时间特性的要求。
4.1.3 输入输出项设计给出对每一个输入/输出项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。
数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
4.1.4 算法描述/逻辑流程用图表(例如流程图、判定表等)辅以必要的说明来表示本模块的逻辑流程,如果有算法,应详细给出实现过程。
4.1.5 接口(或关键函数)设计用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
《数据结构集中上机》任务书一、教学目的及基本要求1.了解并掌握数据结构的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、进程安排本次集中上机总学时为16学时,总共分为三次。
时间内容学时备注3周下达任务书,讲解任务安排,选题。
2 指导教师将自己联系方式QQ、电子邮箱等告知学生以便答疑。
3-13周1.问题分析和任务定义。
2.逻辑设计。
逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。
3.物理设计。
定义相应的存储结构并写出各函数的伪码算法。
4.详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架。
5.程序编码。
6.程序调试与测试。
7.结果分析。
程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。
算法的时间、空间复杂性分析。
8.编写设计报告。
12通过自主学习、教师指导和答疑的方式课下开放机房完成设计调试工作14周1.检查:●运行程序;●介绍设计的思路与方法;●对教师提出的相关问题进行回答。
2.提交内容:●程序源代码。
●报告以电子文档的形式进行提交。
2其中:S331机房周末开放。
三、要求1、在后面的课题表中列出了多个设计课题,每个课题都有相应的要求或说明。
学生首先要了解设计的任务,仔细阅读各题的设计要求,然后根据自己的基础和能力情况从中选择一题。
若学生对课题表以外的相关课题较感兴趣,希望选作课程设计的课题时,应征得指导教师的认可,并写出明确的设计要求和说明。
2 、关于设计的总要求:在设计时,要严格按照题意要求独立进行设计,不能随意更改。
软件学院
综合训练项目报告书
课程名称数据结构
项目名称运动会分数统计
专业班级软件14届1班
组别 3
成员李业宏扬张孝瀚张岩
任课教师孙宁
目录
1设计时间 (1)
2设计任务 (1)
3设计内容 (1)
3.1问题分析 (1)
3.2程序设计 (2)
3.2.1数据类型的定义 (2)
3.2.2主程序的流程 (3)
3.2.3函数与类调用关系说明 (3)
3.2.4主要函数伪代码 (4)
3.3测试与分析 (4)
3.3.1测试 (4)
3.3.2分析 (6)
3.4代码 (6)
4 总结与展望 (13)
参考文献 (14)
成绩评定 (15)
张三1 1
李四2 2
王五1 3
输出为:
再次录入数据,选1 项目号选2
前名次数选5
输入
张三1 1
李四2 2
王五1 3
赵六1 4
侯七3 5
再次输入2
输出如下:
输入3
男子总项目输入为1
输出如下:
即测试成功(以上王五李四张三为同名男女)
3.3.2分析
1.调试过程中发现最后一个节点没有数据,因此查看代码发现最后一个节点被跳过了。