Load Factor Là Gì

HashMapgồm hai đặ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ố sở hữu lúc đầu. Nhưng tôi không thể tìm kiếm thấy vấn đề áp dụng thực tế của chính nó.Quý khách hàng vẫn xem: Load factor là gì

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

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

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

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

Nhỏng cùng với toàn bộ những tối ưu hóa công suất, một ý tưởng xuất sắc là rời buổi tối ưu hóa phần lớn sản phẩm sớm (tức là không tồn tại tài liệu cứng về nơi tắc nghẽn).

Xem thêm: Hỏi Địa Chỉ Của Phòng Giáo Dục Quận Hoàng Mai Ở Đâu, Phòng Giáo Dục Và Đào Tạo Quận Hoàng Mai

Các câu vấn đáp khác đã đề xuất hướng đẫn capathành phố = N/0.75nhằm tách luyện tập lại, tuy nhiên lưu ý đến lúc đầu của mình new được đưa ra load factor = 1. Sẽ tất cả nhược điểm mang đến biện pháp tiếp cận đó? Tại sao yếu tố tải tác động get()với put()chi phí vận hành? Hệ số cài đặt = 1 hashmap với con số mục = dung lượng sẽ thống kê có con số va va đáng chú ý (= Khi những khóa tạo nên cùng một hàm băm). Lúc xẩy ra xung bỗng, thời hạn tra cứu vãn tăng lên, bởi trong một đội nhóm vẫn có> 1 mục khớp, trong số ấy khóa yêu cầu được đánh giá riêng biệt cho việc cân nhau. Một số phnghiền tân oán bỏ ra tiết: preshing.com/20110504/hash-collision-probabilities — atimb 8 Tôi không tuân theo dõi chúng ta atimb; Thuộc tính loadmix chỉ được sử dụng để xác định lúc nào bắt buộc tăng kích thước tàng trữ yêu cầu không? - Làm chũm nào để có một cỗ tải của một tăng tài năng va chạm băm? - Thuật tân oán băm không tồn tại kiến ​​thức về số lượng đồ vật phẩm trong bản đồ hoặc tần suất áp dụng "xô" lưu trữ mới, v.v ... Đối cùng với bất kỳ đội đối tượng nào bao gồm thuộc kích thước, bất kể chúng được tàng trữ thế nào, bạn nên bao gồm thuộc xác suất của những cực 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ư kích thước của bản thứ lớn hơn. Ví dụ: các phần tử bao gồm mã băm 4, 8, 16 cùng 32 sẽ tiến hành đặt trong thuộc một tổ, nếu như form size của bạn dạng đồ vật là 4, tuy thế rất nhiều mục sẽ có được một nhóm riêng rẽ, nếu size của phiên bản thứ to hơn 32. Bản đồ gia dụng với kích cỡ lúc đầu 4 và thông số sở hữu 1.0 (4 xô, nhưng lại toàn bộ 4 yếu tố vào một nhóm) đã trong ví dụ này trung bình lừ đừ hơn nhì lần so với một thông số không giống với hệ số sở hữu 0,75 (8 xô, nhị xô đầy - cùng với phần tử "4" cùng với các bộ phận "8", "16", "32"). — 30h 1 Chi phí tra cứu Adelin được tăng cho những nguyên tố thiết lập cao hơn nữa vì chưng sẽ có khá nhiều xung đột nhiên hơn cho những giá trị cao hơn nữa cùng phương pháp Java cách xử trí các xung chợt là bằng phương pháp đặt những mục gồm thuộc mã băm vào cùng một đội nhóm bởi kết cấu dữ liệu. Bắt đầu trong Java 8, cấu trúc dữ liệu này là một trong cây search kiếm nhị phân. Như vậy làm cho việc tìm kiếm tìm tinh vi vào trường hòa hợp xấu duy nhất O (lg (n)) với ngôi trường hòa hợp xấu độc nhất xẩy ra trường hợp toàn bộ các yếu tố được sản xuất tất cả thuộc mã băm.

Công suất thuở đầu mặc định của HashMapmất là 16 và thông số thiết lập là 0,75f (tức là 75% size bạn dạng đồ vật hiện tại). Hệ số mua biểu lộ tại mức độ như thế nào HashMapnên tăng gấp đôi công suất.

Ví dụ thành phầm của công suất và hệ số mua nlỗi 16 * 0.75 = 12. Như vậy biểu thị rằng sau khi tàng trữ cặp khóa - giá trị thiết bị 12 vào HashMap, dung lượng của nó trở nên 32.

Mặc dù câu trả lời của doanh nghiệp khôn xiết rõ ràng, bạn có thể vui vẻ cho thấy thêm tức thì sau khoản thời gian lưu trữ 12 cặp khóa-quý giá, dung tích đổi thay 32 giỏi là lúc mục sản phẩm 13 được cấp dưỡng, trên thời đặc điểm này, dung lượng biến đổi cùng kế tiếp mục nhập được ckém.