文档视界 最新最全的文档下载
当前位置:文档视界 › 2004《数据结构》课程设计题目及基本要求如下:

2004《数据结构》课程设计题目及基本要求如下:

2004《数据结构》课程设计题目及基本要求如下:
2004《数据结构》课程设计题目及基本要求如下:

2004《数据结构》课程设计题目及基本要求如下:

一、试设计一个航空客运定票系统。基本要求如下:

1、每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、

乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。

2、系统能实现的操作和功能如下:

1)查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;

2)承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;

3)承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。

3、实现提示:两个客户名单可分别由线性表和队列实现。为查找方便,已订票

客户的线性表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。由于预约人数无法预计,队列也应以链表作为存储结构。

二、校园导游咨询(为来访的客人提供各种信息服务)

1、基本要求:

1)设计下沙校园平面图,在校园景点选10个左右景点。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。

2)为来访客人提供图中任意景点相关信息的查询。

3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一

条最短路径。

2、实现提示:一般情况下,校园的道路是双向通行的,可设计校园平面图是一

个无向网。顶点和边均含有相关信息。

三、停车场管理问题

[问题描述]设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。

[实现要求]要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某

辆车离开停车场时应交纳的费用和它在停车场内停留的时间。

[实现提示]汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(‘A’,,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(‘E’,0,0)时结束。本题可用栈和队列来实现。

四、全国交通咨询模拟

【问题描述】处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。

【基本要求】(1)提供对城市信息进行编辑(如:添加或删除)的功能。

(2)城市之间有两种交通工具:火车和飞机。提供对列车时刻表和飞机航班进行编辑(增设或删除)的功能。

(3)提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具。

(4)旅途中耗费的总时间应该包括中转站的等候时间。

(5)咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

【实现提示】(1)对全国城市交通图和班车时刻表及飞机航班表的编辑,应该提供文件形式输入和键盘输入两种方式。飞机航班表的信息应包括:起始站的出发时间、终点站的到达时间和票价;列车时刻表则需根据交通图给出各个路段的详细信息,例如:对于从北京到上海的火车,需给出北京至天津、天津至徐州及徐州至各段的出发时间、到达时间和票价信息。

(2)以邻接表作交通图的存储结构,表示边的结点内除含有邻接点的信息外,包括交通工具、路程中消耗的时间和花费以及出发和到达的时间等多

项属性。

五、压缩器/解压器

【问题描述】

为了节省存储空间,常常需要把文本文件采用压缩编码的方式储存。例如:一个包含1000个x的字符串和2000个y的字符串的文本文件在不压缩时占用的空间为3002字节(每个x或每个y占用一个字节,两个字节用来表示串的结尾)。同样是这个文件,采用游程长度编码(run-length coding),可以存储为字符串1000x2000y,仅为10个字母,占用12个字节。若采用二进制表示游程长度(1000和2000)可以进一步节约空间。如果每个游程长度占用2个字节,则可以表示的最大游程长度为2*pow(16),这样,上例中的字符串只需要用8个字节来存储。当要读取编码文件时,需要对其进行解码。由压缩器(compressor)对文件进行编码,由解压器(decompressor)进行解码。

①(1)长度-游程编码的压缩/解压;+(2)LZW压缩/解压(散列);

②(1)长度-游程编码的压缩/解压;+(3)霍夫曼编码压缩/解压(霍夫曼树) 【基本要求】

要求选用二种压缩/解压策略实现压缩/解压器[(1)为必选]。输入的为本文文件(.txt),输出的为一种自定义的文件(.nz)。考虑当构成文本的字符集合为{a,b,c,……,z,0,1,2,…9}时,请用实例测试你的压缩/解压器。你的压缩器会不会出现抖动?(压缩后的文本比原来的还要大)。扩充构成文本的字符集合以便使它适应更一般的情况。

【实现提示】

LZW:由Lempel、Ziv和Welch这三位科学家所开发的技术。该方法把文本的字符串映射为编码,首先,为该文本中所有可能出现的字母分别分配一个代码。例如:要压缩的对象是aaabbbbbbbaabaaba,由a和b组成。为a分配代码0,为b 分配代码1。字符串和编码的关系被存储在字典中。

其相应的代码。若输入文件的下一个字符为c,则为pc分配下一个代码,并插入字典,这种策略称为LZW规则。相反,在解压时,编码表由压缩文件重新构造,LZW原则使这种重建成为可能。

如上例子,压缩时,文件中第一个在字典中出现的最长前缀是a, 输出其编码0,然后为字符串aa分配代码2,并插入到字典中。余下的字符串在字典中出现的最长前缀是aa,输出aa的对应代码2,同时为字符串aab分配代码3并将其插入到字典中。依次类推,由此,输出

解压时,要输入代码,然后用代码所表示的文本来替换这些代码。代码到文本的映射可按下面的方法重建:首先把分配给单一字母的代码插入到字典中。象前面一样,字典的入口为key-code对。然而此时是根据给定的代码(key)去寻找相应的入口(而不是根据文本Code)。压缩文件中的第一个代码对应于单一的字母,因此可以由该字母代替。对于压缩文件中的其他代码p,要考虑两种情况:1)在字典中;2)不在字典中。

在1)情况下,找到p对应的文本text(p)输出。并且,根据压缩原理可知,

