Giả sử A = [1, 3, 7, 9] và K = 10. Nếu áp dụng chương trình trên thì cần mấy lần gọi hàm đệ quy

Câu hỏi 2 trang 14 Chuyên đề Tin học 11: Giả sử A = [1, 3, 7, 9] và K = 10. Nếu áp dụng chương trình trên thì cần mấy lần gọi hàm đệ quy?

Trả lời

Nếu áp dụng chương trình trên thì cần 4 lần gọi hàm đệ quy

lần đầu tiên gọi hàm binarySearch(A, 0, 3, 10), lần này lệnh return sẽ gọi tiếp hàm binarySearch(A, 0, 1, 10) vì A[mid] < K

lần thứ hai gọi hàm binarySearch(A, 0, 1, 10), lần này lệnh return sẽ gọi tiếp hàm binarySearch(A, 1, 1, 10) vì A[mid] < K

lần thứ ba gọi hàm binarySearch(A, 1, 1, 10), lần này lệnh return sẽ gọi tiếp hàm binarySearch(A, 2, 1, 10) vì A[mid] < K

lần thứ tư gọi hàm binarySearch(A, 2, 1, 10), lần này lệnh return sẽ kết thúc hàm và trả về -1 vì left > right.

Xem thêm lời giải bài tập Chuyên đề học tập Tin học lớp 11 Kết nối tri thức hay, chi tiết khác:

Bài 1: Đệ quy và hàm đệ quy

Bài 2: Thiết kế thuật toán đệ quy

Bài 3: Thực hành giải toán theo kĩ thuật đệ quy

Bài 4: Tháp Hà Nội

Bài 5: Thực hành thiết kế thuật toán theo kĩ thuật đệ quy

Bài 6: Ý tưởng và kĩ thuật chia để trị

 

Câu hỏi cùng chủ đề

Xem tất cả