In which case would an iterative algorithm be preferred over a recursive algorithm?
Dễ4 phương án1 lượt làmCó lời giảiXuất hiện trong 1 bộ đề
A·B·C·DCác phương án trả lời
AWhen solving problems that require backtracking
When stack overflow is a concernĐúng
CWhen the problem involves tree traversal
DWhen solving problems with divide-and-conquer techniques
Giải thích chi tiết
Một thuật toán lặp (iterative) thường được ưu tiên hơn một thuật toán lặp lại (recursive) trong trường hợp nào? Thuật toán lặp lại có thể dẫn đến lỗi tràn ngăn xếp (stack overflow) khi được gọi nhiều lần, đặc biệt là khi giải quyết các vấn đề có quy mô lớn. Điều này xảy ra vì mỗi lần gọi hàm đều tạo ra một bản sao của ngăn xếp, và nếu không được quản lý tốt, ngăn xếp có thể trở nên quá lớn và dẫn đến lỗi. Trong khi đó, thuật toán lặp lại không tạo ra các bản sao ngăn xếp, do đó không có khả năng xảy ra lỗi tràn ngăn xếp. Vì vậy, khi cần giải quyết các vấn đề có quy mô lớn và tránh lỗi tràn ngăn xếp, thuật toán lặp lại thường được ưu tiên hơn.