Có ai biết câu trả lời cho câu hỏi này không?HashMap với ~ 100 triệu phím, vẫn không đổi?
Trả lời
Có. Để tìm kiếm bản đồ băm có 100 triệu mục được thêm vào đó, bạn thực hiện việc này:
1) Tính băm của đối tượng bạn đang tìm kiếm.
2) Tìm nhóm đó
3) Tìm kiếm thông qua nhóm đó cho mục đó.
(1) độc lập với kích thước bản đồ băm hoặc số mục trong đó.
(2) là O (1), giả định một hashmap chuẩn được triển khai dưới dạng một danh sách liên kết.
(3) mất một khoảng thời gian liên quan đến số lượng mục trong nhóm, khoảng thời gian này sẽ xấp xỉ (số lượng mục được thêm vào băm)/(số lượng nhóm). Phần này sẽ bắt đầu tại O (1), nhưng sẽ tăng rất chậm vì số lượng các mục bắt đầu vượt quá số lượng xô.
Với hầu hết mọi mục đích, Hash Maps có thể được coi là O (1) cho cả chèn và truy xuất, ngay cả với các tập dữ liệu rất lớn, miễn là bạn bắt đầu với số lượng nhóm đủ lớn.
Có, vẫn không đổi thời gian (khấu hao).
khấu hao có nghĩa là gì – SuperString
Về lý thuyết ... Phân trang bộ nhớ có thể là một vấn đề. Không chắc chắn nhưng có thể. –
Amortized có nghĩa là một số chèn cá nhân có thể mất một thời gian dài hơn những người khác, nhưng thời gian trung bình vẫn không đổi. –
- 1. Mảng Python hiệu quả với 100 triệu số không?
- 2. Thịnh hành 100 triệu + hàng
- 3. Có 100 triệu tài liệu quá nhiều không?
- 4. Cách tiếp cận NoSQL tốt nhất để xử lý hơn 100 triệu bản ghi
- 5. Có thể đổi tên khóa Hashmap không?
- 6. Phân tích biểu đồ xã hội. 60GB và 100 triệu nút
- 7. Làm thế nào để tạo ra tổng số 100 triệu tweet của Rtm?
- 8. Chuyển đổi HashMap thành ArrayList
- 9. Chuyển đổi ArrayList để HashMap
- 10. HashMap không làm việc với int, char
- 11. Làm thế nào để tải 100 triệu bản ghi vào MongoDB với Scala để kiểm tra hiệu năng?
- 12. Phím tắt để thêm vào Danh sách trong HashMap
- 13. Làm thế nào để chia tay một bảng chứa 100 triệu + số hồ sơ?
- 14. Làm thế nào để sắp xếp các phím HashMap
- 15. Có thư viện hashmap cho JavaScript không?
- 16. Gán Hashmap thành Hashmap
- 17. Khởi tạo HashMap với một mảng các mục?
- 18. Cách dễ dàng để thêm menu thả xuống với 1 - 100 mà không thực hiện 100 tùy chọn khác nhau?
- 19. Tối ưu hóa vài triệu từ * thành chuỗi chuyển đổi
- 20. Weird hành vi serialization với HashMap
- 21. HashMap trong vòng một HashMap
- 22. HashMap
- 23. WeakHashMap vs HashMap
- 24. 100% so với kế thừa
- 25. Có thể có một hashmap với 4 đối tượng không?
- 26. 30 triệu hàng trong MySQL
- 27. Hành vi sao chép HashMap Tôi không thể tìm ra
- 28. Nhận một bảng liệt kê (cho các phím) của một bản đồ (HashMap) trong Java?
- 29. Sử dụng <c:forEach> với HashMap
- 30. Sử dụng HashMap với khóa tùy chỉnh
+1 câu trả lời hay, điểm (3) là quan trọng – Paolo
Và miễn là phân phối đều được phân phối đồng đều cho tập dữ liệu của bạn. –
có cách nào để tăng số lượng nhóm trong C++ sao cho mỗi nhóm chỉ có 1 phần tử? – SuperString