Tôi nên sử dụng loại vật chứa STL nào nếu:Container STL nào để sử dụng?
- Dữ liệu được chèn và tháo thường xuyên.
- Dữ liệu được truy cập thường xuyên một cách ngẫu nhiên.
ví dụ: tập dữ liệu (4,10,15) nếu tôi muốn tìm số gần nhất với 9, sau đó nó phải trả lại cho tôi 10.
- tôi chỉ lưu trữ một số nguyên.
- Nó cần phải được sắp xếp
- có thể đi đến 100k bộ dữ liệu
Tôi nghĩ của việc sử dụng vector, nhưng chèn vector và loại bỏ là tốn kém.
vector<int>
Nếu tôi sử dụng danh sách, tôi sẽ phải truy cập vào phần tử O (n) trước khi tiếp cận dữ liệu.
list<int>
Tôi đã nghĩ đến việc bằng cách sử dụng thiết vì nó sẽ là tốt nếu nó được sắp xếp, nhưng im không phải là rất chắc chắn về hiệu quả sử dụng SET
Vì vậy, tôi hy vọng ai đó có thể đưa ra một giải pháp tốt!
Nó hoàn toàn phụ thuộc vào cách bạn chèn và truy cập dữ liệu và cách dữ liệu được sắp xếp. Bạn có cần truy cập ngẫu nhiên không? Bạn có cần giữ thứ tự chính xác của dữ liệu không? – Ruud
Bạn muốn truy cập dữ liệu của mình như thế nào? Việc chấp nhận cho một véctơ accesing dữ liệu cũng là o (n) ngoại trừ nếu bạn biết chỉ mục của mục bạn muốn truy cập? – Nactive
nếu Vector được sắp xếp, tra cứu chỉ là log (n) vì bạn có thể thực hiện tìm kiếm nhị phân –