¿Cuál es la forma más sencilla de realizar una búsqueda binaria en un archivo (ya) ordenado NSArray
?¿Cómo realizar búsquedas binarias en NSArray?
Algunas maneras posibles que ha detectado hasta la fecha incluyen:
- El uso de
CFArrayBSearchValues
(mencionado here) - funcionaría esto en unaNSArray
? El método de
indexOfObject:inSortedRange:options:usingComparator:
NSArray
asume la matriz se clasifica y se toma un parámetro de tipoopts
NSBinarySearchingOptions
- ¿significa esto que realiza una búsqueda binaria? El docs acaba de decir:Devuelve el índice, dentro de un rango especificado, de un objeto en comparación con los elementos de la matriz utilizando un bloque de NSComparator dado.
Escriba mi propio método de búsqueda binario (algo similar a this).
debo añadir que estoy programando para iOS 4.3+
Gracias de antemano.
¿Por qué no utilizar NSDictionary en su lugar? objectForKey: te buscará. – progrmr
Un par de preguntas sobre eso: ¿cuál es el beneficio de un diccionario sobre matriz para una búsqueda de objetos? Además, para utilizar el método que has sugerido, ¿no necesitaría saber la clave del objeto? La razón por la que estoy buscando la matriz para el objeto en primer lugar es que no conozco su índice: si cambié a una implementación de diccionario, significa que no conocería la clave. – Barjavel