Chủ đề F. Bài 5. Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp

Bài 5. Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp trang 39 SBT Tin Học lớp 7Cánh Diều, mời các em tham khảo cùng Bumbii.

Bài 5. Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp

Câu F19

Hãy trình bày diễn biến từng bước của thuật toán tìm kiếm tuần tự áp dụng cho dãy số {11, 70, 18, 39, 63, 52, 41, 5} để tìm:

1) x = 39.

2) x = 60.

Đáp án:

Dãy xuất phát:

 Dãya1a2a3a4a5a6a7a8
117018396352415

1) Số phải tìm là x (x = 39). Các bước thực hiện tìm kiếm:

BướcThực hiện
1So sánh số ở đầu dãy với x: Vì a1 = 11 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy
2So sánh số đang xét với x: Vì a2 = 70 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy.
3So sánh số đang xét với x: Vì a3 = 18 ≠x nên chuyển sang xét số tiếp theo a4 trong dãy.
4So sánh số đang xét với x: Vì a4 = 39 = x Kết luận: Tìm thấy x ở vị trí thứ 4 trong dãy; kết thúc thuật toán.

2) Số phải tìm là x (x = 60). Các bước thực hiện tìm kiếm:

BướcThực hiện
1So sánh số ở đầu dãy với x: Vì a1 = 11 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy
2So sánh số đang xét với x: Vì a2 = 70 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy.
3So sánh số đang xét với x: Vì a3 = 18 ≠ x nên chuyển sang xét số tiếp theo a4 trong dãy.
 
8So sánh số đang xét với x: Vì a8= 55 ≠ x và không chuyển số tiếp theo được nữa vì hết dãy. Kết quả “Không tìm thấy”.

Câu F20

Hãy trình bày diễn biến từng bước của thuật toán sắp xếp chọn dần áp dụng cho dãy số {11, 70, 18, 39, 63, 52, 41, 5} để được dãy số giảm dần.

Đáp án:

Dãy (a)a1a2a3a4a5a6a7a8
Ban đầu, i = 1117018396352415
Sau bước 1, i = 2701118396352415
Sau bước 2, i = 3706318391152415
Sau bước 3, i = 4706352391118415
Sau bước 4, i = 5706352411118395
Sau bước 5, i = 6706352413918115
Sau bước 6, i = 770635241391811
Sau bước 770635241391811
Dãy kết quả70635241391811

Câu F21

Hãy trình bày diễn biến từng bước của thuật toán sắp xếp chọn dần áp dụng cho dãy số {11, 70, 18, 39, 63, 52, 41, 5} để được dãy số tăng dần.

Đáp án:

Xuất phát, i=111701839635241
Lượt thứ nhất111839635241570 
Lượt thứ hai111839524156370 
Lượt thứ ba111839415526370 
Lượt thứ tư111839541526370 
Lượt thứ năm111853941526370 
Lượt thứ sáu115183941526370 
Lượt thứ bảy511183941526370 
Lượt thứ tám511183941526370 
Dãy kết quả511183941526370 

Câu F22

Cho dãy số {5, 11, 18, 39, 41, 52, 63, 70}. Hãy trình bày diễn biến từng bước của thuật toán tìm kiếm nhị phân để tìm kiếm x trong dãy.

1) x = 39

2) x = 60.

Đáp án:

Dãy (a)a1a2a3a4a5a6a7a8
Xuất phát511183941526370
Bước 15111839

1) Số phải tìm là x = 39:

Chia đôi lần 1: Phạm vi tìm kiếm là dãy từ a1 đến a8. Lấy a4 là số có vị trí giữa dãy. Vì x = a4 nên đã tìm thấy x = 39 tại vị trí thứ 4.

2) Số phải tìm là x = 60.

Dãy (a)a1a2a3a4a5a6a7a8
Xuất phát511183941526370
Bước 141526370
6370
63

Chia đôi lần 1: Phạm vi tìm kiếm là dãy từ a1 đến a8. Lấy a4 là số có vị trí giữa dãy.

Vì x > a4 nên nửa đầu dãy chắc chắn không chứa x = 60, tiếp theo chỉ cần tìm trong nửa sau của dãy. Như vậy, phạm vi tìm kiếm tiếp theo là dãy con từ a5 đến a8.

Chia đôi lần 2: lấy a6 là số có vị trí giữa dãy còn lại.

Vì x > a6 nên nửa đầu dãy chắc chắn không chứa x = 60, tiếp theo chỉ cần tìm trong nửa sau của dãy. Như vậy, phạm vi tìm kiếm tiếp theo là dãy con từ a7 đến a8.

Chia đôi lần 3: lấy a7 là số có vị trí giữa dãy còn lại.

Vì x < a7 nên nửa sau dãy chắc chắn không chứa x = 60, tiếp theo chỉ cần tìm trong nửa dãy. Như vậy, phạm vi tìm kiếm tiếp theo là dãy con một phần tử a7.

Chỉ còn một phần tử, không chia đôi nữa, so sánh thấy x khác a. Kết luận: Không tìm thấy.

Xem thêm các bài khác tại Giải sách bài tập tin học lớp 7 – NXB Cánh Diều

Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x