若在压缩文件中代码q写在p之前且text(q)是与q对应的文本,则压缩器会为文本text(q)(其后紧跟fc(p),text(p)的第一个字符)分配一新代码。因此在字典中插入序偶(下一个代码,text(q)fc(p))。

情况2)时,只有在当前文本段形如text(q)text(q)fc(q)且text(p)=text(q)fc(q)时才会发生。相应的压缩文件段是qp。在压缩过程中,为text(q)fc(q)分配的代码为p。在解压过程中,在用text(q)代替q后,又遇到代码p。然而,此时字典中没有与p对应的文本。因为这种情况只在解压文本段为text(p)text(q)fc(q)时才发生,因此可以对p解码。当遇到一个没有定义代码文本对的代码p时,p对应的文本为text(q)fc(q),其中q为p前面的代码。

如上例子:首先,初始化字典,在其中插入(0,a),(1,b)。压缩的第一个代码为0,则用a代替之。下一个代码2未定义,因为前一个代码为0,且text(0)=a,fc(0)=a,则

text(2)=text(0)fc(0)=aa。因此用aa代替2,并把(2,aa)插入字典中。下个代码1由b 来替换,并把(3,text(2)fc(1))=(3,aab)插入字典中。依次类推,得解压结果。

霍夫曼编码:根据不同符号在文本中出现的不同的频率来进行压缩编码。假设文本是由a,u,x,z组成的字符串,若这个字符串的长度为1000,每个字符用一个字节来存储,共需1000个字节(即8000位)的空间。如果每个字符用2位二进制来编码(00=a,01=x,10=u,11=z),则用2000位二进制即可以表示1000个字符。此外,还需要一定的空间来存放编码表,可以采用如下格式来存储:符号个数:代码1,符号1,代码2,符号2,……

符号个数及每个符号分别用8位二进制来表示,每个代码需要占用[log2(符号个数)]位二进制。因此,上例中,代码表需占用5*8+4*2=48位,压缩比为8000/2048=3.9 。利用这种编码方法,字符串aaxuaxz的压缩码为二进制串111,每个字符的编码具有相同的位数(两位)。从左到右依次从位串中取出两位,通过查编码表边可以获得原字符串,这是解压缩过程。

我们利用霍夫曼编码来实现压缩,必须:

1)必须获得不同字符的频率。

2)建立具有最小加权外部路径的二叉数(即霍夫曼树),树的外部结点用字符串中

的字符表示,外部结点的权重(weight)即为该字符出现的频率。

3)遍历从根到外部结点的路径得到每个字符的编码。

4)使用字符的编码来代替字符串中的字符。

为了方便解码,需要保存字符代码映射表或每个字符的

频率表(在保存信息为频率表的情况下,解码需要重构霍夫曼数以获得相应的编码表)。

构造霍夫曼树:首先从仅含一个外部结点的二叉树集合开始,每个外部结点代表字符串的一个不同的字符,其权重等于该字符的频率。此后不断的从集合中选择两棵具有最小权重的二叉树,并把它们合并成一棵新的二叉树,合并方法是把这两棵二叉树分别作为左右子树,然后增加一个新的根结点。新二叉树的权重为两棵子树的权重之和。这个过程一直可以持续到仅剩下一棵树为止。[二叉树的集合可以使用有序表/优先队列(基于队列/基于堆)实现]。

编码:构造完毕霍夫曼树后,可以对从根开始到外部结点(叶子)的路径进行编码,方法是向左孩子移动时取0,向右孩子移动时取1。

【选作内容】对于策略2)我们用这种方法修改它:每当压缩/解压1024*x个字

节后,重新初始化代码表。取文本长度为100K到200K之间,x=10,20,30,40和50。测试修改后的程序,请给出你的结论:采用那种x值比较好?

对于霍夫曼编码:当文本中的字符出现的频率差别很大时,我们可以通过使用变长的编码来降低每个位串的长度。但是,怎样对使用变长编码的位串解码呢?我们可以发现:在得到的霍夫曼编码中,没有任何一个代码是另一个代码的前缀。因此与编码向匹配的实际的字符是唯一的。请用实现这样的变长策略,并验证它。

六、编写一个五子棋的游戏程序。

实现人与机对下的功能。要求:

1、要有棋盘;

2、设计输、赢判断规则函数;

3、给出下棋过程

七、简单的职工管理系统

1.问题描述

对单位的职工进行管理,包括插入、删除、查找、排序等功能。

2.要求

职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。

