Bài 13: Thuật toán tìm kiếm

Minh Lệ
Hướng dẫn giải Thảo luận (1)

Chúng ta có thể lật từng thẻ số ở bất kì vị trí nào mà chúng ta muốn.

Minh Lệ
Hướng dẫn giải Thảo luận (1)

Minh Lệ
Hướng dẫn giải Thảo luận (3)

Lựa chọn phương án đúng.Để tìm kiếm một số trong dãy số bằng thuật toán tìm kiếm tuần tự, ta thực hiện:

A. Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm.

B. So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.

C. Sắp xếp dãy số theo thứ tự tăng dần.

D. So sánh số cần tìm với số ở giữa dãy số.

Minh Lệ
Hướng dẫn giải Thảo luận (1)

Chuẩn bị 10 thẻ được đánh thứ từ từ A, B, C, D, E, F, G, H, K, L và sau thẻ đánh số tương ứng 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 xếp sắp theo thứ tự tăng dần.

a) Thẻ số tăng dần: Tìm số 8

loading...

b)

Gọi số cần tìm là x = 8.

Bước 1. Lật thẻ ở vị trí E (E = 5).

Bước 2. So sánh số thấy vị trí E khác vị trí cần tìm (8 > 5) nên ta chỉ cần tìm ở nữa sau của dãy thẻ (gồm F, G, H, K, L).

Bước 3. Lật thẻ vị trí H (H = 8).

Bước 4. So sánh số thấy vị trí H bằng với kết quả cần tìm. Kết quả tìm thấy số 8 trong dãy ở vị trí H và kết thúc quá trình tìm kiếm.

c) Thay đổi vai trò

Gọi số cần tìm là x = 10.

Bước 1. Lật thẻ ở vị trí E (E = 5).

Bước 2. So sánh số thấy vị trí E khác vị trí cần tìm (10 > 5) nên ta chỉ cần tìm ở nữa sau của dãy thẻ (gồm F, G, H, K, L).

Bước 3. Lật thẻ vị trí H (H = 8).

Bước 4. So sánh số thấy vị trí H khác vị trí cần tìm (10 > 8). Nên ta chỉ cần tìm ở nữa sau của dãy thẻ (gồm K, L).

Bước 5. Ta lật ngẫu nhiên vị trí K hoặc L.

+ TH1: Lật thẻ vị trí K: So sánh số thấy vị trí K khác vị trí cần tìm (10 > 9). Tiếp theo ta lật thẻ còn lại, so sánh số thấy vị trí L bằng với kết quả cần tìm. Kết quả tìm thấy số 10 trong dãy ở vị trí L và kết thúc quá trình tìm kiếm.

+ TH2: Lật thẻ vị trí L: So sánh số thấy vị trí L bằng với kết quả cần tìm. Kết quả tìm thấy số 10 trong dãy ở vị trí L và kết thúc quá trình tìm kiếm.

Minh Lệ
Hướng dẫn giải Thảo luận (1)

Giả sử tháng sinh của em là tháng 3. Em sẽ đi hỏi tháng sinh của các bạn và ghi vào bảng thống kê:

 

Lần lặp

Tháng sinh của bạn

 

 

Cùng tháng sinh với em

Đã hết danh sách/ đã hỏi hết các bạn

1

4

Sai

Sai

2

2

Sai

Sai

3

1

Sai

Sai

4

5

Sai

Sai

5

6

Sai

Sai

6

8

Sai

Sai

7

12

Sai

Sai

8

11

Sai

Sai

9

3

Đúng

Sai

Sau lần lặp thứ 9 đã có bạn cùng tháng sinh với em. Kết thúc tìm kiếm.

Minh Lệ
Hướng dẫn giải Thảo luận (1)

a)

Biển số xe cần tìm là 25

loading...

b) Bước 1. Sắp xếp biển số xe theo thứ tự tăng dần hoặc giảm dần.

Tin học 7 Bài 13: Thực toán tìm kiếm | Chân trời sáng tạo (ảnh 3)

Bước 2. Lật thẻ số ở giữa của dãy (thẻ thứ 5). So sánh số cần tìm là 25 trên thẻ vừa lật là 67. Do 25 < 67 nên chỉ cần tìm ở nửa đầu của dãy thẻ (gồm 1, 2, 3, 4)

Bước 4. Lật thẻ số ở giữa của dãy (thẻ thứ 2). So sánh số cần tìm là 25 trên thẻ vừa lật là 21. Do 25 > 21 nên số cần tìm ở nửa sau của dãy thẻ (vị trí số 3, 4).

 

Bước 5. Lật thẻ vị trí số 3. So sánh số cần tìm là 25 trên thẻ vừa lật là 25. Do 25 = 25 nên đưa ra thông báo đã tìm thấy kết quả. Kết thúc quá trình tìm kiếm.

c) Số lần lặp lại ở câu b ít hơn câu a. Vì tìm kiếm nhị phân chia nhỏ mảng tìm kiếm nên số lần lặp ít hơn.

d) Ta có thể dùng thuật toán tìm kiếm nhị phân để tìm ra tỉnh khi biết hai số đầu của biển số xe. Vì khi thực hiện tìm kiếm ta sẽ chia nhỏ mảng số và tìm được số cần tìm.

Minh Lệ
Hướng dẫn giải Thảo luận (1)

B1. Sắp xếp từ ngữ theo thứ tự tăng dần theo bảng chữ cái

B2. Chọn chữ cái bắt đầu của từ tiếng anh để tìm kiếm

B3. Chia nhỏ danh sách tìm kiếm và tìm chữ tiếng anh

Vì khi thực hiện cách này giúp cho quá trình tìm kiếm nhanh hơn

Minh Lệ
Hướng dẫn giải Thảo luận (1)

Ví dụ: Bạn của em sinh ngày 5. (Em sẽ sử dụng câu hỏi đúng hoặc sai vào từng lựa chọn Lớn hơn hay Nhỏ hơn).

Câu hỏi 1: Bạn sinh vào ngày nhỏ hơn 15 (hay lớn hơn 15).

 

Câu hỏi 2: Ngày sinh của bạn nhỏ hơn 7 (hay lớn hơn 7).

Câu hỏi 3: Ngày sinh của bạn nhỏ hơn 4 (hay lớn hơn 4).

Câu hỏi 4: Ngày sinh của bạn bằng 5 hay lớn hơn 5. Khi đó ta sẽ được kết quả.

Tương tự: Để xác định bạn sinh vào tháng nào trong năm em sẽ dùng 4 câu hỏi đúng sai.