HashMaptất cả nhị đặc điểm quan trọng: sizevới load factor. Tôi sẽ liếc qua tư liệu Java với nó nói 0.75flà hệ số tải ban sơ. Nhưng tôi cần yếu kiếm tìm thấy câu hỏi áp dụng thực tiễn của chính nó.
Bạn đang xem: Load factor là gì
Ai đó rất có thể biểu lộ các kịch bạn dạng khác nhau mà lại bọn họ bắt buộc đặt hệ số tải là gì và một vài quý hiếm lý tưởng phát minh mẫu mã cho những trường thích hợp khác biệt là gì không?
Các tài liệu lý giải nó khá tốt:
Một phiên bản của HashMap tất cả nhì tsay đắm số tác động đến công suất của nó: dung lượng ban sơ với thông số cài đặt. Dung lượng là con số xô vào bảng băm cùng hiệu suất ban đầu chỉ đơn giản và dễ dàng là năng suất trên thời khắc bảng băm được chế tác. Hệ số mua là thước đo mức độ vừa đủ của bảng băm được phép dấn trước khi năng suất của nó được auto tăng thêm. Lúc số lượng mục vào bảng băm vượt thừa sản phẩm của thông số download cùng công suất bây chừ, bảng băm được thử lại (tức thị kết cấu dữ liệu nội cỗ được thành lập lại) để bảng băm tất cả con số gấp rất nhiều lần con số.
Theo qui định tầm thường, hệ số tải mang định (.75) mang lại sự tiến công đổi giỏi giữa thời gian cùng ngân sách không khí. Các quý giá cao hơn làm sút ngân sách không khí mà lại tăng chi phí tra cứu vớt (được đề đạt trong hầu hết những hoạt động của lớp HashMap, bao hàm cả rước cùng đặt). Số lượng mục dự loài kiến trong phiên bản đồ cùng thông số thiết lập của nó bắt buộc được tính đến khi tùy chỉnh năng suất lúc đầu, nhằm bớt thiểu con số các chuyển động làm lại. Nếu hiệu suất ban đầu to hơn số lượng mục nhập tối đa phân tách mang lại thông số cài đặt, vẫn không có vận động làm cho lại nào xẩy ra.
Xem thêm: Các Loại Posm Là Gì? Các Loại Posm Phổ Biến 5 Loại Posm Phổ Biến Marketer Nên Biết
Nhỏng với toàn bộ các buổi tối ưu hóa công suất, một phát minh tốt là tránh về tối ưu hóa phần đa máy sớm (tức thị không tồn tại tài liệu cứng về vị trí tắc nghẽn).
Các câu vấn đáp khác vẫn lời khuyên chỉ định capađô thị = N/0.75để tránh rèn luyện lại, tuy thế suy nghĩ ban đầu của tôi bắt đầu được đưa ra load factor = 1. Sẽ bao gồm điểm yếu cho biện pháp tiếp cận đó? Tại sao nhân tố download tác động get()với put()chi phí vận hành?
Hệ số thiết lập = 1 hashmaps cùng với con số mục = dung lượng sẽ thống kê gồm số lượng va va đáng kể (= Khi các khóa tạo thành và một hàm băm). Lúc xẩy ra xung bất chợt, thời hạn tra cứu giúp tạo thêm, vày vào một đội đang có> 1 mục khớp, trong các số ấy khóa phải được kiểm tra riêng cho sự cân nhau. Một số phxay toán đưa ra tiết: preshing.com/20110504/hash-collision-probabilities
— atimb
8
Tôi không áp theo dõi chúng ta
atimb; Thuộc tính loadphối chỉ được áp dụng nhằm xác minh khi nào đề nghị tăng form size lưu trữ phải không? - Làm rứa làm sao để có một cỗ tải của một tăng khả năng va va băm? - Thuật toán băm không có loài kiến thức về con số vật phẩm trong phiên bản đồ dùng hoặc gia tốc áp dụng "xô" tàng trữ bắt đầu, v.v ... Đối với ngẫu nhiên đội đối tượng người dùng như thế nào gồm cùng kích thước, bất kể chúng được tàng trữ ra sao, chúng ta nên tất cả thuộc Xác Suất của những giá trị băm lặp đi tái diễn ...
Xác suất va chạm băm là ít hơn, nếu như size của phiên bản thiết bị lớn hơn. Ví dụ: những phần tử gồm mã băm 4, 8, 16 với 32 sẽ được đặt trong cùng một tổ, nếu như form size của bạn dạng đồ là 4, cơ mà hồ hết mục sẽ sở hữu được một đội nhóm riêng biệt, trường hợp size của phiên bản đồ vật to hơn 32. Bản thứ với kích cỡ ban đầu 4 và thông số cài đặt 1.0 (4 xô, nhưng mà toàn bộ 4 nguyên tố vào một nhóm) đã vào ví dụ này vừa phải lừ đừ rộng hai lần so với một thông số không giống cùng với thông số tải 0,75 (8 xô, hai xô đầy - với thành phần "4" và cùng với những phần tử "8", "16", "32").
— 30h
1
túi tiền tra cứu vớt
Adelin được tăng cho những nguyên tố sở hữu cao hơn nữa bởi vì sẽ có rất nhiều xung tự dưng rộng cho các quý giá cao hơn nữa với cách Java cách xử lý những xung bỗng dưng là bằng phương pháp đặt những mục bao gồm cùng mã băm vào cùng một đội bằng cấu tạo tài liệu. Bắt đầu trong Java 8, cấu tạo dữ liệu này là 1 trong những cây search kiếm nhị phân. Điều này khiến cho việc tìm và đào bới tìm tinh vi trong ngôi trường thích hợp xấu độc nhất O (lg (n)) với trường phù hợp xấu tốt nhất xẩy ra giả dụ tất cả các nguyên tố được tiếp tế bao gồm cùng mã băm.
Công suất thuở đầu mang định của HashMapmất là 16 với hệ số download là 0,75f (có nghĩa là 75% form size phiên bản vật dụng hiện tại). Hệ số cài đặt miêu tả tại mức độ như thế nào HashMapbắt buộc tăng gấp rất nhiều lần hiệu suất.
Ví dụ thành phầm của hiệu suất và thông số sở hữu như 16 * 0.75 = 12. Như vậy biểu lộ rằng sau khi tàng trữ cặp khóa - quý hiếm sản phẩm công nghệ 12 vào HashMap, dung tích của nó đổi thay 32.
Mặc dù câu vấn đáp của công ty hết sức rõ ràng, chúng ta cũng có thể sung sướng cho biết tức thì sau khoản thời gian tàng trữ 12 cặp khóa-quý hiếm, dung tích biến chuyển 32 tuyệt là lúc mục trang bị 13 được sản xuất, trên thời đặc điểm này, dung tích thay đổi cùng tiếp đến mục nhập được chèn.