Which of the following algorithm cannot be designed without recursion?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "None of the others". Đệ quy chỉ là cách viết gọn chứ không mở thêm năng lực tính toán: mọi lời gọi đệ quy đều thay được bằng một vòng lặp cộng với một ngăn xếp tường minh để lưu các trạng thái còn dở, vì đó đúng là việc mà ngăn xếp lời gọi của máy đang làm hộ. "Tower of Hanoi" có bản lặp quen thuộc: với n đĩa, chạy 2^n - 1 bước theo quy tắc luân phiên di chuyển đĩa nhỏ nhất rồi thực hiện nước đi hợp lệ duy nhất còn lại. "Fibonacci Series" thậm chí nên viết lặp, chỉ cần hai biến giữ hai số liền trước rồi cộng dồn, nhanh hơn hẳn bản đệ quy nhân đôi lời gọi. "Tree Traversal" cũng viết lặp được: dùng một ngăn xếp để đẩy các nút còn chờ xử lý, hoặc dùng hàng đợi nếu duyệt theo chiều rộng. Cả ba thuật toán vừa nêu đều không bắt buộc đệ quy, nên câu trả lời phủ định toàn bộ mới đúng.

Cùng phần 3

Xuất hiện trong 1 bộ đề