Trình trực quan hóa hàng đợi
Hàng đợi FIFO tương tác — thêm (enqueue) và lấy ra (dequeue) phần tử với hoạt ảnh con trỏ front/rear và các nút điều khiển từng bước. Chạy ngay trong 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 Enqueue để thêm số đó vào phía sau (rear) của hàng đợi.
- 2 Nhấn Dequeue để lấy ra phần tử ở phía trước (front) — vào trước ra trước.
- 3 Dùng Random để thêm một giá trị ngẫu nhiên, hoặc Clear để làm rỗng hàng đợi.
- 4 Lùi lại và tiến tới từng bước qua bất kỳ thao tác nào.
Vì sao dùng công cụ này
- Xem nguyên tắc FIFO: giá trị được thêm vào đầu tiên sẽ là giá trị được lấy ra đầu tiên.
- Quan sát con trỏ “front” và “rear” khi hàng đợi tăng và giảm kích thước.
- Hiểu vì sao enqueue và dequeue đều có độ phức tạp O(1).
- Chạy hoàn toàn trong trình duyệt của bạn. Không cần đăng ký, không tải lên.
Câu hỏi thường gặp
Hàng đợi (queue) là gì?
Hàng đợi là một tập hợp theo nguyên tắc FIFO (vào trước ra trước): phần tử được thêm vào ở phía sau (enqueue) và lấy ra ở phía trước (dequeue).
Độ phức tạp thời gian của các thao tác trên hàng đợi là gì?
Enqueue và dequeue đều có độ phức tạp O(1) nếu cài đặt đúng cách (bằng danh sách liên kết hoặc bộ đệm vòng).
Hàng đợi được dùng để làm gì?
Lập lịch tác vụ, tìm kiếm theo chiều rộng (breadth-first search), làm bộ đệm, xếp hàng in (print spooling), và bất kỳ quy trình xử lý nào theo nguyên tắc đến trước phục vụ trước.
Hàng đợi vòng (circular queue) là gì?
Là một hàng đợi được cài đặt trên một mảng có kích thước cố định, trong đó chỉ số front và rear quay vòng, tái sử dụng các ô trống mà không cần dịch chuyển phần tử.
Trình trực quan hóa hàng đợi là gì?
Trình trực quan hóa hàng đợi mô phỏng hoạt ảnh của một hàng đợi — một tập hợp theo nguyên tắc vào trước ra trước (FIFO), trong đó giá trị được thêm vào ở phía sau (enqueue) và lấy ra ở phía trước (dequeue). Cả hai thao tác đều có độ phức tạp O(1).
Tính năng
Enqueue / dequeue / peek
Mô phỏng động các phần tử đi vào từ phía sau và rời khỏi từ phía trước.
Độ phức tạp
enqueue / dequeue / peek: mỗi thao tác O(1). Không gian: O(n). Thứ tự FIFO.
Riêng tư 100%
Chạy hoàn toàn trong trình duyệt của bạn — không có gì được tải lên.
Ví dụ
Input
enqueue A, enqueue B, enqueue C, then dequeue
Output
dequeue → A (FIFO: first in, first out)
Trường hợp sử dụng
-
1
Hiểu về FIFO
Xem lý do vì sao phần tử được thêm vào đầu tiên là phần tử bị loại bỏ đầu tiên.
-
2
Lập lịch & bộ đệm
Liên hệ hàng đợi với lập lịch tác vụ, hàng đợi in ấn và các bộ đệm.
-
3
Khối xây dựng cho BFS
Tìm hiểu hàng đợi vận hành thuật toán tìm kiếm theo chiều rộng (BFS).
Công cụ trực quan hóa hàng đợi của Zerethon mô phỏng động một hàng đợi FIFO (vào trước, ra trước) ngay trên trình duyệt, thể hiện các thao tác enqueue, dequeue và peek. Mọi thao tác trên hàng đợi đều chạy trong thời gian O(1); không gian bộ nhớ là O(n) với n phần tử. Phần tử được thêm vào sớm nhất luôn là phần tử bị loại bỏ đầu tiên.
- 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 — Linked List / Stack / Queue — VisuAlgo (NUS)
- Queue (abstract data type) — 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 hàng đợi 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 →
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.