4-6
2015-06-03 21:38
225 查看
a) 若所有坏芯片检测到怀芯片都报告好,检测到好芯片都报告坏,则坏芯片组内部互相检测均为好,检测好芯片组均为坏,其行为与好芯片组完全一样,则不能区分好坏组
b) 我们先假设芯片总数是偶数,则将所有芯片两两一组,每组进行一次测试,若均报告好,则从中取出一个芯片,否则不取任何芯片。则操作后问题规模至少下降一半。
由于好芯片多于坏芯片,所以好好组合多于坏坏组合,故挑选后的芯片好芯片多于一半。
若芯片总数是奇数,则取出一片记为x,其他的按照偶数情况处理,然后处理x的取舍。我们考虑之前取出来的芯片总数:
若为偶数,即好好组和坏坏组之和为偶数。我们此时选择x进入后续的检测。若好好组=坏坏组,则x一定为好,选择后好芯片多于一半;若好好组>坏坏组,则即使x为坏,也能保证之后好芯片多于一半。
若为奇数,则好好组>坏坏组,否则好芯片不可能多于一半,此时不选择x已经能保证之后好芯片多于一半
c) T(n)=T(n/2)+n/2,由主定理得T=Θ(n)
b) 我们先假设芯片总数是偶数,则将所有芯片两两一组,每组进行一次测试,若均报告好,则从中取出一个芯片,否则不取任何芯片。则操作后问题规模至少下降一半。
由于好芯片多于坏芯片,所以好好组合多于坏坏组合,故挑选后的芯片好芯片多于一半。
若芯片总数是奇数,则取出一片记为x,其他的按照偶数情况处理,然后处理x的取舍。我们考虑之前取出来的芯片总数:
若为偶数,即好好组和坏坏组之和为偶数。我们此时选择x进入后续的检测。若好好组=坏坏组,则x一定为好,选择后好芯片多于一半;若好好组>坏坏组,则即使x为坏,也能保证之后好芯片多于一半。
若为奇数,则好好组>坏坏组,否则好芯片不可能多于一半,此时不选择x已经能保证之后好芯片多于一半
c) T(n)=T(n/2)+n/2,由主定理得T=Θ(n)
相关文章推荐
- 【转】android开源项目---项目篇
- Dynamics CRM 2015Online Update1 new feature之 通过业务规则清空字段的值
- 4-4
- Dynamics CRM 2015Online Update1 new feature之 通过业务规则清空字段的值
- Dynamics CRM 2015Online Update1 new feature之 通过业务规则清空字段的值
- Dynamics CRM 2015Online Update1 new feature之 通过业务规则清空字段的值
- 网络知识note
- 第十一周项目-2.1
- PRML笔记 第一章 Introduction
- BootStrap 模态框禁用空白处点击关闭
- 4-5
- android开源项目---tool篇
- java连接MongoDB查询导出为excel表格
- Java memcache Client 数据操作源码剖析
- 4-3
- tar备份工具 Linux
- 【矩阵乘法】【codevs 1250】Fibonacci数列
- linux入门基础——linux用户基础
- 树莓派(raspberry)使用经验————设置有线和无线ip
- BZOJ 1601: [Usaco2008 Oct]灌水( MST )