(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。

(3)查询:从职工管理文件中查询符合某些条件的职工。

(4)修改:检索某个职工对象,对其某些属性进行修改。

(5)排序:按某种需要对职工对象文件进行排序。

3.实现提示

职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(2)对职工对象中的"姓名"按字典顺序进行排序。

(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。

4.选做内容

将职工对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、排序等操作。

八、全国铁路运输网最佳经由问题

1.问题描述

这是上海铁路局目前仍在使用的行包托运软件中的一部分内部算法。该题目采用1995年年底我国铁路运输网的真实数据进行编程和运行验证。

铁路运输网络中由铁路线和火车站的两个主要概念,譬如:1号铁路线表示京广线,2号铁路线表示京沪线等。

铁路线对象包括铁路线编号,铁路线名称,起始站编号,终点站编号,该铁路线长度,通行标志(00B客货运禁行,01B货运通行专线,10B客运通行专线,11B 客货运通行)。

火车站对象包括所属铁路线编号,车站代码,车站名,车站简称,离该铁路线起点站路程及终点站路程。

2.要求

(1)查询某站所属的铁路线

(2)要求具备新增铁路线的管理功能

(3)要求具备新增车站的管理功能

(4)针对客运,货运情况能计算任何一个起始车站到任何一个终点站之间的最短路径。并且要求能够显示出该最短路径的各个火车站的经由顺序

3.实现提示

该题的解题思路可以参考第六大题。

九、教学计划编制问题

[问题描述]

大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学

期,每学期的时间长度和学分上限值均相等,每个专业开设的课程都是确定的,而且课程在

开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,

也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。

[基本要求]

(1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。

(2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。

(3)若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式自行设计。

[测试数据]

学期总数:6;学分上限:10;该专业共开设12门课,课程号从C01到C12,

可设学期总数不超过12,课程总数不超过100。如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。应建立内部课程序号与课程号之间的对应关系。

十、哈夫曼编/译码器

[问题描述]

利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼编/译码系统。

[基本要求]

一个完整的系统应具有以下功能:

(1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。

(2)E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。

(3)D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。

(4)P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码写入文件CodePrint中。

(5)T:印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。

[测试数据]

(1)数据一:已知某系统在通信联络中只可能出现8种字符,其概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11,以此设计哈夫曼编码。利用此数据对程序进行调试。

(2)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以

(1)文件CodeFile的基类型可以设为子界型bit = 0..1。

(2)用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q”,表示运行Quit。请用户键入一个先把功能符,些功能执行完毕后再经菜单,直至某次用户先把了“E”为止。

(3)在程序的一次执行过程中,第一次执行I、D或C命令之后,哈夫曼树已经在内存了,不必再读入。每次执行中不一定执行I命令,因为文件hfmTree 可能早已建好。

十一、哈希表设计

[问题描述]

针对自己的班集体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。

[基本要求]

假设人名为中国姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构照,用链表法处理冲突。

[测试数据]

读取熟悉的30个人的姓名。

说明:一般题目可以由2个同学合作完成,但分工必须明确,各自完成独立功能函数。

数据结构课程设计报告模板

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

期末试卷答案

《有机化学》05/06第二学期期终考试试卷 班级 姓名 成绩 题号 1 2 3 4 5 6 7 总分 得分 一、命名或写结构。(10%) 1、 写出3-苯基丙烯醛的构造式。 H C CHCHO 2、 写出4, 4′-偶氮苯二甲酸的构造式。 HOC N N O COOH 3、 写出 的系统名称。 (R )-2-氯丙酸 4、 写出3-甲基四氢呋喃的构造式。 O H 3C 5、写出氯化三甲基十二烷基铵的构造式。 (CH 3)3N(CH 2)11CH 3Cl + - 6、写出 的名称。 2,3-二氢吡咯 7、写出4-戊酮醛的构造式。 H 3C C O CH 2CH 2CHO 8、写出2-甲基-2-硝基丙烷的构造式。

C CH 3 H 3C CH 3 NO 2 9、写出γ-羟基戊酸的构造式。 CH 3CHCH 2CH 2COOH OH 10、写出DMF 的构造式。 HC O N CH 3 CH 3 二、完成反应(20%)(每空一分) 1、 H 3C C O CH C O O C 2H 5 ; H 3C O C C H 2 ; H 2 C COOH 2、 H 3C C O CH OCH 3OCH 3 ; H 3C OH C C 2H 5 CH O 3、 C O NK C O ; C O O -C O O -;(CH 3)2CHCH 2NH 2

4、 H 3C OH C CH 3 CN ; H 3C H 3 C CH 3CH 3O O O O 5、 NaSH ;O 2N N 6、 CH 3 CH=CHCOOH ; CH 3 CH=CHCH 2OH 7、 HOOC-COOH ;HOOC-CH 2OH 8、 CH 22H 5ZnBr O ; C OH CH 3 CH 2CH OH COOH 三、理化性质比较(12%) 1、将下列化合物按p K a 值大小排列次序:( B 〉A 〉C ) (A)、间羟基苯甲酸 (B)、对羟基苯甲酸 (C)、对氯苯甲酸 2、将下列化合物按沸点高低排列成序:( A 〉B 〉C ) (A) CH 3CH 2CH 2COOH (B) CH 3CH 2CH 2CH 2OH (C) CH 3COOCH 2CH 3 3、 比较下列化合物在NaOH 水溶液中的溶解度大小:( C 〉A 〉B ) (A) CH 3(CH 2)3CNO 2 (B) (CH 3)3CNO 2 (C) O 2NCH 2NO 2 4、 将下列化合物按酸性大小排列成序:( A 〉B 〉C 〉D ) (A) C 6H 5SO 3H (B) C 6H 5COOH (C) C 6H 5OH (D) C 2H 5OH 5、将下列负离子按碱性大小排列成序:(B 〉A 〉C )

数据结构课程设计

1.一元稀疏多项式计算器 [问题描述] 设计一个一元稀疏多项式简单计算器。 [基本要求] 输入并建立多项式; 输出多项式,输出形式为整数序列:n, c1, e1, c2, e2,……, cn, en ,其中n是多项式的项数,ci, ei分别是第i项的系数和指数,序列按指数降序排序; 多项式a和b相加,建立多项式a+b; 多项式a和b相减,建立多项式a-b; [测试数据] (2x+5x8-3.1x11)+(7-5x8+11x9)=(-3.1x11+11x9+2x+7) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2-x2+7.8x15)=(-7.8x15-1.2x9-x+12x-3) (1+x+x2+x3+x4+x5)+(-x3-x4)=(x5+x2+x+1) (x+x3)+(-x-x3)=0 (x+x2+x3)+0=(x3+x2+x) [实现提示] 用带头结点的单链表存储多项式,多项式的项数存放在头结点中。 2.背包问题的求解 [问题描述] 假设有一个能装入总体积为T的背包和n件体积分别为w1, w2, …,wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1+w2+…+wn=T,要求找出所有满足上述条件的解。例如:当T=10,各件物品的体积为{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2)、(1,4,5)、(8,2)、(3,5,2) [实现提示] 可利用回溯法的设计思想来解决背包问题。首先,将物品排成一列,然后顺序选取物品转入背包,假设已选取了前i件物品之后背包还没有装满,则继续选取第i+1件物品,若该件物品“太大”不能装入,则弃之而继续选取下一件,直至背包装满为止。但如果在剩余的物品中找不到合适的物品以填满背包,则说明“刚刚”装入背包的那件物品“不合适”,应将它取出“弃之一边”,继续再从“它之后”的物品中选取,如此重复,直至求得满足条件的解,或者无解。 由于回溯求解的规则是“后进先出”因此自然要用到栈。 3.完全二叉树判断 用一个二叉链表存储的二叉树,判断其是否是完全二叉树。 4.最小生成树求解(1人) 任意创建一个图,利用克鲁斯卡尔算法,求出该图的最小生成树。 5.最小生成树求解(1人) 任意创建一个图,利用普里姆算法,求出该图的最小生成树。 6.树状显示二叉树 编写函数displaytree(二叉树的根指针,数据值宽度,屏幕的宽度)输出树的直观示意图。输出的二叉树是垂直打印的,同层的节点在同一行上。 [问题描述] 假设数据宽度datawidth=2,而屏幕宽度screenwidth为64=26,假设节点的输出位置用 (层号,须打印的空格数)来界定。 第0层:根在(0,32)处输出;

数据库课程设计(完整版)

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师:

20年 12月1日 目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7 1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20

参考文献 20 引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的

数据结构课程设计题目2010

一、数据结构课程设计要求 1.学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。 3.课程设计按照教学要求需要两周时间完成,两周中每天(按每周5天)至少要上2小时的上机来调试C 或C++语言设计的程序,总共至少要上机调试程序20小时。属教师安排上机时间学生不得缺席。 二、数据结构课程设计题目 1. 运动会分数统计(限1 人完成) 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 功能要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分, 3) 可以按学校编号或名称、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5) 数据存入文件并能随时查询 6) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2. 飞机订票系统(限1 人完成) 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

《操作系统》期末考题及答案

系级科班考生姓名学号 密○封○线 操作系统期考试题及答案 课程名称《操作系统》卷 A 另加添卷纸0 页 题号一二三四五六七八九十总分阅卷教师得分 得分一、单项选择(每题 2 分,共 5 题*2 分=10 分) 1、现代个人计算机操作系统的主要设计目标不包括下面的哪项()。 A、方便性 B、袖珍性 C、有效性 D、开放性 2、进程从执行状态进入就绪状态的原因可能是( )。 A、被选中占有处理机 B、等待某一事件 C、等待的事件已发生 D、时间片用完3、 当进程调度采用最高优先级调度算法时,从保证系统效率的角度来看,应提高()进程的优先级。 A、在就绪队列中等待时间长的 B、连续占用处理器时间长的 C、以计算为主的 D、用户 4、页式存储管理中,如果不采用Cache,则每次从主存中取指令或取操作数,要()次访问主存。 A、1 次 B、2 次 C、3 次 D、4 次 5、设备处理程序就是()。 A、通道处理程序 B、设备分配程序 C、I/O 进程与设备控制器之间的通信程序 D 缓冲管理程序 得分二、填空(每空 1 分,共20 空*1 分=20 分) 1、操作系统的特征主要有、、、。 2、用户编写程序时使用来请求操作系统服务。 3、进程的基本状态有、、。 4、如果系统中有n 个进程,则在阻塞队列中进程的个数最多可为个。 5、在操作系统中,不可中断或并发执行的原子操作称为。 6、一作业8:00 到达系统,估计运行时间为 1 小时,若10:00 开始执行该作业,其带权周转时间(即响应比)是。 7、银行家算法是预防死锁的方法之一吗(是/否)?。 8、进程调度算法采用时间片轮转法时,若时间片过大,就会使轮转法转变为调度算法。 9、分页式存储管理中,页表是用来指出进程的与之间的对应关系。 10、计算机CPU 位32bit,内存为32MB ,该机的物理空间为MB,逻辑空间为MB 。 11、按存取控制属性分类,可将文件分为、、三类。 得分三、名词解释(每题 2 分,共 5 题*2 分=10 分) 1、并发——

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

数据库课程设计(自己做的)

——货存控制系统 6、1数据库设计概述 ㈠数据库设计的概念:数据库设计就是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求与处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。 ㈡数据库设计的特点 1、数据库建设就是硬件、软件与干件的结合:三分技术、七分管理、十二分基础数据,技术与管理的界面称之为干件。 2、数据库设计过程就是结构设计与行为设计的密切结合:结构设计就是设计数据库结构,行为设计就是设计应用程序、事务处理等。 ㈢数据库设计的方法 1、手工试凑法:设计质量与设计人员的经验与水平有直接关系,缺乏科学理论与工程方法的支持,工程质量难保证。 2、规范设计法:基本思想就是过程迭代与逐步求精。 ㈣数据库设计的基本步骤 准备工作:选定参加设计的人员。 ⑴分析员:数据库设计的核心人员,自始至终参与数据库设计,其水平决定了数据库系统的质量。 ⑵用户:主要参加需求分析与数据库的运行维护,用户的积极参与将加速数据库设计,提高数据库设计的质量。 ⑶程序员:在系统实施阶段参与进来,负责编制程序。 ⑷操作员:在系统实施阶段参与进来,准备软硬件环境。 ㈤数据库设计的过程(六个阶段) 1、需求分析阶段: 准确了解与分析用户需求(包括数据与处理),就是整个设计过程的基础,就是最困难、最耗费时间的一步。 2、概念结构设计阶段: 整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 3、逻辑结构设计阶段: 将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。 4、数据库物理设计阶段: 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构与存取方法)。 5、数据库实施阶段: 运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计与物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行试运行。 6、数据库运行与维护阶段: 数据库应用系统经过试运行后即可投入正式运行,在运行过程中不断对其进行评价、调整与修改。 设计一个数据库应用系统往往就是上述六个阶段的不断反复。 ㈥数据库设计各阶段的模式形成: 1、需求分析阶段:综合各个用户的应用需求。 2、概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)。

