2010-08-11 84 views
1

所以我在Scala有這樣的問題,我需要在演員的幫助下實現二分搜索,沒有循環和遞歸,最好是在演員之間併發。當然它沒有意義,但問題如下。我認爲擁有一個協調其他人的工作的協調員是很好的。所以輸入數據是排序數組和搜索關鍵字。輸出 - 密鑰的索引。你有一些想法如何實現?在斯卡拉演員的二進制搜索實現?

在此先感謝。

回答

3

我不知道如何進行二分搜索的併發性,因爲算法的每一步都需要最後一個結果。

您可以執行「n元」搜索:將數組拆分爲n個部分,並讓每個角色比較子數組邊界處的值。你甚至不需要等待全部的答案,只要你得到兩個不同的比較結果的演員,你可以遞歸地開始下一輪你發現的子陣列。