Bài 2: Tìm kiếm nhị phân

Bài 1 (SGK Cánh Diều - Trang 81)

Hướng dẫn giải

Nếu phải tìm một số trong dãy đã sắp xếp theo thứ tự tăng dần hoặc giảm dần, em sẽ chia đôi dãy số để tìm kiếm nhanh nhất có thể 

(Trả lời bởi 𝓗â𝓷𝓷𝓷)
Thảo luận (1)

Bài 2 (SGK Cánh Diều - Trang 81)

Hướng dẫn giải

tham khảo

Em đồng ý với ý kiến của bạn Thanh An.

Vì khi ta chia đôi để tìm một số trong dãy thì ta có thể tìm được kết quả nhanh hơn.

Ta sẽ sắp xếp dãy theo thứ tự không giảm, sau đó chia đôi để tìm kiếm. Nên sẽ không tìm quá ba lần lật thẻ.

(Trả lời bởi Mai Trung Hải Phong)
Thảo luận (1)

Bài 3 (SGK Cánh Diều - Trang 83)

Hướng dẫn giải

tham khảo

Tìm kiếm x = 60.

Bước 1. Ta sắp xếp dãy theo thứ tự không giảm.

Bước 2. Ta chia đôi dãy số để tìm x trong dãy. Ta sẽ chia ngay vị trí a6 (a6=52) vì x > a6. Phạm vi tìm kiếm tiếp theo là từ a7 đến a8.

Bước 3. Khi đó phạm vi tìm kiếm chỉ có a7 đến a8 và ta thấy không có số nào bằng x. Kết thúc thuật toán không tìm thấy kết quả x.

(Trả lời bởi Mai Trung Hải Phong)
Thảo luận (1)

Bài 4 (SGK Cánh Diều - Trang 83)

Hướng dẫn giải

tham khảo

Cách tra cứu, tìm giải nghĩa từ điển:

Danh sách các giá trị dữ liệu không được sắp xếp và có thể được thay đổi bằng cách sử dụng các phương thức tích hợp sẵn. Từ điển được sử dụng để tạo ra một bản đồ cho các khóa (keys) độc nhất tới giá trị (values). Từ điển sẽ sắp xếp một tập các đối tượng (khóa) đến một tập các đối tượng là giá trị, do đó người sử dụng có thể tạo ra một danh sách các đối tượng không theo thứ tự. Các từ điển được tạo ra có thể biến đổi được, có nghĩa là chúng có thể được thay đổi tùy theo mục đích của người dùng.

Ta gọi cách tìm kiếm đó là thuật toán nhị phân.

(Trả lời bởi Mai Trung Hải Phong)
Thảo luận (1)

Bài 5 (SGK Cánh Diều - Trang 83)

Hướng dẫn giải

Bước 1. Sắp xếp dãy theo thứ tự không giảm.

Bước 2. Ta chia đôi dãy số để tìm x trong dãy.

Bước 3. Lấy phần tử đứng giữa dãy để so sánh với x.

Nếu phần tử đó chính là x thì kết luận đã tìm thấy x và kết thúc thuật toán.

Ngược lại, ta có thể xác định được x chắc chắn không có trong nửa đầu hay nửa sau của dãy. Từ đó ta xác định được phạm vi tìm kiếm và thực hiện tìm kiếm trong phạm vi nữa dãy còn lại, sẽ được lặp lại theo cách như thế cho đến khi tìm được kết quả.

(Trả lời bởi Quoc Tran Anh Le)
Thảo luận (1)

Bài 6 (SGK Cánh Diều - Trang 83)

Hướng dẫn giải

tham khảo

Theo em, chỉ thực hiện tìm kiếm nhị phân ở một số dãy số. Vì khi dãy có thứ tự thì mới áp dụng được tìm kiếm nhị phân.

(Trả lời bởi Mai Trung Hải Phong)
Thảo luận (1)