期末考试卷及答案

《学前儿童游戏》期末考试卷及答案班级姓名成绩 一、单项选择题。 1.现代意义上的积木来源于( B )。 A.希尔地面积木 B.福禄贝尔的“恩物” C. 以原木制成的“单元积木” D. 蒙氏教具中的积木 2.在游戏中,幼儿总能通过不断尝试,找到适合自己能力与兴趣的游戏内容和方式方法,获得满足感和自信心。在这个过程中,游戏让幼儿获得了( C )内部心理体验。 A. 兴趣性体验 B.自主性体验 C. 胜任感体验 D.幽默感体验 3.幼儿利用积木、积塑、橡皮泥、竹木制品或者金属配件材料等进行游戏,或者用沙、泥、雪等材料进行的游戏,这类游戏称为( D )。 A.表演游戏 B.角色游戏 C. 智力游戏 D.结构游戏 4.在角色游戏中,幼儿会以物代物,一根小小的冰糕棍,幼儿可以想象成吃饭的筷子、喝汤的勺子、炒菜的铲子等,这体验了角色游戏的( A )特点。 A.假想性 B.主动性 C.创造性 D. 模仿性 5.从幼儿的立场上考虑,幼儿园游戏实施时应遵循( C )原则。 A.教育性 B.发展性 C.主体性 D.创造性

