Trình tạo mê cung
Trình tạo mê cung có hoạt ảnh bằng thuật toán chia đệ quy (recursive division) — xem từng bước dựng tường, điều chỉnh tốc độ, tạo mê cung mới. Kết hợp tốt với các trình trực quan hóa thuật toán tìm đường. Chạy hoàn toàn trên trình duyệt.
Click & drag on the grid to draw walls · drag the green and red squares to move start / goal · then press Play. Want a challenge? Hit Tự chơi thử and solve the maze by hand.
Move the indigo token with ↑ ↓ ← → / WASD (or tap an adjacent cell) from the green start to the red goal. Walls block you.
Mã giả
Time · Space
Cách dùng
- 1 Nhấn Generate để xem mê cung được dựng bằng thuật toán chia đệ quy.
- 2 Dùng Step để thêm từng bức tường một và theo dõi quá trình đệ quy.
- 3 Nhấn New maze để tạo một bố cục ngẫu nhiên khác.
- 4 Điều chỉnh Speed để làm chậm quá trình dựng tường, tiện cho việc quan sát.
Vì sao dùng công cụ này
- Xem thuật toán chia đệ quy tách mỗi khoang bằng một bức tường có một khe hở duy nhất.
- Mọi mê cung được tạo ra đều "hoàn hảo": chỉ có đúng một đường đi giữa hai ô bất kỳ.
- Một công cụ đồng hành lý tưởng với các trình trực quan hóa thuật toán tìm đường — cùng chung mô hình lưới ô vuông.
- 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
Thuật toán chia đệ quy tạo mê cung như thế nào?
Nó bắt đầu với một vùng trống, sau đó chia đệ quy mỗi khoang bằng một bức tường thẳng có một khe hở ngẫu nhiên, lặp lại cho đến khi các khoang quá nhỏ để chia tiếp.
Mê cung "hoàn hảo" là gì?
Một mê cung có đúng một đường đi giữa hai ô bất kỳ — không có vòng lặp và không có vùng bị cô lập. Thuật toán chia đệ quy luôn tạo ra mê cung hoàn hảo.
Tôi có thể giải mê cung này không?
Có — sao chép bố cục sang các trình trực quan hóa BFS, Dijkstra hoặc A* (cùng chung lưới ô vuông) để xem thuật toán tìm đường đi qua nó.
Còn những thuật toán tạo mê cung nào khác?
Recursive backtracker (DFS ngẫu nhiên hóa), Prim's, Kruskal's, Wilson's và Eller's — mỗi thuật toán tạo ra mê cung với kết cấu hình ảnh khác nhau.
Trình tạo mê cung là gì?
Trình tạo mê cung dựng một mê cung ngẫu nhiên bằng phương pháp chia đệ quy (recursive division): nó liên tục chia mỗi khoang bằng một bức tường có duy nhất một khe hở, lặp lại cho đến khi các khoang trở nên quá nhỏ để chia tiếp. Kết quả là một mê cung "hoàn hảo" (perfect maze) — chỉ có đúng một đường đi giữa hai ô bất kỳ.
Tính năng
Tạo mê cung có hoạt ảnh
Xem các bức tường được đục thủng khi thuật toán di chuyển qua lưới.
Độ phức tạp
Thời gian và bộ nhớ O(cells); tạo ra một mê cung hoàn hảo (đường đi duy nhất giữa hai ô bất kỳ).
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
grid size (e.g. 10×10)
Output
a perfect maze — exactly one path between any two cells
Trường hợp sử dụng
-
1
Tạo câu đố mê cung
Tạo các mê cung ngẫu nhiên để giải hoặc in ra.
-
2
Kiểm thử thuật toán tìm đường
Tạo ra các lưới để chạy thử BFS/DFS/A* trên đó.
-
3
Tìm hiểu về cây khung
Xem cách một mê cung hoàn hảo chính là một cây khung (spanning tree) của đồ thị lưới.
Công cụ tạo mê cung của Zerethon xây dựng một mê cung hoàn hảo (perfect maze) ngẫu nhiên ngay trong trình duyệt của bạn — một mê cung chỉ có đúng một đường đi duy nhất giữa hai ô bất kỳ (không có vòng lặp, không có vùng bị cô lập) — sử dụng các thuật toán như tìm kiếm theo chiều sâu ngẫu nhiên (randomized depth-first search). Quá trình tạo mê cung duyệt qua mỗi ô đúng một lần, chạy với thời gian và bộ nhớ O(cells).
- 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
- Thuật toán tạo mê cung — Wikipedia
- Tìm kiếm theo chiều sâu — 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 tạo mê cung 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 Graph Algorithms →
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.