Load factor là gì

HashMapcó nhì đặc thù quan trọng: sizevà load factor. Tôi sẽ nhìn qua tư liệu Java cùng nó nói 0.75flà hệ số mua thuở đầu. Nhưng tôi quan yếu tìm thấy câu hỏi thực hiện thực tế của chính nó.

Bạn đang xem: Load factor là gì

Ai kia rất có thể biểu hiện những kịch phiên bản không giống nhau nhưng mà chúng ta nên đặt hệ số thiết lập là gì và một vài quý giá lý tưởng phát minh mẫu mã cho các ngôi trường thích hợp không giống nhau là gì không?


Các tư liệu giải thích nó hơi tốt:

Một phiên phiên bản của HashMap gồm nhị tmê mẩn số ảnh hưởng mang lại năng suất của nó: dung lượng lúc đầu cùng thông số cài đặt. Dung lượng là con số xô trong bảng băm và công suất ban sơ chỉ đơn giản là năng suất trên thời khắc bảng băm được tạo thành. Hệ số cài đặt là thước đo mức độ không thiếu thốn của bảng băm được phnghiền dấn trước khi hiệu suất của nó được tự động tăng thêm. lúc con số mục trong bảng băm quá quá sản phẩm của hệ số tải cùng hiệu suất hiện giờ, bảng băm được demo lại (nghĩa là cấu trúc dữ liệu nội cỗ được xây dừng lại) nhằm bảng băm bao gồm con số gấp rất nhiều lần con số.

Theo chế độ phổ biến, thông số mua khoác định (.75) mang đến sự đánh đổi tốt thân thời gian cùng chi phí không gian. Các cực hiếm cao hơn nữa làm cho giảm ngân sách không gian nhưng lại tăng ngân sách tra cứu vớt (được phản ảnh vào hầu hết những hoạt động vui chơi của lớp HashMap, bao hàm cả mang và đặt). Số lượng mục dự kiến ​​vào bản đồ vật cùng thông số tải của chính nó cần được xem đến khi tùy chỉnh hiệu suất ban sơ, nhằm bớt tgọi số lượng những hoạt động có tác dụng lại. Nếu hiệu suất lúc đầu lớn hơn con số mục nhập buổi tối nhiều phân tách mang đến thông số mua, sẽ không có vận động làm cho lại như thế nào xẩy ra.

Xem thêm: Giáp Ngọ Mệnh Gì - Tuổi Giáp Ngọ Hợp Tuổi Nào, Màu Gì, Hướng Nào

Như cùng với tất cả các về tối ưu hóa năng suất, một phát minh xuất sắc là tách buổi tối ưu hóa các lắp thêm mau chóng (tức thị không có dữ liệu cứng về nơi tắc nghẽn).


Các câu vấn đáp khác đang lời khuyên hướng dẫn và chỉ định capacity = N/0.75nhằm tránh luyện tập lại, nhưng lại cân nhắc thuở đầu của tớ new được đặt ra load factor = 1. Sẽ có nhược điểm đến bí quyết tiếp cận đó? Tại sao nguyên tố thiết lập ảnh hưởng get()với put()chi phí vận hành?
Hệ số download = 1 hashmaps cùng với số lượng mục = dung tích sẽ thống kê lại tất cả số lượng va va đáng chú ý (= Lúc những khóa tạo nên và một hàm băm). Lúc xẩy ra xung tự dưng, thời hạn tra cứu vãn tăng thêm, vì trong một tổ sẽ có> 1 mục khớp, trong các số đó khóa nên được kiểm tra riêng biệt cho sự bằng nhau. Một số phép tân oán bỏ ra tiết: preshing.com/20110504/hash-collision-probabilities
— atimb
8
Tôi không theo dõi các bạn
atimb; Thuộc tính loadphối chỉ được sử dụng để xác định khi nào buộc phải tăng kích thước lưu trữ phải không? - Làm nạm nào để sở hữu một bộ download của một tăng tài năng va chạm băm? - Thuật toán thù băm không tồn tại kiến ​​thức về con số trang bị phẩm vào bạn dạng vật hoặc tần suất sử dụng "xô" lưu trữ new, v.v ... Đối với ngẫu nhiên nhóm đối tượng người dùng nào tất cả cùng kích thước, bất kỳ chúng được lưu trữ như thế nào, bạn nên có cùng Xác Suất của các quý hiếm băm lặp đi tái diễn ...
Xác suất va va băm là ít hơn, ví như size của phiên bản đồ gia dụng to hơn. Ví dụ: các thành phần gồm mã băm 4, 8, 16 và 32 sẽ được đặt trong thuộc một nhóm, trường hợp kích thước của phiên bản vật là 4, mà lại phần đông mục sẽ sở hữu được một tổ riêng biệt, trường hợp kích thước của bản đồ to hơn 32. Bản đồ vật với kích cỡ ban đầu 4 cùng thông số cài đặt 1.0 (4 xô, mà lại tất cả 4 yếu tố vào một nhóm) sẽ trong ví dụ này trung bình chậm hơn hai lần so với một hệ số khác cùng với hệ số tải 0,75 (8 xô, nhì xô đầy - cùng với thành phần "4" cùng với những phần tử "8", "16", "32").
— 30h
1
giá thành tra cứu
Adelin được tăng cho những nguyên tố tải cao hơn bởi đang có tương đối nhiều xung thốt nhiên hơn cho các cực hiếm cao hơn và bí quyết Java cách xử lý những xung đột nhiên là bằng phương pháp đặt các mục gồm cùng mã băm vào thuộc một đội bằng cấu tạo tài liệu. Bắt đầu vào Java 8, cấu trúc tài liệu này là 1 cây tìm tìm nhị phân. Vấn đề này làm cho việc tìm kiếm phức tạp trong ngôi trường thích hợp xấu độc nhất O (lg (n)) với ngôi trường đúng theo xấu độc nhất vô nhị xảy ra trường hợp tất cả những yếu tố được sản xuất tất cả cùng mã băm.

Công suất ban sơ khoác định của HashMapmất là 16 cùng hệ số tải là 0,75f (Tức là 75% form size bạn dạng trang bị hiện tại). Hệ số cài diễn đạt tại mức độ như thế nào HashMapbắt buộc tăng gấp rất nhiều lần năng suất.

Xem thêm: Tất Tần Tật! Kinh Nghiệm Thiết Kế Cầu Thang Ở Cuối Nhà, Cách Bố Trí Cầu Thang Cuối Nhà Hợp Phong Thủy

Ví dụ thành phầm của công suất cùng thông số thiết lập như 16 * 0.75 = 12. Vấn đề này diễn tả rằng sau khi tàng trữ cặp khóa - quý hiếm máy 12 vào HashMap, dung lượng của chính nó biến 32.


Mặc dù câu vấn đáp của công ty vô cùng rõ ràng, bạn cũng có thể vui lòng cho thấy ngay lập tức sau thời điểm lưu trữ 12 cặp khóa-giá trị, dung tích đổi mới 32 xuất xắc là khi mục lắp thêm 13 được cấp dưỡng, trên thời điểm đó, dung tích thay đổi với tiếp đến mục nhập được cyếu.

Chuyên mục: Công Nghệ 4.0