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

Theo dõi 1.edu.vn trên
Bạn đang xem: Giải bài 5: Thực hành mô phỏng thuật toán tìm kiếm, sắp xếp Tại 1.edu.vn
Thứ năm - 29/02/2024 17:40
Mục lục

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

Giải bài 5: Thực hành mô phỏng các thuật toán tìm kiếm, sắp xếp - Sách tin học 7 cánh diều. Phần đáp án chuẩn, hướng dẫn giải chi tiết cho từng bài tập có trong chương trình học của sách giáo khoa. Hi vọng, các em học sinh hiểu và nắm vững kiến thức bài học.

Bài 1. Mô phỏng thuật toán tìm kiếm tuần tự

Cho dãy số ban đầu:

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

Hãy mô phỏng thuật toán tìm kiếm tuần tự một số trong dãy số bằng cách trình bày diễn biến các bước thực hiện dưới dạng bảng.

  1. Tìm x = 5;
  2. Tìm x = 6.

Câu trả lời:

1. Tìm x = 5;

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

Gọi số phải tìm là x (x=5). Các bước thực hiện là:

Bước

Thực hiện

1

So sánh số ở đầu dãy với x:

Vì a1 = 8 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy.

2

So sánh số đang xét với x:

Vì a2 = 17 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy.

3

So sánh số đang xét với x:

Vì a3 = 23 ≠ x nên chuyển sang xét số tiếp theo a4 trong dãy.

4

So sánh số đang xét với x:

Vì a4 = 1 ≠ x nên chuyển sang xét số tiếp theo a5 trong dãy.

5

So sánh số đang xét với x:

Vì a5 = 12 ≠ x nên chuyển sang xét số tiếp theo a6 trong dãy.

6

So sánh số đang xét với x:

Vì a6 = 7 ≠ x nên chuyển sang xét số tiếp theo a7 trong dãy.

7

So sánh số đang xét với x:

Vì a7 = 5 = x.

Kết luận: Tìm thấy x ở vị trí thứ bảy trong dãy; kết thúc thuật toán.

2. Tìm x = 6

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

Gọi số phải tìm là x (x=6). Các bước thực hiện là:

Bước

Thực hiện

1

So sánh số ở đầu dãy với x:

Vì a1 = 8 ≠ x nên chuyển sang xét số tiếp theo a2 trong dãy.

2

So sánh số đang xét với x:

Vì a2 = 17 ≠ x nên chuyển sang xét số tiếp theo a3 trong dãy.

3

So sánh số đang xét với x:

Vì a3 = 23 ≠ x nên chuyển sang xét số tiếp theo a4 trong dãy.

4

So sánh số đang xét với x:

Vì a4 = 1 ≠ x nên chuyển sang xét số tiếp theo a5 trong dãy.

5

So sánh số đang xét với x:

Vì a5 = 12 ≠ x nên chuyển sang xét số tiếp theo a6 trong dãy.

6

So sánh số đang xét với x:

Vì a6 = 7 ≠ x nên chuyển sang xét số tiếp theo a7 trong dãy.

7

So sánh số đang xét với x:

Vì a7 = 5 ≠ x nên chuyển sang xét số tiếp theo a8 trong dãy.

8

So sánh số đang xét với x:

Vì a8 = 1 ≠ x nên chuyển sang xét số tiếp theo a9 trong dãy.

9

So sánh số đang xét với x:

Vì a9 = 13 ≠ x nên chuyển sang xét số tiếp theo a10 trong dãy.

10

So sánh số đang xét với x:

Vì a10 = 10 ≠ x nên kết thúc dãy số.

Kết luận: Không tìm thấy x trong dãy; kết thúc thuật toán.

Bài 2. Mô phỏng thuật toán sắp xếp chọn

Cho dãy số ban đầu như trong Bài 1. Bằng cách trình bày thông tin dưới dạng bảng, hãy mô phỏng diễn biến các bước của thuật toán sắp xếp chọn để sắp xếp dãy số theo chiều không tăng.

Gợi ý: Dựa theo cách làm trong bài "Sắp xếp chọn"

Giải 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 trả lời:

Diễn biến các bước của thuật toán sắp xếp chọn để sắp xếp dãy số theo chiều không tăng là:

