Я работаю над проектом, где Массивы структура данных по умолчанию для всех, и каждый запрос представляет собой линейный поиск в виде:Хорошая структура данных для эффективной вставки/запрашивая от произвольных свойств
- нуждающегося клиент с определенным именем?
customer.Find(x => x.Name == name)
- Нужен клиент с уникальным уникальным идентификатором?
customer.Find(x => x.Id == id)
- Нужен клиент определенного типа и возраста?
customer.Find(x => x is PreferredCustomer && x.Age >= age)
- Нужен клиент определенного имени и возраста?
customer.Find(x => x.Name == name && x.Age == age)
Почти во всех случаях критерии поиска хорошо определены. Например, мы только ищем клиентов по одному или нескольким свойствам Id, Type, Name или Age. Мы редко ищем что-нибудь еще.
Является хорошей структурой данных для поддержки произвольных запросов этих типов с помощью поиска лучше, чем O (n)? Любые готовые версии для .NET?
База данных ... Zing! –