Giả sử tôi muốn ánh xạ dữ liệu với một chuỗi làm khóa. Tôi nên chọn thùng chứa nào, map
hoặc unordered_map
? unordered_map
chiếm nhiều bộ nhớ hơn, vì vậy hãy giả sử bộ nhớ không phải là một vấn đề, và mối quan tâm là tốc độ.
unordered_map
thường sẽ cho độ phức tạp trung bình của O (1) với trường hợp xấu nhất là O (n). Trong những trường hợp nào nó sẽ đến được O (n)? Khi nào thì map
thời gian hiệu quả hơn unordered_map
? Nó có xảy ra khi n nhỏ không?
Giả sử tôi sẽ sử dụng STL unordered_map
với hàm băm mặc định Vs. bản đồ. chuỗi là chìa khóa.
Nếu tôi sẽ lặp lại các phần tử thay vì truy cập một phần tử riêng lẻ mỗi lần, tôi có nên thích map
không?