Trình mô phỏng Tháp Hà Nội
Công cụ mô phỏng đệ quy giải bài toán Tháp Hà Nội — di chuyển các đĩa trong số bước tối thiểu 2ⁿ−1, có điều khiển từng bước. Chạy ngay trên trình duyệt.
Mã giả
Press Run to animate the algorithm.
Time · Space
Cách dùng
- 1 Nhấn Run để xem lời giải đệ quy di chuyển từng đĩa từ cọc A sang cọc C.
- 2 Đĩa lớn hơn không bao giờ được đặt lên đĩa nhỏ hơn — quan sát quy tắc này được giữ đúng ở mọi bước.
- 3 Dùng Shuffle để đổi số lượng đĩa, hoặc bước qua từng nước đi một.
- 4 Số bước tối thiểu cho n đĩa là 2ⁿ − 1.
Vì sao dùng công cụ này
- Nhìn thấy phép đệ quy kinh điển: chuyển n−1 đĩa sang cọc phụ, di chuyển đĩa lớn nhất, rồi chuyển chúng trở lại.
- Hiểu vì sao số bước di chuyển tăng gấp đôi với mỗi đĩa thêm vào (2ⁿ − 1).
- Một ví dụ nhập môn hoàn hảo về phân rã bài toán đệ quy.
- 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
Tháp Hà Nội là gì?
Một trò chơi giải đố gồm ba cọc và một chồng đĩa có kích thước giảm dần. Mục tiêu là chuyển toàn bộ chồng đĩa sang cọc khác, mỗi lần di chuyển một đĩa và không bao giờ đặt đĩa lớn hơn lên đĩa nhỏ hơn.
Cần bao nhiêu bước di chuyển?
Số bước tối thiểu là 2ⁿ − 1 cho n đĩa — 7 bước với 3 đĩa, 31 bước với 5 đĩa, và hơn một triệu bước với 20 đĩa.
Lời giải đệ quy hoạt động như thế nào?
Để chuyển n đĩa từ A sang C: đệ quy chuyển n−1 đĩa từ A sang B, chuyển đĩa lớn nhất từ A sang C, rồi đệ quy chuyển n−1 đĩa đó từ B sang C.
Vì sao đây là ví dụ kinh điển về đệ quy?
Nó thu gọn một bài toán kích thước n thành hai bài toán kích thước n−1 cộng thêm một bước di chuyển, chính là bản chất của phân rã đệ quy.
Trình mô phỏng Tháp Hà Nội là gì?
Trình mô phỏng Tháp Hà Nội minh họa lời giải đệ quy cho bài toán kinh điển ba cọc: để di chuyển n đĩa, nó chuyển n−1 đĩa sang cọc phụ, di chuyển đĩa lớn nhất, rồi chuyển n−1 đĩa đó trở lại — không bao giờ đặt đĩa lớn hơn lên đĩa nhỏ hơn, trong 2ⁿ−1 bước.
Tính năng
Hoạt ảnh từng bước
Xem lời giải đệ quy tối ưu di chuyển các đĩa giữa các cọc.
Độ phức tạp
Chính xác 2ⁿ − 1 bước di chuyển → thời gian O(2ⁿ). Không gian: độ sâu đệ quy O(n).
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
3 disks
Output
2³ − 1 = 7 moves (optimal)
Trường hợp sử dụng
-
1
Học về đệ quy
Xem cách bài toán được rút gọn thành hai bài toán con nhỏ hơn.
-
2
Hiểu về tăng trưởng theo cấp số nhân
Theo dõi số bước di chuyển tăng gấp đôi mỗi khi thêm một đĩa (2ⁿ − 1).
-
3
Dạy về chia để trị
Minh họa một cách phân rã đệ quy rõ ràng.
Công cụ trực quan hóa Tháp Hà Nội của Zerethon mô phỏng động câu đố đệ quy kinh điển ngay trên trình duyệt của bạn: di chuyển một chồng đĩa từ cọc này sang cọc khác, không bao giờ đặt đĩa lớn hơn lên trên đĩa nhỏ hơn. Giải bài toán với n đĩa cần đúng 2ⁿ − 1 bước di chuyển — thời gian O(2ⁿ) — với độ sâu đệ quy O(n). Đây là ví dụ kinh điển về đệ quy.
- 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
- Tháp Hà Nội — Wolfram MathWorld — Wolfram MathWorld
- Tháp Hà Nội — 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 mô phỏng Tháp Hà Nộ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 Dynamic Programming →
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.