1.设计一个将双链表逆置的算法 invert-dblinklist(),其中头指针为head,结点数据域为data,两个指针域分别为prior和next。
2.有一个带头结点的单链表,所有元素值以非递减有序排列,head为其头指针,编写算法deldy-list()将该链表中多余元素值相同的结点删除。
3.学生自选题。写出课设报告。
4.设计一个递归算法来实现字符的逆序存储,要求不另设存储空间。
5.一个仅由字母组成的字符串s,长度为n,其结构为单链表,每个结点的数据域只存放一个字母。设计一个算法,去掉字符串中所有值为x的字母。
6.设计一个算法,找出并打印一个两维数组中的鞍点(指该位置上的元素在该行上最大,在该列上最小)。
7.有两个稀疏矩阵的三元组triple-a和triple-b,请利用三元组这种数据结构,设计一个算法,实现两个稀疏矩阵的相加与相乘,结果存入三元组表triple-c中。
8.用递归的方法设计一个建立二叉树并求其深度的算法。
9.设计一个将一棵二叉树复制给另一棵二叉树的算法。
10.已知一棵二叉树用二叉链表表示,其根指针为t, 设计一个算法,从根结点开始按层次遍历二叉树,同层的结点按从右到左的次序进行访问。
11.假设图采用邻接表表示,设计一个从顶点v0对图按深度优先搜索遍历的非递归算法。
12.有一个无向图采用邻接表的存储结构,设计一个算法,以遍历的形式输出从顶点v到顶点w的路径中长度为len的简单路径。
13.以邻接表作为存储结构,设计一个算法,利用深度优先搜索法,求出在无向图中通过给定点w的简单回路的算法。
14.设哈希函数为h(key)=key%19, 设计一个用链接表解决冲突的哈希表插入函数的算法。
15.设哈希函数为h(key)=key%19, 解决冲突的方法是链地址方法,设计一个从哈希表中删除关键字为key的一个记录的算法。
16.哈夫曼编/译码器。问题描述:利用哈弗曼编码进行通信可以大大提高通道利用率,缩短信息传输时间,降低传输成本。
要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。请为这样的信息收发站写一个哈弗曼码的编/译码系统。
系统基本具备的功能:
1、i:初始化(initialization)/e:编码(encoding)/d译码(decoding)。
2、p:印**文件(print)/t印哈弗曼树(tree printing)。
17.教学计划编制问题。问题描述:大学的每个专业都要制定教学计划。
假设任何专业都有固定的学习年限,每个学年含两个学期,每个学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排上必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。
每门课恰好占一个学期。请在此前提下设计教学计划编制程序。
基本要求:1、输入参数包括:学期总数,一学期的学分上线,每门课的课程号,学分和直接先修课的课程号。
2、允许用户指定两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期。
18.最小生成树问题。问题描述:若在n个城市之间建设通信网,只需要架设n-1条线路即可。
如何以最经济的代价建设此通信网,是网的最小生成树问题。基本要求:1、利用kruskal算法求网的最小生成树。
2、实现教科书6.5节中定义的抽象数据类型mfset,以此表示构造生成树工程中的联通分量。
3、以文本的方式输出生成树中各条边及它们的权值。
19.全国交通咨询模拟。问题描述:旅客对交通工具有不同的要求。
例如:出公差的旅客希望旅途的时间尽可能短,旅游的旅客则期望旅费尽可能省,老年人则要求中转次数尽可能少。请编制一个交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。
基本要求:1、提供对城市信息进行编辑(添加或删)的功能。
2、城市间有两种交通工具:飞机和火车。提供对列车时刻表和飞机航班进行编辑(增设或删除)功能。
3、提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具。
4、旅途中耗费的总时间应该包括中转站的等待时间。
5、咨询以计算机会话的方式进行。
20.校园导游咨询。请编制一个为客人来访进行最短路径导游的程序。基本要求:
1、从我校园的平面图中选取15个有代表性的景点,抽象成一个无向带权图。以图中顶点表示景点,边上的权值表示两地之间的距离。
2、本题目目的是为客人提供路径咨询。根据客人指定的始点和终点输出相应路径,或者根据客人指定的景点输出景点的信息。
21.设计一种存储结构存储无向图和网的对称矩阵,编制图的基本操作,并验证之。
22.采用三元组顺序表存储结构存储图的邻接矩阵,编制图的基本操作,并验证之。
23.采用带双亲的孩子链表存储结构,编制树的基本操作,并验证之。
24.采用行逻辑链接的顺序表存储结构存储图的邻接矩阵,编制图的基本操作,并验证之。
25.设计一个一元稀疏多项式简单计算器。基本要求:简单计算器基本功能是:
1、输入并建立多项式;
2、多项式a和b相加,建立多项式a+b
3、多项式a和b相减,建立多项式a-b
4、输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,..cn,en,其中n是多项式的项数,ci是第i项的系数,ei是第i项的指数,序列按指数降序排列。
26.停车场管理。问题描述:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车出入。
汽车在停车场内按车辆到达时间的先后次序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在最北边),若停车场已停满n辆车,则后来的汽车只能在门外的便道等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某车辆要离开时,在它之后进入的车辆必须先退出车场为它让路,待该车辆开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时,必须按它停留的时间长短缴纳费用。请按上述要求编制停车场管理的模拟程序。
基本要求:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的数据序列模拟管理。每一组输入数据包括三个数据项:
汽车“到达”“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应缴纳的费用(在便道上停留的时间不收费)。
栈以顺序结构实现,队列以链表结构实现。
27.车厢调度。问题描述:假设停留在铁路调度站(如教科书p44图3.
1(b)所示)入口处车辆序列的编号依次为1,2,3,。。n。请设计一程序,求出所有可能由此输出的长度为n的车箱序列。
基本要求:首先在教科书3.1.
2节中提供的栈的顺序存储结构sqstack之上实现栈的基本操作,即实现栈类型。程序对栈的任何存取(即更改,读取和状态判别等操作)必须借助于基本操作进行。
28.电梯模拟。问题描述:设计一个电梯模拟系统。
这是一个离散的模拟程序,电梯系统是乘客和电梯等“活动体”构成的集合,虽然他们彼此交互作用,但其行为是独立的。在离散的模拟中,以模拟的时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一时刻。 基本要求:
1、模拟某单位9层电梯系统。第1层是大楼进出层---即本垒层。
2、乘客可以随机进出于任何层。对人而言,他有一个能容忍的最长等待时间,一旦等待电梯时间过长,他将放弃。
3、模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费时间。
4、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。
29.迷宫问题。问题描述:以一个nxm的长方形阵表示迷宫,0和1分别表示迷宫中的通路和障碍。请设计一个程序,对任定设计的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
基本要求:首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:
(i,j)指示迷宫中的一个坐标,d表示走到下一个坐标的方向。
30.简单行编辑程序。问题描述:文本编辑程序是利用计算机进行文字加工的基本工具,实现对文本文件的插入、删除和修改操作。
限制这些操作以行为单位进行的行编辑程序称为行编辑程序。 被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的作法即不经济,也不总能实现。一种解决方法是逐段地编辑。
任何时候只把待编辑文件的一段放在内存,称为活区。请按照此方法实现一个简单的行编辑程序。设文件每行不超过320个字符,很少超过80个字符基本要求:
实现4种基本编辑命令:
1.行插入; 2、行删除; 3、活区切换; 4、活区显式。
31.程序分析。问题描述:读入一个c程序,统计程序中**、注释和空行的行数以及函数的个数和平均行数,并利用统计信息分析该程序的风格。
基本要求:1、把c程序文件按字符顺序读入源程序;
2、边读入源程序,边识别统计**行、注释和空行,同时识别函数的开始和结束,以便统计其个数和平均数。
3、程序的风格评价分为**行、注释和空行三个方面。每个方面分为和d四个等级,等级的划分标准如下:
abcd **平均长度 10~15行 8~9或16~20行 5~7或21~34行 《5或》24行
注释(占总行数比率)15~25% 10~14或26~30% 5~7或31~35% 《5%或》35%
空行(占总行数比率)15~25%10~14或26~30% 5~7或31~35% 《5%或》35%
32.文学研究助手。问题描述:文学研究人员需要统计某篇英文**中某些形容词的出现次数和位置。请编写一个实现这一目标的文字统计系统,称为“文学研究助手”。 基本要求:
英文**存储于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成,程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。
33.运动会分数统计。问题描述:参加运动会的n个学校编号为1~n。
比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前5名,得分顺序为7,5,3,2,1;还有些项目取前3名,得分顺序为5,3,2.请编写一个统计程序,产生各种成绩单和得分报表。
基本要求:产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号,名次(成绩)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。
课程设计题目
2011年工厂供配电技术课程设计题目。某大型铸造工厂配电一次系统设计。任务书 广东水利电力职业技术学院电力工程系。2011年6月广州。1.原始资料。1.1全厂用电设备情况 1 负荷大小。全厂用电设备总安装容量 6630kw 10kv侧计算负荷总容量 有功功率4921kw 无功功率1512kvar各车...
课程设计题目
课程设计ii题目。指导教师 叶晓国。1目的与总体要求。课程设计的目的是对学生专业课所学知识的进一步巩固和提高。本课程设计主要为了巩固 计算机网络 课程知识,使学生加深对课内所学的有关计算机网络体系结构 网络协议,网络安全,网络管理等知识的理解,通过实际开发小型的计算机网络工程项目,提高网络协议分析和...
课程设计题目
滨州学院2011 2012学年第二学期。电气工程与自动化专业 本 2009级 单片机原理与应用 课程设计。一 数字秒表设计。设计一个数字秒表,具有如下功能 当用户按下开始键后开始计时,计时范围00 99s,每秒加1,超过99秒自动清零 当用户按下停止键后停止计时,显示不变 当用户按下复位键后,显示0...