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 ánLờ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
Consider the following function:
void fun(int n)
{if(n > 0)
{System.out.print(" " + n );
fun(n-2);
}
}
What is the output when the statement fun(9); is run?Có lời giảiCâu hỏiConsider the following function:
void fun(int n)
{int m = n/2;
int k = n%2;
if (m > 0)
{fun(m);
}
System.out.print(k + " ");
}
What is the output when the statement fun(11); is run?Có lời giảiCâu hỏiConsider the following function:
int fun(int n)
{if (n < 0)
return(fun(-n));
else if(n<5)
return(2);
else
return(n*fun(n/2));
}
What is the value of fun(-3)?Có lời giảiCâu hỏiCả 41 câu của chủ đề41 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây