Fill in blank to form a correct statement: "A recursive method is a method that invokes itself directly or indirectly. For a recursive method to terminate there must be one or more ____________".
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: "base cases". Một phương pháp đệ quy chỉ dừng được khi có ít nhất một tình huống nó trả lời trực tiếp mà không gọi lại chính nó, và mọi lời gọi phải tiến dần về tình huống ấy; cụm "base cases" chỉ đúng những tình huống nền đó. Từ "steps" chỉ nói tới các bước, mà bước lại chính là phần gọi lại, càng nhiều bước càng lún sâu chứ không giúp dừng. Từ "limit conditions" nghe như điều kiện chặn giá trị, nhưng một điều kiện giới hạn mà vẫn gọi tiếp thì đệ quy vẫn chạy mãi; điều cần là nhánh trả kết quả ngay. Từ "conditions" quá rộng: mọi câu lệnh rẽ nhánh trong hàm đều là một điều kiện, kể cả điều kiện dẫn vào nhánh đệ quy, nên nó không nêu được cái đặc trưng của chỗ dừ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