Estoy buscando un método incorporado de Ruby que tenga la misma funcionalidad que index
, pero utiliza un algoritmo de búsqueda binario, y por lo tanto requiere una matriz ordenada previamente.¿Hay una búsqueda binaria incorporada en Ruby?
Sé que podría escribir mi propia implementación, pero de acuerdo con "Ruby#index Method VS Binary Search", la búsqueda iterativa simple incorporada utilizada por el índice es más rápida que una versión pura de Ruby de la búsqueda binaria, ya que el método incorporado está escrito en C.
¿Proporciona Ruby algún método integrado que realice la búsqueda binaria?
No hay necesidad de escribir su propia: [Tyler/binary_search] (https: // github .com/tyler/binary_search). El autor también se ha tomado el tiempo para ejecutar algunos puntos de referencia. – sczizzo
Hola sczizzo, soy nuevo en ruby, así que esta es una pregunta bastante nueva, pero ¿cómo puedo agregar esta funcionalidad a mi instalación de ruby? ¿Es solo una cuestión de ejecutar el archivo de rastreo? Gracias. – Jonah
Podría ser más fácil usar la gema 'bsearch', como sugirió Marc-André. Entonces es más o menos tan simple como 'gem install bsearch' en la línea de comando, y' require 'bsearch'' en tu Ruby. Es posible que desee [consulte la documentación sobre el uso] (http://rubydoc.info/gems/bsearch/1.5.0/frames). – sczizzo