Cấu trúc dữ liệu Hash Table

Chúng tôi rất vui mừng chia sẻ kiến thức về từ khóa Hashtable la gi để tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích và lựa chọn từ khóa phù hợp, cùng với chiến lược và công cụ hữu ích. Hy vọng thông tin này sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog để cập nhật kiến thức mới nhất.

Hash Table là gì?

Cấu trúc tài liệu Hash Table là một cấu trúc tài liệu lưu giữ tài liệu theo phương pháp liên hợp. Trong Hash Table, tài liệu được lưu giữ trong định dạng mảng, trong đó các giá trị tài liệu có mức giá trị chỉ mục riêng. Việc truy cập tài liệu trở thành nhanh hơn nếu tất cả chúng ta biết chỉ mục của tài liệu cần tìm.

Bạn Đang Xem: Cấu trúc dữ liệu Hash Table

Do đó, với loại cấu trúc tài liệu Hash Table này thì các hoạt động sinh hoạt chèn và hoạt động tìm kiếm sẽ diễn ra rất nhanh, bất chấp kích cỡ của tài liệu là bao nhiêu. Hash Table sử dụng mảng như thể một kho lưu giữ trung gian và sử dụng kỹ thuật Hash để tạo chỉ mục tại nơi thành phần được chèn vào.

Kỹ thuật Hashing

Hashing là một kỹ thuật để chuyển đổi một dãy các giá trị khóa (key) vào trong một dãy các giá trị chỉ mục (index) của một mảng. Tất cả chúng ta đang sử dụng toán tử lấy phần dư để thu được một dãy các giá trị khóa. Giả sử có một HashTable có kích cỡ là 20, và ở chỗ này là các thành phần cần được lưu giữ. Thành phần trong định dạng (key, value).

Cấu trúc dữ liệu hash table

  • (1,20)
  • (2,70)
  • (42,80)
  • (4,25)
  • (12,44)
  • (14,32)
  • (17,11)
  • (13,78)
  • (37,98)

Xem Thêm : Kênh MT và kênh GT là gì? Nên chọn kênh nào để kinh doanh?

Stt Key Hash Chỉ mục mảng 1 1 1 % 20 = 1 1 2 2 2 % 20 = 2 2 3 42 42 % 20 = 2 2 4 4 4 % 20 = 4 4 5 12 12 % 20 = 12 12 6 14 14 % 20 = 14 14 7 17 17 % 20 = 17 17 8 13 13 % 20 = 13 13 9 37 37 % 20 = 17 17

Kỹ thuật Dò tuyến tính (Linear Probing)

Tất cả chúng ta thấy rằng có thể xẩy ra trường hợp mà kỹ thuật Hashing được sử dụng để tạo chỉ mục đã tồn tại trong mảng. Trong tình huống này, tất cả chúng ta cần tìm kiếm vị trí trống kế tiếp trong mảng bằng việc nhìn vào trong ô tiếp theo cho tới khi tất cả chúng ta tìm thấy một ô trống. Kỹ thuật này được gọi là Dò tuyến tính (Linear Probing).

Stt Key Hash Chỉ mục mảng Sau kỹ thuật Linear Probing, chỉ mục mảng 1 1 1 % 20 = 1 1 1 2 2 2 % 20 = 2 2 2 3 42 42 % 20 = 2 2 3 4 4 4 % 20 = 4 4 4 5 12 12 % 20 = 12 12 12 6 14 14 % 20 = 14 14 14 7 17 17 % 20 = 17 17 17 8 13 13 % 20 = 13 13 13 9 37 37 % 20 = 17 17 18

Những hoạt động cơ bản trên Hash Table

Ở chỗ này là một số hoạt động cơ bản có thể được thực hiện trên cấu trúc tài liệu Hash Table.

Thành phần tài liệu (DataItem) trong HashTable

Thành phần tài liệu gồm có: data và key. Dựa vào key này tất cả chúng ta có thể thực hiện các hoạt động sinh hoạt tìm kiếm trong cấu trúc tài liệu HashTable.

Phương thức của cấu trúc tài liệu Hash Table

Xác định một phương thức để ước tính Hash Code của key của thành phần tài liệu.

Hoạt động tìm kiếm trong Hash Table

Mọi khi một thành phần được tìm kiếm: ước tính giá trị hash code của key đã truyền vào và sau đó xác định vị trí của thành phần bởi sử dụng giá trị hash code đó giống như thể chỉ mục trong mảng. Sử dụng kỹ thuật Dò tuyến tính (Linear Probing) để lấy thành phần nếu như không tìm thấy thành phần với giá trị hash code đã ước tính.

Hoạt động chèn trong Hash Table

Mọi khi một thành phần được chèn: ước tính giá trị hash code của key đã truyền và xác định vị trí của thành phần bởi sử dụng giá trị hash code đó giống như thể chỉ mục trong mảng. Sử dụng Dò tuyến tính (Linear Probing) cho vị trí trống nếu thành phần được tìm thấy với giá trị hash code đã ước tính.

Hoạt động xóa trong Hash Table

Mọi khi một thành phần cần được xóa: ước tính giá trị hash code của key đã truyền vào và sau đó xác định vị trí của thành phần bởi sử dụng giá trị hash code đó giống như thể chỉ mục trong mảng. Sử dụng Dò tuyến tính (Linear Probing) để lấy thành phần nếu như không tìm thấy thành phần với giá trị hash code đã ước tính. Khi tìm thấy, lưu trữ một thành phần giả tại đây để giữ hiệu suất của hash table.

You May Also Like

About the Author: v1000