首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二叉树算法变异:如果每个组都有有限的元素,如何进行搜索?

二叉树算法变异:如果每个组都有有限的元素,如何进行搜索?
EN

Stack Overflow用户
提问于 2021-03-20 16:52:38
回答 1查看 34关注 0票数 0

考虑到n中有一个人携带病毒。这种测试可以在血液样本中进行,在这些血样中,小部分人的血液混合在一起,但至多是k人的血液可以混合在一起。同时应用k人血样检测k^(1/2)

我想到的算法是:

代码语言:javascript
复制
when n = 1 return the person 
First divide the groups into n/k, so that k people are in each group 
test each group  
if(group i contains a virus) 
   binary search(group i) 

但是,我不知道如何把总成本降到最低。我相信,如果k更接近于n,就会付出最小的代价,但这只是我的直觉,没有任何证据。是否有一个更有效的算法将花费最小?

EN

回答 1

Stack Overflow用户

发布于 2021-03-20 19:43:21

最小化测试成本的最佳方法是将测试组排列成一个正方形,将每一行的所有样本混合成一个样本,将每个列中的所有样本混合成一个样本并进行测试。根据结果,可以识别行和列,并可以识别特定的示例。

如果sqrt(n)

代码语言:javascript
复制
1 2 3
4 5 6
7 8 9

目前共有6个样品R1、2、3、R4、5、6、R7、8、9、C1、4、7、C2、5、8、C3、6、9,并根据结果构建了结果。如果R1,R2为正,C1 & C2为正,则1,2,4,5为正。

如果sqrt(N) >K,则将N划分为N/K^2组的K^2元素,并进行同样的划分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66724174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档