首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
假设在某程序中有如下一个if-then嵌套的语句 if(C1
[问答题]
假设在某程序中有如下一个if-then嵌套的语句
if(C1)
if(C2)
if(C3)
…
if(Cn)
S;
其中Ci为布尔表达式。显然,只有当所有的Ci都为TRUE时,语句S才能执行。假设t(i)为判别Ci是否为TRUE所需时间,p(i)为Ci是TRUE的概率,试讨论这n个布尔表达式Ci (i=1,2,…,n)应如何排列才能使该程序最有效地执行?
添加笔记
邀请回答
收藏(0)
分享
纠错
1个回答
添加回答
0
推荐
赞花婆
应该先列出该语句执行时间的期望值。
假设语句S的执行时间为T,则该语句执行时间的期望值为
T=(1-p(1)t(1)+p(1)(1-p(2))(t(1)+t(2)+…
+p(1)p(2)…p(n-1)(1-p(n))(t(1)+t(2)+…
+t(n)+p(1)(2)…p(n)(t(1)+t(2)…t(n)+t)
令p(0)=1,则上式可写为
可以证明:当这n个布尔表达式C
i
的排序满足
时将使T达到极小值,则若依
从小至大的次序来排列,将使该语句的执行最有效。
发表于 2018-03-25 09:50:35
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
排序
上传者:
赞花婆
难度:
1条回答
0收藏
1465浏览
热门推荐
相关试题
明明的随机数
数组
评论
(3692)
来自
华为研发工程师编程题
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
假设语句S的执行时间为T,则该语句执行时间的期望值为
T=(1-p(1)t(1)+p(1)(1-p(2))(t(1)+t(2)+…
+p(1)p(2)…p(n-1)(1-p(n))(t(1)+t(2)+…
+t(n)+p(1)(2)…p(n)(t(1)+t(2)…t(n)+t)
令p(0)=1,则上式可写为