2010-08-11 68 views
1

所以我在Scala有这样的问题,我需要在演员的帮助下实现二分搜索,没有循环和递归,最好是在演员之间并发。当然它没有意义,但问题如下。我认为拥有一个协调其他人的工作的协调员是很好的。所以输入数据是排序数组和搜索关键字。输出 - 密钥的索引。你有一些想法如何实现?在斯卡拉演员的二进制搜索实现?

在此先感谢。

回答

3

我不知道如何进行二分搜索的并发性,因为算法的每一步都需要最后一个结果。

您可以执行“n元”搜索:将数组拆分为n个部分,并让每个角色比较子数组边界处的值。你甚至不需要等待全部的答案,只要你得到两个不同的比较结果的演员,你可以递归地开始下一轮你发现的子阵列。