java算法分析习题集

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

序号项目名称任务描述设计要求

1.C语言

词法分

析算法

设计与

实现编制一个读单词过程,从输入的源程序中,识别出各个具有

独立意义的单词,即基本保留字、标识符、常数、运算符、

分隔符五大类。

输入:一段C语言程序

输出:每个单词以及每个单词所在行号

比如:输入如下一段C程序

main()

{

int a,b;

}

输出为:

( mian, ”line=1”);

( ( , ”line=1“);

( ) , ”line=1”);

({ , ”line=2”);

( int, “line=2”);

……………

用Java语言,或者C语

言,推荐用Java语言。

完成所要有的C语言词

法分析器。

要求:读文件,或者命令

行的形式读取C源程序,

输出源程序中每个单词

以及每个单词所在行号。

要求:开发出图形化界

面,读文件,把结果输出

到界面上。

2.利用分

治思想

设计循

环赛日

程表假设有n=2k 个运动员要进行网球循环赛。设计一个满足一

下要求的比赛日程表:

(1). 每个选手必须与其他n-1个选手各赛一次

(2). 每个选手一天只能赛一次

(3). 循环赛一共进行n-1天

利用Java语言开发一个

界面,输入运动员的个

数,输出比赛日程表。

对于输入运动员数目不

满足n=2k时,弹出信息

提示用户。

3.字符串

之间最

小编辑

距离算

法设计

与实现假设A和B是两个字符串。用最小的字符操作将字符串A

转换为字符串B。字符串操作包括:

(1)删除一个字符

(2)插入一个字符

(3)将一个字符改为另一个字符

利用Java语言做一个图

形化界面,界面能够接受

两个字符串或者从文件

读取字符串,输出他们之

间的编辑距离

4.最少个

数运算

符求解

算法的

设计与

实现关于整数的二元运算#定义为

(X # Y) = 十进制整数X的各位数字之和* 十进制整数Y

的最大数字+Y的最小数字

例如,(9 # 30)=9*3+0=27.

对于给定的十进制X和K,由X和#运算可以组成各种不

同的表达式.试设计一个算法,计算由X和#运算组成的值为

k的表达式最少需要用多少个#预算。

利用Java实现所要求

的算法,开发一个GUI

界面,接受两个数据X

和K, 然后在界面上输出

需要#的个数。

5.放行路

线选择

算法的

设计与

实现设有n个城市(或者景点),今从某市出发遍历各城市,使之旅

费最少(即找出一条旅费最小的路径)

输入:各城市间的旅费表有输入文件提供

输出:旅费最少的一条路径及总费用。

利用Java, C实现所要求

的算法。

时间充分,设计一个图形

化界面,读入文件后把N

个城市的带权(花费)显

示在界面上,经过求解后

把旅费最小的路径求出

来,并显示在界面上

6.猜比赛

名次问

题的求

解算法

设计与

实现五个学生A、B、C、D、E 参加某一项比赛。甲、乙两人在

猜测比赛的结果。甲猜的名次顺序为A、B、C、D、E,结

果没有猜中任何一个学生的名次,也没有猜中任何一对相邻

名次(所谓一对相邻名次,是指其中一对选手在名次上邻接。

例如1与2,或者2与3等)。

乙猜的名次顺序为D、A、E、C、B,结果猜中了两个学生

的名次,并猜对了两对学生名次是相邻的。问比赛结果如

何?

利用穷举法,设计算法对以上问题求解。

利用Java或者C 对所描

述任务进行求解。

7.查找数

字对问

题求解

算法的

设计与

实现输入N(2<=N<=100)个数字(在0到9之间),然后统计出这

组数中相邻两数字组成的链环数字对出现的次数。

输入:N=20

0 1 5 9 8 7 2 2 2 3 2 7 8 7 8 7 9

6 5 9

输出:(7,8)=2 (8,7)=3{指(7,8)、(8,7)数字对出现次数分

别是2次、3次

设计一个GUI界面,能

够接受用户的输入,也能

够从文件中读取数据。在

界面上输出所要求的结

果,并把结果存储到文件

8.有向图

单源最

短路径

算法的

实现(1)掌握单源最短路径算法思想。(Dijkstra算法)

(2)设计一个至少有10个顶点的有向图,并用随机数产生

其各边的权值。

(3)利用单源最短路径算法思想,对其所产生的有向图,

找出从某源点出发,到其它各顶点的最短路。

(1)设计一个界面,显

示产生的有向图。

(2)实现单源最短路径

算法。

(3)在输出界面,显示

结果(在有向图中,标记

出从源到各顶点的路

径)。

9.有向图

单源最

短路径

分支限

界算法(1)掌握单源最短路径分支限界算法思想。

(2)设计一个至少有10个顶点的有向图,并用随机数产生

其各边的权值。

(3)利用单源最短路径分支限界算法思想,对其所产生的

(1)设计一个界面,显

示产生的有向图。

(2)实现单源最短路径

分支限界算法。

(3)在输出界面,显示

相关文档
最新文档