Bài 15. Thuật toán tìm kiếm nhị phân trang 51, 52 SBT Tin học 7 Kết nối tri thức với cuộc sống

Thuật toán tìm kiếm nhị phân được sử dụng trong trường hợp nào? Điều gì xảy ra khi thuật toán tìm kiếm nhị phân không tìm thấy giá trị cần tìm trong danh sách? Chọn câu diễn đạt đúng hoạt động của thuật toán tìm kiếm nhị phân. Thuật toán tìm kiếm nhị phân cần bao nhiêu bước để tìm thấy “Mai" trong danh sách ["Hoa”, ”Lan”, "Ly”, ”Mai”, ”Phong”, ”Vi]?


15.1

Thuật toán tìm kiếm nhị phân được sử dụng trong trường hợp nào?

A. Tìm một phần tử trong danh sách bất kì.

B. Tìm một phần tử trong danh sách đã được sắp xếp.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: B.


15.2

 Điều gì xảy ra khi thuật toán tìm kiếm nhị phân không tìm thấy giá trị cần tìm trong danh sách?

A. Tiếp tục tìm kiếm và không bao giờ kết thúc.

B. Thông báo "Tìm thấy" và tìm tiếp xem còn phần tử nào khác nữa không.

C. Thông báo “Tìm thấy” và kết thúc. thấy và kết thúc, mức. ỐNG

D. Thông báo “Không tìm thấy” và kết thúc.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: D.


15.3

Chọn câu diễn đạt đúng hoạt động của thuật toán tìm kiếm nhị phân

A. Tìm trên danh sách đã sắp xếp, bắt đầu từ đầu danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.

B. Tìm trên danh sách đã sắp xếp, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.

C. Tìm trên danh sách bất kì, bắt đầu từ giữa danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.

D. Tìm trên danh sách bất kì, bắt đầu từ đầu danh sách, chừng nào chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: B.


15.4

Thuật toán tìm kiếm nhị phân cần bao nhiêu bước để tìm thấy “Mai" trong danh sách ["Hoa”, ”Lan”, "Ly”, ”Mai”, ”Phong”, ”Vi]?

A. 1.

B. 2.

C. 3.

D. 4.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: C.


15.5

Thuật toán tìm kiếm nhị phân cần thực hiện bao nhiêu bước lặp để thông báo không tìm thấy số 15 trong danh sách [3, 5, 7, 11, 12, 25]?

A. 2.

B. 3.

C. 4.

D. 5.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: C.


15.6

Thực hiện thuật toán tìm kiếm nhị phân để tìm số 10 trong danh sách [2, 4 ,6, 8, 10, 12]. Đầu ra của thuật toán là?

A. Thông báo “Không tìm thấy”.

B. Thông báo “Tìm thấy".

C. Thông báo “Tìm thấy”, giá trị cần tìm tại vị trí thứ 5 của danh sách.

D. Thông báo “Tìm thấy”, giá trị cần tìm tại vị trí thứ 6 của danh sách.

Phương pháp giải:

 Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: C.


15.7

Hãy ghép mỗi nội dung ở cột A với những nội dung phù hợp ở cột B để xác định đầu vào và đầu ra của thuật toán tìm kiếm nhị phân.

Phương pháp giải:

 Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

1- c; 1 – d; 2 – a; 2 - b.


15.8

Em hãy điền các cụm từ: giá trị cần tìm xuất hiện ở vị trí giữa, nửa sau, “Không tìm thấy”, nửa trước vào chỗ chấm (...) được đánh số trong các câu sau để được mô tả chính xác về thuật toán tìm kiếm nhị phân.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

(1) – “Không tìm thấy”

(2) – giá trị cần tìm xuất hiện ở vị trí giữa

(3) – nửa trước

(4) – nửa sau


15.9

Cho bảng điểm môn Tin học của học sinh tổ một như sau:

a) Em hãy sắp xếp lại danh sách theo thứ tự tăng dần của Điểm.

b) Em hãy liệt kê các bước lặp thực hiện thuật toán tìm kiếm nhị phân để tìm học sinh được điểm 9,5 môn Tin học. Hãy cho biết tên học sinh đó

Phương pháp giải:

Dựa vào kiến thức đã học và thuật toán tìm kiếm nhị phân

Lời giải chi tiết:

a) Dựa vào kiến thức đã học và thuật toán tìm kiếm nhị phân

b) Các bước thực hiện thuật toán tìm kiếm nhị phân để tìm học sinh được điểm 9,5 môn Tin học

Vùng tìm kiếm là dãy số: 7,5 8,0 8,5 9,0 9,5 10

Bước 1. Chọn phần tử ở giữa, đó là 8,5. So sánh ta có 9,5 > 8,5, do đó vùng tìm kiếm thu hẹp chỉ còn nửa sau của danh sách.

Bước 2. Chọn phần tử ở giữa, đó là 9,5. So sánh ta có 9,5 = 9,5, tìm thấy giá trị cần tìm nên thuật toán dừng lại.


15.10

Thực hành: Em hay tìm kiếm thông tin trên internet để lập bảng danh sách khoảng 10 cuốn sách mà em yêu thích và đơn giá của mỗi cuốn sách. Sau đó thực hiện thuật toán tìm kiếm nhị phân để tìm cuốn sách mà em thích nhất trong danh sách vừa tìm được và cho biết đơn giá của cuốn sách đó.

Phương pháp giải:

Bước 1. Tìm kiếm thông tin trên Internet, lập bảng danh sách khoảng 10 cuốn sách đơn sách.

Bước 2. Sắp xếp tên sách theo thứ tự của bằng chữ cái.

Bước 3. Chỉ ra tên một cuốn sách mà em thích nhất.ách mà em thích nhất

Bước 4. Liệt kê các bước thực hiện thuật toán tìm kiếm nhị phân để tìm tên cuốn sách mà em thích nhất trong danh sách ở Bước 2.

Bước 5. Ghi ra đơn giá của cuốn sách tìm thấy ở Bước 4.

Lời giải chi tiết:

Lần lặp

Sách

Đơn giá

1

Cá chép - Nước mắt tuổi 14

80.000đ

2

Có hai con mèo ngồi bên cửa sổ

75.000đ

3

Cuộc đời của Pi

70.000đ

4

Góc sân và khoảng trời

90.000đ

5

Hoàng tử bé

110.000đ

6

Không gia đình

65.000đ

7

Nhà giả kim

60.000đ

8

Tôi tự học

80.000đ

9

Truyện cổ Grim

95.000đ

10

Tuổi thơ dữ dội

76.000đ

 

Các bước tìm kiếm tên sách Tôi tự học trong danh sách đã sắp xếp theo thuật toán tìm kiếm nhị phân:

Bước 1: Xét vị trí ở giữa của dãy, đó là vị trí thứ 5

So sánh”Hoàng tử bé” và “Tôi tự học” vì “H” đứng trước “T” trong bảng chữ cái nên bỏ đi nửa đầu danh sách

Bước 2: Xét vị trí ở giữa của nửa sau dãy, đó là vị trí thứ 8

So sánh “Tôi tự học” và “Tôi tự học” vì hai giá trị bằng nhau nên thuật toán kết thúc.

Sau 2 bước đã tìm thấy tên sách “Tôi tự học” với đơn giá sách là 80.000đ