6.亲子游戏的早期阶段和启蒙阶段是( C )。 A.1岁前 B.6岁前 C.婴儿时期 D.幼儿时期 7.由于0~2岁的婴儿处于感知运动阶段,因而婴儿游戏以( B )为主。 A.象征性游戏 B.练习性游戏 C.结构游戏 D.角色游戏 8.学前儿童游戏现场指导中教师的双重身份是( A )。 A.既是教育指导者又是游戏伙伴 B.既是权威者又是游戏伙伴 C.既是游戏支持者又是游戏观察者 D.既是游戏观察者又是游戏的评价者 9.大家一起玩雪花片,插一个小公园,甲插小桥,乙插小花、丙插树??大家组合一起就成为一个小公园。这属于( C )。 A、平行的游戏B、联合游戏 C、合作游戏D、单独的游戏 10.实践证明,游戏由于能大量提供体育运动、技能训练,动手操作的机会,因此对发展( B ) 非常有利。 A.大脑左半球 B.整个大脑 C大脑右半球 D.小脑 二、简答题。 1.简述结构游戏的教育作用。P83 2.简述在指导幼儿开展结构游戏的过程中,教师的基本任务。P85

大工15春《SQL数据库课程设计》模板及要求(最新)

大工15春《SQL数据库课程设计》模板及要求网络教育学院 《SQL数据库课程设计》 题目:XX系统的设计与实现 学习中心: 专业: 年级:年春/秋季

学号: 学生: 指导教师: 《SQL数据库课程设计》要求 《SQL数据库课程设计》是大连理工大学网络教育学院计算机应用技术专业开展的一项实践教学环节,是理论联系实践的纽带和桥梁,是培养学生综合运用所学知识解决实际问题的有效手段。该课程设计要求如下:1.要求学生以SQL Server 2008或其他版本为后台数据库,以VB、VC 或其他开发工具作为前台开发工具,围绕自己选定的某一个具体的系统完成一个小型数据库应用系统的开发,例如《图书管理系统的设计与实现》《书店管理系统的设计与实现》等。其课程设计具体内容包括项目概况、需求分析、详细设计等,详见课程离线作业中上传的《SQL数据库课程设计模板》。 注意:禁止撰写《学生成绩管理系统》课程设计!! 2.要求学生必须按照《SQL数据库课程设计模板》提供的格式和内容进行课程设计,完成课程设计模板提供的全部课程设计内容,字数要求达到3000字以上。 3.学生在进行课程设计的过程中,可参考辅导教师在导学资料中上传的

