- Nắm được một số thuật toỏn đơn giản
H. Hĩy xỏc định bài toỏn?
GV hướng dẫn HS tỡm thuật toỏn giải bài toỏn.
GV hướng dẫn HS trỡnh bày thuật toỏn tỡm kiếm bằng cỏch liệt kờ.
i là biến chỉ số và nhận giỏ trị nguyờn lần lượt từ 1 đến N+1.
luận, đưa ra ý kiến
Đ. + Input: N, a1, a2, …, aN, k + Output: i hoặc thụng bỏo khụng cú i Cho cỏc nhúm trỡnh bày ý tưởng. Cỏc nhúm thảo luận và đưa ra thuật toỏn.
Hoạt động 2: Diễn tả thuật toỏn tỡm kiếm bằng sơ đồ khối
* Sơ đồ khối:
Hoạt động 3: Mụ phỏng việc thực hiện thuật toỏn
Mụ phỏng việc thực hiện thuật toỏn với: + N = 10, k = 2
k = 2 và N = 10
A 5 7 1 4 2 9 8 11 25 51
i 1 2 3 4 5 - - - - -
Với i = 5 thì a5 = 2.
Hoạt động 4: Hướng dẫn tỡm thuật toỏn giải bài toỏn
Nội dung Hoạt động của GV Hoạt động của HS b) Thuật toỏn tỡm kiếm nhị phõn (Binary
Search)
Xỏc định bài toỏn
- Input: Dĩy A là dĩy tăng gồm N số nguyờn khỏc nhau a1, a2, …, aN và một số nguyờn k - Output: Chỉ số i mà ai = k hoặc thụng bỏo khụng cú số hạng nào của dĩy A cú giỏ trị bằng k.
í tưởng: Sử dụng tớnh chất dĩy A là dĩy tăng, ta tỡm cỏch thu hẹp nhanh phạm vị tỡm kiếm sau mỗi lần so sỏnh khoỏ với số hạng được chọn, ta chọn số hạng aGiữa ở " giữa dĩy" để so sỏnh với k, trong đú Giưa = . Khi đú:
- Nếu aGiưa = k thỡ Giưa là chỉ số cần tỡm. - Nếu aGiưa> k thỡ do dĩy A là dĩy đĩ sắp xếp nờn việc tỡm kiếm tiếp theo chỉ xột trờn dĩy
Nhấn mạnh dĩy A là một dĩy tăng. H. So sỏnh 2 bài toỏn tỡm kiếm trong 2 thuật toỏn? GV hướng dẫn HS tỡm thuật toỏn giải bài toỏn.
Minh hoạ qua việc tra từ điển
Cho cỏc nhúm thảo luận việc tra từ điển. Từ đú rỳt ra thuật toỏn. Đ. Dĩy A ở đõy là dĩy tăng Cỏc nhúm trỡnh bày cỏch làm 1 2 N
a1, a2, …, aGiưa-1 .
- Nếu aGiưa< k thỡ thực hiện tỡm kiếm trờn dĩy aGiưa+1, aGiưa+2, …, an.
Quỏ trỡnh trờn sẽ được lặp lại một số lần cho đến khi hoặc đĩ tỡm thấy khoỏ k trong dĩy A hoặc phạm vi tỡm kiếm bằng rỗng. Thuật toỏn: * Cỏch liệt kờ: - B1: Nhập N, cỏc số hạng a1, a2, …, aN và khoỏ k - B2: Dau 1,Cuoi N; - B3: Giưa = ;
- B4: Nếu aGiưa = k thỡ thụng bỏo chỉ số Giưa, rồi kết thỳc;
- B5: Nếu aGiưa > k thỡ đặt Cuoi = Giưa - 1, rồi chuyển đến bước 7;
- B6: Dau Giưa +1;
- B7: Nếu Dau > cuoi thỡ thụng bỏo dĩy A khụng cú số hạng nào cú giỏ trị bằng k, kết thỳc;
- B8: Quay lại bước 3.
Hoạt động 5: Mụ tả thuật toỏn bằng sơ đồ khối * Sơ đồ khối
Hoạt động 6: Mụ phỏng việc thực hiện thuật toỏn
Mụ phỏng việc thực hiện thuật i 1 2 3 k = 21, N =104 5 6 7 8 9 10 2 Dau Cuoi
toỏn với N = 10,k= 21 DaA 2 4 5 6 9 21 22 30 31 33 u 1 6 6 Cu oi 10 10 7 Giu a 5 8 6 aGiua 9 30 21 Lỵt 1 2 3 lỵt th ba thì aGiua = k. Vy ch s cần tìm là i = Giua = 6 Hoạt động 7: Củng cố cỏc kiến thức đĩ học GV cho HS nhận xột điểm khỏc biệt cơ bản của 2 thuật toỏn
Cỏc nhúm thảo luận và trỡnh bày
4. BÀI TẬP VỀ NHÀ:
– Tập mụ phỏng việc thực hiện thuật toỏn trờn với dĩy số khỏc.
– Tỡm thuật toỏn tỡm sắp xếp một dĩy số nguyờn thành dĩy khụng tăng.
---
Ngày soạn: