Skip to main content

Thuật toán băm là gì?

Thuật toán băm, còn được gọi là hàm băm, là một quy trình toán học được sử dụng trong lập trình máy tính để biến một phần lớn dữ liệu thành một biểu tượng đại diện nhỏ hơn, được gọi là phím băm.Việc sử dụng chính các thuật toán băm xảy ra trong cơ sở dữ liệu lớn về thông tin.Mỗi bộ sưu tập dữ liệu được gán một khóa băm, đó là một ký hiệu hoặc mã ngắn đại diện cho nó.Khi người dùng cần tìm phần dữ liệu đó, anh ta nhập ký hiệu hoặc mã và máy tính hiển thị phần dữ liệu đầy đủ. Để băm, vì quá trình này được gọi, để hoạt động, nó cần một hàm băm hoặc thuật toán băm.Điều này cho máy tính biết cách lấy phím băm và khớp với một tập hợp dữ liệu mà nó đại diện.Các khu vực trong chương trình máy tính được gọi là khe hoặc xô lưu trữ thông tin và từng liên kết chính đến một khe hoặc xô cụ thể. Để hiểu toàn bộ thuật toán băm, tốt nhất là bạn nên tưởng tượng một chương trình máy tính hoạt động giống như một từ điển.Mỗi chữ cái của bảng chữ cái đại diện cho một khóa băm.Các trang chứa tất cả các từ bắt đầu bằng một chữ cái nhất định là một khe hoặc xô.Nếu một người đang tìm kiếm một danh sách các từ bắt đầu bằng chữ A, anh ta có thể nhập chữ A, đại diện cho một khóa, vào máy tính và thuật toán băm sẽ tìm kiếm khe cắm phù hợp với khóa cụ thể đó.Sau đó sẽ lấy tất cả các phần dữ liệu trong khe đó.Trong trường hợp này, nó sẽ trả về tất cả các từ bắt đầu bằng chữ A. Ví dụ này cho thấy một phiên bản đơn giản hóa về cách thức hoạt động của thuật toán băm.Nó cũng có thể liên kết một phím băm với một đoạn dữ liệu cụ thể và chỉ phần dữ liệu đó sẽ xuất hiện thay vì nhiều phần.Toàn bộ quá trình được chứa trong bảng băm hoặc bản đồ băm.Bảng này ghi lại dữ liệu và các khóa phù hợp tương ứng với nó.Sau đó, nó sử dụng thuật toán băm để kết nối khóa với một phần dữ liệu khi người dùng yêu cầu.Một nhà nghiên cứu đang cố gắng so sánh các bản ghi tương tự từ các thí nghiệm của mình có thể tạo ra một thuật toán băm để gán khóa cho bất kỳ dữ liệu nào tương tự.Sau đó, nó sẽ cho anh ta thấy tất cả các phần dữ liệu tương tự cùng một lúc để anh ta so sánh.