tôi đang làm việc trên một dự án mà Mảng là những cấu trúc dữ liệu mặc định cho tất cả mọi thứ, và mọi truy vấn là một tìm kiếm tuyến tính trong các hình thức:cấu trúc dữ liệu tốt cho chèn/truy vấn trên các thuộc tính tùy tiện hiệu quả
- Cần một khách hàng có tên cụ thể?
customer.Find(x => x.Name == name)
- Cần một khách hàng có id duy nhất cụ thể?
customer.Find(x => x.Id == id)
- Cần một khách hàng thuộc một loại và tuổi cụ thể?
customer.Find(x => x is PreferredCustomer && x.Age >= age)
- Cần một khách hàng có tên và tuổi cụ thể?
customer.Find(x => x.Name == name && x.Age == age)
Trong hầu hết các trường hợp, tiêu chí tra cứu được xác định rõ. Ví dụ: chúng tôi chỉ tìm kiếm khách hàng theo một hoặc nhiều Id thuộc tính, Loại, Tên hoặc Tuổi. Chúng tôi hiếm khi tìm kiếm bằng bất cứ thứ gì khác.
Cấu trúc dữ liệu tốt để hỗ trợ truy vấn tùy ý của các loại này với tra cứu tốt hơn O (n)? Bất kỳ triển khai out-of-the-box cho .NET?
Cơ sở dữ liệu ... Zing! –