MÔ PHỎNG ĐỆ QUY

Truyền thuyết Tháp Hà Nội nói 64 đĩa cần 2⁶⁴−1 nước đi, hơn 18 tỉ tỉ lần nhấc đĩa, vậy mà toàn bộ lời giải gói trong một câu tự gọi lại chính nó: chuyển n−1 đĩa sang cọc phụ, dời đĩa đáy, rồi lặp lại. Mỗi lời gọi chiếm một khung trên ngăn xếp và ngăn xếp thì hữu hạn, thiếu trường hợp cơ sở là tràn. Hàm Fibonacci ngây thơ rẽ hai nhánh mỗi tầng nên cùng một fib(k) bị tính đi tính lại theo cấp số nhân; khi kết quả được ghi nhớ, các nhánh trùng bị cắt cụt và cây gọi xẹp về gần như tuyến tính.

▸ Dựng ngăn xếp gọi (call stack)…
▸ Nạp giai thừa · Tháp Hà Nội
▸ Nạp cây Fibonacci (± ghi nhớ)
▸ Nạp fractal đệ quy (cây · Koch)
▸ Băm từng bước đẩy/pop khung để phát lại…
▸ Sẵn sàng — Trực tuyến. ✅
0%
⌂ Tư duy & Máy

Phòng mô phỏng Đệ quy & Ngăn xếp

Recursion & Call Stack
Trực tuyến
đẩy/pop khung · cây gọi · fractal
Đệ quy & ngăn xếp
➗ Giai thừa n!
Tổng lời gọi—
Khung / sâu tối đa—
Chạm cơ sở—
Giá trị trả về—
Độ phức tạp—
Đang xem—
Ghi chú
Đệ quy = một hàm gọi lại chính nó trên bài toán nhỏ hơn, tiến về trường hợp cơ sở. Mỗi lời gọi đẩy một khung ngăn xếp; chạm cơ sở thì các khung lần lượt pop và dội giá trị trả về ngược lên.
—
Chọn "Kịch bản" để đổi loại đệ quy (giai thừa · Hà Nội · Fibonacci · ghi nhớ · cây · Koch) · kéo n để đổi độ sâu · bấm khái niệm để xem chi tiết
Trình duyệt chưa bật canvas.
Tổng lời gọi & độ sâu ngăn xếp theo thời gian tổng lời gọiđộ sâu khung
Về Đệ quy & Ngăn xếp

Truyền thuyết Tháp Hà Nội nói 64 đĩa cần 2⁶⁴−1 nước đi, hơn 18 tỉ tỉ lần nhấc đĩa, vậy mà toàn bộ lời giải gói trong một câu tự gọi lại chính nó: chuyển n−1 đĩa sang cọc phụ, dời đĩa đáy, rồi lặp lại. Mỗi lời gọi chiếm một khung trên ngăn xếp và ngăn xếp thì hữu hạn, thiếu trường hợp cơ sở là tràn. Hàm Fibonacci ngây thơ rẽ hai nhánh mỗi tầng nên cùng một fib(k) bị tính đi tính lại theo cấp số nhân; khi kết quả được ghi nhớ, các nhánh trùng bị cắt cụt và cây gọi xẹp về gần như tuyến tính.

Chủ đề liên quan trong Tư duy & Máy