Necesito una lista de cadenas y una forma de determinar rápidamente si una cadena está contenida dentro de esa lista.Mejor colección para búsqueda rápida de cadenas
Para mejorar la velocidad de búsqueda, consideré SortedList
y Dictionary
; sin embargo, ambos funcionan con KeyValuePair
s cuando todo lo que necesito es un solo string
.
Sé que podría usar un KeyValuePair
y simplemente ignorar la parte Value
. Pero prefiero ser eficiente y me pregunto si hay una colección que se adapte mejor a mis requisitos.
fresco, gracias. (Aunque parece un poco extraño, tomó hasta 3,5 tener esa clase.) –
@Jonathan: De acuerdo, así es la vida. En .NET 4 hay una interfaz para representar conjuntos ('ISet') y también otra opción en 'SortedSet ' (que de nuevo no sería particularmente útil en este caso). –
Estaba mirando hacia atrás en esto. Una búsqueda O (1) es realmente rápida. Sin embargo, supongo que esta colección implementa algún tipo de hash. Entonces, ¿O (1) no asume colisiones? (Por cierto, estoy trabajando en tu libro.) –