文献资料,有问题可通过课程论坛答疑。 4.2015年春季学期学生提交本课程设计形式及截止时间 学生需要以WORD附件形式(附件的大小限制在10M以内)将完成的课程设计以"离线作业"形式上传至课程平台中的"离线作业"模块,通过选择已完成的课程设计,点"上交"即可,如下图所示。 截止时间:2015年9月1日。在此之前,学生可随时提交课程设计,如需修改,可直接上传新文件,平台会自动覆盖原有文件。 5.课程设计批阅 老师会在离线作业关闭后集中批阅课程设计,在离线作业截止时间前不进行任何形式的批阅。 注意: 本课程设计应该独立完成,不准抄袭他人或者请人代做,如有雷同作业,

数据结构课程设计报告范本

数据结构课程设计 报告

数据结构课程设计报告 压缩软件 一·问题描述 利用哈夫曼编码设计一个压缩软件,能对任何类型的文件进行哈夫曼编码,产生编码后的文件——压缩文件;也能对输入的压缩文件进行译码,生成压缩前的文件——解压文件。 二·基本要求 要求编码和译码的效率尽可能地高。 三·工具/准备工作 已学内容:哈夫曼树,哈夫曼树构造算法,哈夫曼编码,Huffman压缩算法。 需要的硬件设施与开发软件:一台计算机,并安装了Visual C++. 四·分析与实现 Huffman树中,叶子结点包含字符以及对应的字符频度(权值) struct HTNode{ //压缩用Huffman树结点 unsigned long weight; //字符频度(权值) unsigned int parent,lchild,rchild; };

使用哈夫曼编码能够对文件进行压缩,由于字符的哈夫曼编码以比特为单位,而当将哈夫曼编码以压缩文件进行存储时,压缩文件最少以字节为单位进行存储,因此需要定义字节缓冲器,以便自动将比特转换为字节,定义如下: struct Buffer{ //字节缓冲压缩用Huffman树 char ch; //字节 unsigned int bits; //实际比特数 }; 定义哈夫曼树的抽象基类模板,实现建树,压缩,解压等功能 class HuffmanTree{ //Huffman树 public: void Code(); //编码 void UnCode(); //译码 private: HTNode HT[m+1]; //树结点表(HT[1]到HT[m]) char Leaf[n+1]; //叶结点对应字符(leaf[1]到leaf[n]) char *HuffmanCode[n+1]; //叶结点对应

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

英语期末考试答案

一:单选题 friend's feelings by not inviting her to the party. A:wounded B:harmed D:injured people in our country are encouraged to_____the management of state affairs. A:admit into C:take part D:attend into a skilled tennis player knows how to take_____of his opponent's chief weakness. A:use C:chance D:utility expect that you will want to inquire_____the reasons for the decision. B:on C:into D:after in a most gracious manner. B:behaved C:deported D:acted are suffering from low_____. A:moral B:mortal C:mortality the rebels____the ceasefire A:comply C:conform D:obey look forward____you soon. A:to see C:for seeing D:with seeing this entrance exam means_____for a year. A:wait B:to wait C;to be waited regret_____you that piece of bad news.

数据结构课程设计

《数据结构》 课程设计报告 学号 姓名 班级 指导教师 安徽工业大学计算机学院 2010年6月

建立二叉树和线索二叉树 1.问题描述: 分别用以下方法建立二叉树并用图形显示出来: 1)用先序遍历的输入序列 2)用层次遍历的输入序列 3)用先序和中序遍历的结果 2.设计思路: 分三个方式去实现这个程序的功能,第一个实现先序遍历的输入数列建立二叉树;第二个是用层次遍历的方法输入序列;第三个是用先序和后序遍历的结果来建立二叉树;三种方法建立二叉树后都进行输出。关键是将这三个实现功能的函数写出来就行了;最后对所建立的二叉树进行中序线索化,并对此线索树进行中序遍历(不使用栈)。 3.数据结构设计: 该程序的主要目的就是建立二叉树和线索二叉树,所以采用树的存储方式更能完成这个程序; 结点的结构如下: typedef struct bnode { DataType data; int ltag,rtag; struct bnode *lchild, *rchild; } Bnode, *BTree; 4.功能函数设计: BTree CreateBinTree() 用先序遍历的方法讲二叉树建立; BTree CREATREE() 用队列实现层次二叉树的创建; void CreatBT(); 用先序和中序遍历的结果建立二叉树; void InThread(BTree t,BTree pre) 中序线索化; 5.编码实现: #include #include #define max 100 typedef struct bnode { char data; int ltag,rtag; struct bnode *lchild,*rchild; }Bnode,*BTree; BTree Q[max]; BTree CREATREE() { char ch; int front=1,rear=0;

数据库课程设计(完整版)

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日

目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7 1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20

引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

数据结构课程设计格式参考

郑州师范学院软件工程专业 数据结构课程设计报告 设计题目: 班级: 组长:姓名(学号) 组员:姓名(学号)… 指导教师: 完成日期: 成绩:

