给定一个元素和一个数组,Ruby#index 方法返回元素在数组中的位置。我使用二进制搜索实现了我自己的索引方法,期望我的方法会优于内置方法。令我惊讶的是,内置的在实验中的运行速度大约是我的三倍。
有 Rubyist 知道原因吗?
最佳答案
内置#index
is not a binary search ,这只是一个简单的迭代搜索。但是,它是用 C 而不是 Ruby 实现的,因此自然可以快几个数量级。
关于Ruby#index 方法 VS 二进制搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436155/