Trình trực quan hóa Hash Table
Hash table tương tác dùng separate chaining — insert, search, delete với hiệu ứng animation cho việc băm giá trị và xử lý va chạm. Chạy ngay trên trình duyệt.
Mã giả
Run an operation to see its steps.
Avg · Worst
Cách dùng
- 1 Nhập một số và nhấn Insert — số đó sẽ được băm vào một bucket (value % 7).
- 2 Khi hai giá trị băm ra cùng một bucket, chúng sẽ được nối chuỗi (separate chaining).
- 3 Nhấn Search hoặc Delete để băm ra bucket tương ứng và quét qua chuỗi trong đó.
- 4 Dùng Random để insert một giá trị ngẫu nhiên, hoặc Clear để xóa sạch bảng.
Vì sao dùng công cụ này
- Xem cách một hash function ánh xạ giá trị vào bucket chỉ trong một bước.
- Quan sát cách va chạm (collision) được xử lý bằng cách nối chuỗi các giá trị trong cùng một bucket.
- Hiểu vì sao thao tác tra cứu có độ phức tạp trung bình O(1) nhưng lại là O(n) khi chuỗi trở nên quá dài.
- Chạy hoàn toàn trên trình duyệt của bạn. Không cần đăng ký, không cần tải lên.
Câu hỏi thường gặp
Hash table là gì?
Hash table lưu trữ các cặp key/value trong một mảng gồm nhiều bucket, sử dụng hash function để tính chỉ số bucket tương ứng với mỗi key, giúp các thao tác insert, search và delete đạt tốc độ gần như hằng số.
Va chạm hash (hash collision) là gì?
Là khi hai key khác nhau lại được băm ra cùng một bucket. Công cụ này xử lý va chạm bằng separate chaining — mỗi bucket chứa một danh sách liên kết (linked list) các entry.
Độ phức tạp thời gian của các thao tác hash table là gì?
Trung bình là O(1) cho insert, search và delete. Trường hợp xấu nhất là O(n) khi nhiều key cùng va chạm vào một bucket.
Công cụ này dùng hash function nào?
Một hash function modulo đơn giản, index = value % 7, để các bucket dễ theo dõi. Hash table thực tế dùng hàm băm mạnh hơn và tự resize để giữ chuỗi ngắn.
Trình trực quan hóa Hash Table là gì?
Trình trực quan hóa Hash Table mô phỏng một hash table dùng separate chaining: một hash function (value % 7) ánh xạ mỗi giá trị vào một bucket, và các giá trị bị trùng bucket sẽ được nối chuỗi (chain) trong bucket đó. Công cụ minh họa các thao tác insert, search và delete với độ phức tạp trung bình O(1).
Tính năng
Chèn / Tìm kiếm / Xóa
Mô phỏng việc băm một khóa vào bucket và xử lý va chạm.
Độ phức tạp
Trung bình O(1) cho mỗi thao tác; tệ nhất O(n) khi va chạm nhiều. Không gian: O(n).
Riêng tư 100%
Chạy hoàn toàn trên trình duyệt của bạn — không có dữ liệu nào được tải lên.
Ví dụ
Input
put("cat"), put("dog")
Output
bucket = hash(key) mod capacity; collisions chained → average O(1) lookup
Trường hợp sử dụng
-
1
Hiểu về tra cứu O(1)
Xem lý do vì sao băm (hashing) mang lại thời gian truy cập trung bình là hằng số.
-
2
Va chạm & hệ số tải
Xem cách va chạm và hệ số tải tăng cao làm giảm hiệu năng.
-
3
Từ điển & tập hợp
Tìm hiểu cấu trúc đằng sau hash map và hash set.
Công cụ trực quan hóa bảng băm (hash table) của Zerethon mô phỏng các thao tác chèn, tìm kiếm và xóa ngay trên trình duyệt, ánh xạ mỗi khóa vào một bucket thông qua hàm băm và xử lý va chạm (ví dụ: bằng phương pháp nối chuỗi - chaining). Trung bình các thao tác này chạy trong O(1); trường hợp xấu nhất là O(n) khi nhiều khóa va chạm vào cùng một bucket. Không gian là O(n), và hiệu năng phụ thuộc vào hàm băm và hệ số tải (load factor).
- Danh mục
- Thuật toán
- Giá
- Miễn phí
- Quyền riêng tư
- Chạy trên trình duyệt
- Đăng ký
- Không cần
Tài liệu tham khảo
- MIT OCW 6.006 — Introduction to Algorithms (CLRS) — MIT OpenCourseWare
- VisuAlgo — Bảng băm — VisuAlgo (NUS)
- Bảng băm — Wikipedia
Quyền riêng tư
Dữ liệu của bạn không bao giờ rời khỏi trình duyệt trừ khi được nêu rõ. Trình trực quan hóa Hash Table chạy hoàn toàn phía client — không tải lên máy chủ, không ghi log, không theo dõi dữ liệu bạn nhập.
Mới làm quen? Đọc giải thích từng bước kèm phân tích Big-O: Tìm hiểu Data Structures →
So sánh
Công cụ liên quan
Trình mô phỏng Bubble Sort
Mô phỏng bubble sort có hoạt ảnh với các nút điều khiển từng bước, tốc độ, dữ liệu đầu vào tùy chỉnh, bộ đếm so sánh/hoán đổi trực tiếp và pseudocode. Chạy hoàn toàn trong trình duyệt của bạn.
Mở công cụTrình trực quan hóa Insertion Sort
Insertion Sort hoạt hình với các nút điều khiển từng bước, tốc độ, dữ liệu đầu vào tùy chỉnh, bộ đếm so sánh/ghi trực tiếp và mã giả (pseudocode). Chạy hoàn toàn trên trình duyệt của bạn.
Mở công cụTrình trực quan hóa Selection Sort
Selection Sort hoạt hình với các nút điều khiển từng bước, tốc độ, dữ liệu đầu vào tùy chỉnh, bộ đếm so sánh/hoán đổi trực tiếp và mã giả (pseudocode). Chạy hoàn toàn trên trình duyệt của bạn.
Mở công cụTrình trực quan hóa Merge Sort
Mô phỏng merge sort có hoạt ảnh với điều khiển từng bước, tốc độ, dữ liệu đầu vào tùy chỉnh, bộ đếm so sánh/ghi trực tiếp và mã giả (pseudocode). Chạy hoàn toàn trên trình duyệt.
Mở công cụXây dựng, chia sẻ và phát triển trên Zerethon Social
Đăng ký miễn phí. Kiếm điểm, sưu tầm thành tựu và kết nối với nhà sáng tạo khắp thế giới.