- 7
- 0
- 约2.76千字
- 约 3页
- 2023-08-25 发布于上海
- 举报
算法设计与分析:芯⽚测试问题、选择问题详解
芯⽚测试问题
有n⽚芯⽚,已知其中好芯⽚⽐坏芯⽚⾄少多1⽚。现在需要通过测试从中找出1⽚好芯⽚。测试的⽅法是:将2⽚芯⽚放到测试台上,2⽚
芯⽚互相测试并报告测试结果:”好”或者”坏”。假定好芯⽚的报告是正确的,坏芯⽚的报告是不可靠的(可能是对的,也可能是错的)。
请设计⼀个算法,使⽤最少的测试次数来找出1⽚好芯⽚。
由于好芯⽚⾄少⽐坏芯⽚多1⽚,对1⽚芯⽚来说,如果有⌊n/2⌋⽚芯⽚都报告它是”好的”,那么这⽚芯⽚⼀定是好的 (因为如果该芯⽚的
所有报告都是坏芯⽚产⽣的,则说明已经有⌊n/2⌋个坏芯⽚,⼜因为好芯⽚⽐坏芯⽚多,所以当前芯⽚⼀定是好的;⽽如果并⾮所有报告都
是坏芯⽚产⽣的,那么有些报告是好芯⽚产⽣的,所以当前芯⽚⼀定是好的)。⼀个蛮⼒算法就是任取1⽚芯⽚,然后⽤其余所有芯⽚来测
试它,直到找到1⽚好芯⽚为⽌。这个算法最坏情况下Θ(n^2)次测试。
下⾯尝试⼀下分治策略。
初始的想法就是:将n⽚芯⽚两两⼀组分成⌊n/2⌋组,每组测试1次。就像体育⽐赛的淘汰赛⼀样,通过第⼀轮的⌊n/2⌋次测试淘汰⼀部分芯
⽚,剩下的芯⽚构成⼀个规模较⼩的⼦问题进⼊第⼆轮。如果测试的芯⽚不超过3⽚(即⼦问题规模⼩于等于3),并且好芯⽚⽐坏芯⽚⾄少多
1⽚,那么只要测试1次就可以找出好芯⽚
您可能关注的文档
最近下载
- 标识标牌工程进度控制方案.docx
- 部编人教版五年级上册道德与法治全册教学设计(配2026年秋改版教材).doc
- 内蒙古自治区对口升学考试2014年专业综合学科期末试卷.doc VIP
- 粉尘涉爆企业安全生产执法检查重点事项解读课件.pptx VIP
- 精品解析:安徽省皖豫名校联盟2025-2026学年高三上学期10月月考物理试题(解析版).docx VIP
- 缠中说禅 教你炒股108讲座.doc
- GB 4789.4-2024 食品安全国家标准 食品微生物学检验 沙门氏菌检验培训.pptx VIP
- 电气接地装置隐检与平面示意图.docx VIP
- 康复科岗前培训.pptx VIP
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
原创力文档

文档评论(0)