关键词不能为空

当前您在: 主页 > 高中公式大全 >

保安门无优先级问题

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-05 18:19
tags:无优

亲子游戏活动-年会表演什么节目好

2021年1月5日发(作者:邢球痕)

皖西学院信息工程系

实 验 报 告




姓名__王礼_ 学号
院系_信息工程系 专业 计算机科学与技术
年级 2007级 班级_ 0702班 _
小组实验任务分工_ 独立完成
实验时间 2010 年_9_月 20_日
实验名称
无优先级运算问题

指导老师及职称 苏守宝 教授







1 11

皖西学院信息工程系

实验课程:算法分析与设计
实验名称:无优先级运算问题 (综设型实验)


第一部分 实验内容

1.实验目标
对于给定的n个正整数,设计一个优先队列式分支限界法用最少的无
优先级运算次数产生整数m 。

2. 实验任务

(1)从所给定的题目中选择一题,使用分支限界法求解之。
(2)用文字来描述你的算法思路,包括解空间、限界函数、算法主
要步骤等。
(3)在Windows环境下使用CC++语言编程实现算法。
(4)记录运行结果,包括输入数据,问题解答及运行时间。
(5)分析算法最坏情况下时间复杂度和空间复杂度。
(6)谈谈实验后的感想,包括关于该问题或类似问题的求解算法的
2 11
建议。

3. 实验设备及环境

PC;CC++等编程语言。

4. 实验主要步骤

(1) 根据实验目标,明确实验的具体任务;
(2) 设计求解问题的算法,并编写程序实现算法;
(3) 设计实验数据并运行程序、记录运行的结果;
(4) 分析算法时空性能;
(5) 实验后的心得体会。

第二部分 问题及算法

1. 问题描述:给定n 个正整数和4个运算符+,-,*,,且运算符无
优先级,如2+3×5=25。对于任意给定的整数m ,试设计一个算法,
用以上给出的n个数和4个运算符,产生整数m,且用的运算次数最
少。给 出的n个数中每个数最多只能用1次,但每种运算符可以任意
使用

3 11
2. 算法设计:对于给定的n个正整数,设计一个算法,用最少的无
优先级运算次数产生整数m。

3. 数据输入
由文件给出输入数据。第一行有两个正整数n和m。第二
行是给定的用于运算的n个正整数。

4. 结果输出
将计算出的产生整数的m的最少无优先级运算次数以及最优无先级
运算表达式输出到文件。
输入文件示例 输出文件示例

5 25 2
5 2 3 6 7 2 + 3 * 5

第三部分 实验结果与分析

1. 实验数据及结果
4 11


2. 实验分析及结论
针对该实验我做了仔细分析,刚看到这个题目 ,不知所云,后
来分析后才知道,给定n个正整数和4个运算符+,-,*,,且运算
符无优先 级,如2+3×5=25。对于任意给定的整数m,试设计一个算
法,用以上给出的n个数和4个运算符 ,产生整数m,且用的运算次
数最少。给出的n个数中每个数最多只能用1次,但每种运算符可以
任意使用。

第四部分 心得与展望

1. 自我评价及心得体会 < br>分析无优先级算法问题时候一开始有点无从下手,经过我查资料以
后,再加上自己的分析和见解, 以及老师的帮助,最终得出了答案,
5 11
让我明白了只要自己 从分利用自己掌握的技术和周边的坏境比如我
们学校的老师,网络资源等,大多问题都可以解决的。

2. 展望
对算法产生了浓厚的兴趣,打算以后可能会从事算法设计。

第五部分 附录
1. 源程序
#include
using namespace std;
int k;
class readin
{
friend int nreadin(int n,int m);
private:
bool found(); found判断是否找到解
bool search(int t);
int n,m,x;
int * a; 给定的用于运算n个
正整数的存放位置
int* num; 存放运算的产生整数m
int* operate;
6 11

int* flag;
char* ptr; 存储结果中的运符
};
用迭代加深的回溯法
bool readin::search(int depth) depth:递归深度
{
if(depth>k)
{
if(found())
return true; 判断结点是否满足件,即是否
找到解
else
return false;
}
else
for(int i=0;i if(flag[i]==0)
{
num[depth]=a[i];
flag[i]=1;
for(int j=0;j<4;j++)
{
7 11
operate[depth]=j;
if(search(depth+1))
return true;
}
flag[i]=0;
}
return false;
}
bool readin::found()
{
int x=num[0];
for(int i=0;i {
switch (operate[i])
{
case 0:x+=num[i+1];ptr[i]='+';break;
case 1:x-=num[i+1];ptr[i]='-';break;
case 2:x*=num[i+1];ptr[i]='*';break;
case 3:x=num[i+1];ptr[i]='';break;
}
}
return(x==m);
8 11
}
读入初始数据
int nreadin(int n,int m)
{
readin X;
int* a=new int[n];
int* num=new int[n];
int* operate=new int[n];
int* flag=new int[n];
char* ptr=new char[n];
X.n=n;
X.m=m;
X.a=a;
e=operate;
=flag;
=num;
=ptr;
cout<<给定的用于运算的n个正整数:
for(int i=0;i {
cin>>a[i];
flag[i]=0;
9 11

}
cout<<给定的运算结果 整数m:
for(k=0;k if((0))
{
cout<<计算的产生整数m的最少无优先级运算次数:

cout< cout<<计算的产生整数m的最少无优先级运表达式:

for(i=0;i<=k;i++)
{
cout< }
cout< return 0;
}
cout<<
return 0;
}
void main()
{
10 11
int n;
int m;
cout<<输入给定的用于运算的n个正整数和给定的运算结果整
数m:
cin>>n>>m;
nreadin(n,m);
system(
}
参考文献
1.
2.余祥宣 崔国华 邹海明.计算机算法基础[M]. 武汉:华中科技大学
出版社,2005-10

11 11

汇报材料ppt-march是几月


老鼠胶-蒲松林


铁路实习报告-忘了自己


word里面怎么打勾-斯可馨布艺沙发


立夏的古诗-水泽源流江河湖海


感恩祖国的作文-金融危机的原因


演出服务-报道报到


一首简单的歌-简单爱你



本文更新与2021-01-05 18:19,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/496044.html

无优先级问题的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文