Giải 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 3. Mô phỏng thuật toán sắp xếp nổi bọt

Cho dãy số ban đầu như trong Bài 1. Bằng cách trình bày thông tin dưới dạng bảng, hãy mô phỏng diễn biến các bước của thuật toán sắp xếp nổi bọt để sắp xếp dãy số theo chiều không tăng.

Gợi ý: Dựa theo cách làm trong bài "Sắp xếp nổi bọt"

Giải 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 trả lời:

Diễn biến các bước của thuật toán sắp xếp nổi bọt để sắp xếp dãy số theo chiều không tăng là:

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

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

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

Giải 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 4. Mô phỏng thuật toán tìm kiếm nhị phân

Hãy mô phỏng thuật toán tìm kiếm nhị phân trong dãy số đã sắp thứ tự là kết quả của Bài 2 và Bài 3.

  1. Tìm x = 5.
  2. Tìm x = 6.

Giải 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 trả lời:

1. Tìm x = 5.

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

  • Chia đôi lần 1: Phạm vi tìm kiếm là dãy từ a1 đến a10. Lấy a5 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=5, tiếp theo 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 từ a6 đến a10.
  • Chia đôi lần 2: Phạm vi tìm kiếm là dãy từ a6 đến a10. Lấy a8 là số có vị trí giữa dãy. Vì x = a8 nên kết thúc thuật toán với kết quả: Tìm thấy x ở vị trí thứ tám.

2. Tìm x = 6

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

  • Chia đôi lần 1: Phạm vi tìm kiếm là dãy từ a1 đến a10. Lấy a5 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=6, tiếp theo 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 từ a6 đến a10.
  • Chia đôi lần 2: Phạm vi tìm kiếm là dãy từ a6 đến a10. Lấy a8 là số có vị trí giữa dãy. Vì x>a8 nên nửa sau dãy chắc chắn không chứa x=6, tiếp theo tìm trong nửa đầu của dãy này. Như vậy, phạm vi tìm kiếm tiếp theo là dãy từ a5 đến a7.
  • Chia đôi lần 3: Phạm vi tìm kiếm là dãy từ a5 đến a7. Lấy a6 là số có vị trí giữa dãy. Vì x<a6 nên nửa đầu dãy chắc chắn không chứa x=6, tiếp theo tìm trong nửa sau của dãy này. Như vậy, phạm vi tìm kiếm tiếp theo là dãy từ a6 đến a7.
  • Phạm vi tìm kiếm chỉ còn một số nhưng không tìm thấy x. Kết thúc thuật toán với kết quả: Không có x trong dãy.

Câu hỏi thường gặp

Câu hỏi 1:

Thuật toán tìm kiếm tuần tự được áp dụng cho loại dữ liệu nào?

Trả lời:

Thuật toán tìm kiếm tuần tự có thể áp dụng cho mọi loại dữ liệu, bao gồm cả dữ liệu số, dữ liệu ký tự và dữ liệu đối tượng.

Câu hỏi 2:

Thuật toán sắp xếp chọn hoạt động như thế nào?

Trả lời:

Thuật toán sắp xếp chọn hoạt động bằng cách tìm kiếm phần tử nhỏ nhất trong dãy và đặt nó vào vị trí đầu tiên. Sau đó, tìm phần tử nhỏ nhất tiếp theo trong dãy còn lại và đặt vào vị trí thích hợp. Quá trình này được lặp lại cho đến khi dãy được sắp xếp.

Câu hỏi 3:

Thuật toán sắp xếp nổi bọt có hiệu suất như thế nào?

Trả lời:

Thuật toán sắp xếp nổi bọt có hiệu suất tương đối chậm, đặc biệt khi áp dụng cho dãy số lớn. Độ phức tạp của thuật toán là O(n^2), nghĩa là thời gian thực hiện tăng theo bình phương số phần tử trong dãy.

Kết luận

Trong bài viết này, chúng ta đã mô phỏng các thuật toán tìm kiếm và sắp xếp trong tin học. Việc hiểu và nắm vững kiến thức về các thuật toán này sẽ giúp chúng ta phát triển khả năng giải quyết vấn đề và tư duy logic. Hy vọng rằng bài viết này đã giúp các bạn hiểu rõ hơn về các thuật toán này và áp dụng chúng vào thực tế.

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây
`