Ruby#index 方法 VS 二进制搜索

标签 ruby indexing binary-search

给定一个元素和一个数组,Ruby#index 方法返回元素在数组中的位置。我使用二进制搜索实现了我自己的索引方法,期望我的方法会优于内置方法。令我惊讶的是,内置的在实验中的运行速度大约是我的三倍。

有 Rubyist 知道原因吗?

最佳答案

内置#index is not a binary search ,这只是一个简单的迭代搜索。但是,它是用 C 而不是 Ruby 实现的,因此自然可以快几个数量级。

关于Ruby#index 方法 VS 二进制搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436155/

相关文章:

MySQL索引: possible_keys is null but key isn't null

java - 从变量创建数组

mysql - MySQL中的索引查询

java - 在 Java 中实现二进制搜索时,使用 ArrayList.sublist 被认为是 'in place' 吗?

ruby-on-rails - Ruby 如何从数组中删除元素并返回数组的新实例

ruby - Puppet:使自定义函数依赖于资源

time-complexity - 在 Elixir 中对有序列表 O(logN) 进行二分搜索吗?

java - 覆盖 Arrays.BinarySearch 的 equals 方法

ruby - 当同一命令在命令行上运行时,如何通过 Ruby shell 命令运行应用程序

ruby - 如何在 ruby​​ 中动态命名对象引用(句柄)