Cấu trúc dữ liệu trong Java có hoạt động nhanh nhất cho contains() là gì?Cấu trúc dữ liệu nhanh nhất cho hàm contains() trong Java?
ví dụ: tôi có một tập hợp các số {1, 7, 12, 14, 20 ...}
Cho một số tùy ý khác x, cách nhanh nhất (trung bình) để tạo giá trị boolean cho dù x được chứa trong đặt hay không? Xác suất cho! Contains() cao hơn khoảng 5x.
Tất cả các cấu trúc bản đồ có cung cấp hoạt động o (1) không? HashSet là cách nhanh nhất để đi?
Đối với những gì nó có giá trị, bản đồ băm nói chung không O (1) tra cứu khi va chạm băm xảy ra (và chúng có thể xảy ra khá thường xuyên, nếu rất ít tại một thời điểm). Trường hợp xấu nhất là O (n) trong tra cứu. – Blindy
Tôi đồng ý với Blindy. Hiệu suất của bộ sưu tập dựa trên băm bị giới hạn bởi hiệu suất của hàm băm. – sbidwai
Khi tôi mới đi, trang web đã ngừng hoạt động. Nếu điều này xảy ra với bạn, bạn có thể sử dụng [link] này (http://web.archive.org/web/20120105103844/http://www.coderfriendly.com/wp-content/uploads/2009/05/java_collections_v2. pdf) – EasilyBaffled