目录 1需求分析 (1) 1.1功能分析 (1) 1.2设计平台 (1) 2概要设计 (2) 2.1类LinkList (4) 2.2类Joseph (4) 2.3类异常处理 (4) 3详细设计和实现 (4) 3.1创建结点Node (5) 3.2创建双向循环链表 (6) 3.3从链表中删除结点 (7) 4调试与操作说明 (11) 4.1调试情况 (11) 4.2操作说明 (11) 5设计总结 (12) 参考文献 (13) 附录 (13)

1需求分析 1.1功能分析 本次选做的课程设计是改进约瑟夫(Joseph)环问题。约瑟夫环问题是一个古老的数学问题,本次课题要求用程序语言的方式解决数学问题。此问题仅使用单循环链表就可以解决此问题。而改进的约瑟夫问题通过运用双向循环链表,同样也能方便地解决。 在建立双向循环链表时,因为约瑟夫环的大小由输入决定。为方便操作,我们将每个结点的数据域的值定为生成结点时的顺序号和每个人持有的密码。进行操作时,用一个指针current指向当前的结点,指针front始终指向头结点。然后建立双向循环链表,因为每个人的密码是通过rand()函数随机生成的,所以指定第一个人的顺序号,找到结点,不断地从链表中删除链结点,直到链表剩下最后一个结点,通过一系列的循环就可以解决改进约瑟夫环问题。 1、本演示程序中,利用单向循环链表存储结构模拟约瑟夫问题的进行。程序运行后,首先要求用户指定初始报数上限值,然后读取个人的密码。可设n ≤30。此题所用的循环链表中不需要“头结点”,因此在程序设计中应注意空表和非空表的界限。 2、演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令:相应的输入数据和运算结果显示在其后。 3、程序执行的命令包括: 1)构造约瑟夫环;2)执行约瑟夫环,并输出出列人的序号以及相应的密码; 3)结束。 4、测试数据 1)m的初始值为20; 2)n=7,7个人的密码依次为:3、1、7、2、4、8、4。 3)首先m值为6,正确的出列顺序应为6、1、4、7、2、3、5。 1.2设计平台

数据结构课程设计

一、高校社团管理 在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现以下功能:1.社团招收新成员; 2.修改社团相应信息 3.老成员离开社团 4.查询社团情况; 5.统计社团成员数; 二、简单文本编辑器 设计一个文本编辑器,允许将文件读到内存中,也就是存储在一个缓冲区中。这个缓冲区将作为一个类的内嵌对象实现。缓冲区中的每行文本是一个字符串,将每行存储在一个双向链表的结点中,要求设计在缓冲区中的行上执行操作和在单个行中的字符上执行字符串操作的编辑命令。 基本要求: 包含如下命令列。可用大写或小写字母输入。 R:读取文本文件到缓冲区中,缓冲区中以前的任何内容将丢失,当前行是文件的第一行; W:将缓冲区的内容写入文本文件,当前行或缓冲区均不改变。 I:插入单个新行,用户必须在恰当的提示符的响应中键入新行并提供其行号。 D:删除当前行并移到下一行; F:可以从第1行开始或从当前行开始,查找包含有用户请求的目标串的第一行; C:将用户请求的字符串修改成用户请求的替换文本,可选择是仅在当前行中有效的还是对全文有效的。 Q:退出编辑器,立即结束; H:显示解释所有命令的帮助消息,程序也接受?作为H的替代者。 N:当前行移到下一行,也就是移到缓冲区的下一行; P:当前行移到上一行,也就是移到缓冲区的上一行;

B:当前行移到开始处,也就是移到缓冲区的第一行; E:当前行移到结束处,也就是移到缓冲区的最后一行; G:当前行移到缓冲区中用户指定的行; V:查看缓冲区的全部内容,打印到终端上。 三、电话客户服务模拟 一个模拟时钟提供接听电话服务的时间(以分钟计),然后这个时钟将循环的 自增1(分钟)直到达到指定时间为止。在时钟的每个"时刻",就会执行一次检查来看看对当前电话服务是否已经完成了,如果是,这个电话从电话队列中删除,模 拟服务将从队列中取出下一个电话(如果有的话)继续开始。同时还需要执行一个检查来判断是否有一个新的电话到达。如果是,其到达时间被记录下来,并为其产生一个随机服务时间,这个服务时间也被记录下来,然后这个电话被放入电话队列中,当客户人员空闲时,按照先来先服务的方式处理这个队列。当时钟到达指定时间时,不会再接听新电话,但是服务将继续,直到队列中所偶电话都得到处理为止。 基本要求: (1)程序需要的初始数据包括:客户服务人员的人数,时间限制,电话的到达速率,平均服务时间 (2)程序产生的结果包括:处理的电话数,每个电话的平均等待时间 四、停车场管理 设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的交费(从进入便道开始计时)。在这里假设汽车从便道上开走时不收取任何费用 基本要求: (1)汽车的输入信息格式为(到达/离去的标识,汽车牌照号码,到达/离去的时间)

数据库课程设计题目及要求_韩军涛

数据库系统原理课程 设计指导

