Hai key khác nhau có thể hash vào cùng một bucket — một collision (va chạm). Hash table giữ trung bình O(1) bằng cách giải quyết collision và resizing (thay đổi kích thước) trước khi bucket trở nên chật chội, được kiểm soát bởi load factor.
Giải quyết collision
text
Separate chaining (chuỗi tách biệt): mỗi bucket giữ một list
[3] -> ("cat",9) -> ("rat",2) # cả hai hash vào 3
Open addressing (định địa chỉ mở): probe (dò) tới slot trống kế tiếp
hash=3 đã chiếm -> thử 4 -> thử 5 ... (linear probing)