一、本课程的教学目的及基本要求 教学目的 本课程是为《数据库系统原理》课程所开的实践环节。数据库系统原理课程是一门实践性很强的技术课程,而且是计算机科学与技术中发展最快的领域之一。 本课程设计的目的旨在使学生能够掌握数据库的基本原理、数据库设计的基本方法、SQL语言的应用、SQL Server 2000/2008数据库环境的使用,并能根据所应用到的数据库管理系统的相关技术,按照规范化设计的方法解决现实中数据库设计的问题。 选修本课程前应已选修《数据库系统原理》课程,并熟练掌握SQL语言,以及数据库设计的规范化等基本方法。 先修课程:数据库系统原理。 教学基本要求 要求学生通过上机实验,培养学生的分析实际问题的能力,掌握复杂项目从需求到设计直到最后实现的基本方法,并对所设计的数据库进行测试与分析,使学生在数据库设计方面能够得到很大程度的提高。 课程设计基本要求: 1、(课前准备)掌握课堂教学内容,主要包括 (1)比较系统的掌握数据库原理的理论知识; (2)学会研究分析具体应用的需求,完成需求分析; (3)初步掌握在需求分析基础上设计数据库的能力; (4)熟练掌握一种数据库设计工具。 2、课程设计按以下步骤进行: (1)问题分析,理解问题,明确做什么,完成需求分析,写出系统的功能框架并给出每一系统功能的详细叙述。 (2)概念设计:在概念结构设计中画出ER图,在ER图中标出主码。可以有分ER图。 (3)逻辑结构设计:针对概念设计的结果做出逻辑结构设计并进行规范化,对表进行分解或必需的合并(要写出理由和根据)。对用户进行分类,有必要时可以给用户创建用户子模式(比如视图)并定义权限。 (4)物理设计:设计数据库的存储结构(包括索引的设计等)。

数据结构课程设计报告模板

校园导游系统设计 一、设计要求 1.问题描述 设计一个校园导游程序,为来访的客人提供信息查询服务。 2.需求分析 (1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 (2)存放景点代号、名称、简介等信息供用户查询。 (3)为来访客人提供图中任意景点相关信息的查询。 (4)为来访客人提供图中任意景点之间的问路查询。 (5)可以为校园平面图增加或删除景点或边,修改边上的权值等。 二、概要设计 为了实现以上功能,可以从3个方面着手设计。 1.主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图7-10所示。 2.存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中:各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum表示,它们是整型数据。 此外,本系统还设置了三个全局变量:visited[ ] 数组用于存储顶点是否被访问标志;d[ ]数组用于存放边上的权值或存储查找路径顶点的编号;campus是一个图结构的全局变量。 3.系统功能设计 本系统除了要完成图的初始化功能外还设置了8个子功能菜单。图的初始化由函数initgraph( )实现。依据读入的图的顶点个数和边的个数,分别初始化图结构中图的顶点向量数组和图的邻接矩阵。8个子功能的设计描述如下。 (1)学校景点介绍 学校景点介绍由函数browsecompus( )实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点简介。 (2)查看浏览路线 查看浏览路线由函数shortestpath_dij( )实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其它景点的最短路径线路及距离。 (3)查看两景点间最短路径

2019年期末试卷答案

平谷区2018-2019学年度第一学期期末质量监控试卷 初三语文答案及评分参考2019.1 一、基础·运用(共15分) 1.(1)答案:C(2分) (2)判断答案:②(1分) 理由答案示例: “吃水不忘挖井人”的意思是喝水的时候想起水是从哪儿来的,比喻不忘本。我们今天幸福的生活正是无数革命先烈用鲜血和生命换来的,因此我们缅怀他们就是不忘先烈的丰功伟绩。 (3分,选择1分,词语解释1分,结合句子分析1分) (3)答案:D(2分) (4)答案示例: 他们如同熠熠闪光的精神灯塔,提醒我们从哪里来,指引着我们又该去往哪里。 (2分,能够结合句意写出过渡的意思即可) 2.(1)答案:①南宋②文天祥(共2分,每空1分) (2)答案:C(2分) 3.答案:A(2分) 二、古诗文阅读(16分) (一)古诗文默写。(共3分) 4.答案:金樽清酒斗十千(1分,该空有错不得分) 5.答案:惟吾德馨(1分,该空有错不得分) 6.答案:会当凌绝顶(1分,该空有错不得分) (二)古诗词阅读。(共6分) 7.答案示例:世事难以预料(1分,意思对即可) 8.答案示例: 《黄鹤楼》中漂泊异乡的作者由长江对岸平野中清晰可见的树木和鹦鹉洲上长势旺盛的春草,想到了美好的家乡,面对江上的烟波,已不知乡关何处,不禁产生了满怀愁绪。《钱塘湖春行》中的作者骑马游春中看到早春西湖莺燕争抢的“暖树”,绿毯般的“浅草”,一派蓬蓬勃勃的春意,诗人置身其间,产生喜悦之情。 (4分,《黄鹤楼》和《钱塘湖春行》各2分,分析1分,情感1分) 9.答案示例:蒹葭苍苍(1分,该空有错不得分) (三)文言文阅读。(共7分) 10.答案:B(2分) 11.答案:甲(2分) 12.答案要点: “忧患意识”在孟子身上体现是个人成长是否能够担当大任,国家是否兴盛;“忧患意识”在孔子身上的体现为担忧的百姓的疾苦;“忧患意识”在文公身上体现为国家能否得到人民的拥护和支持。 (3分,共3点,每点1分)

相关文档