Dần Thuật toỏn tỡm kiếm nhị phõn

Một phần của tài liệu giao an 10 chuan dep (Trang 28 - 30)

IV. TIẾN TRèNH BÀI HỌC

dần Thuật toỏn tỡm kiếm nhị phõn

k = 4 và N = 6 2 4 5 6 9 13

+ Cỏc em chia thành 2 dóy dóy con.

+ Chỉ số ở giữa dóy là bao nhiờu? So sỏnh

agiua với khúa k?

+ Cỏc em thảo luận để hỡnh thành ý tưởng cho bài toỏn?

+ Học sinh thảo luận trỡnh bày cỏc bước cho thuật toỏn và vẽ sơ đồ khối?

+ Gọi 2 nhúm thực hiện vẽ sơ đồ khối? + Chiếu hỡnh ảnh cỏc học sinh cũn lại ghi bài.

+ Lấy vớ dụ:

K = 21 và N = 10 (SGK) minh họa chạy theo thuật toỏn sơ đồ khối.

+ Mời 1 học sinh cho 1 khúa k bất kỳ để chạy thuật toỏn với cỏc số hạng trờn?

+ Phỏt phiếu học tập (vớ dụ mụ phỏng với dóy gồm 10 số nguyờn cho trước), cỏc nhúm thảo luận trỡnh bày.

+ Chia: Dóy 1: 2 4 5 Dóy 2: 6 9 13 Ta thấy tỡm kiếm trờn dóy 1 cú giỏ trị bằng k + Giữa = 3. + agiua = 5 > k nờn ta tỡm trờn dóy 1. + Cỏc nhúm thảo luận và trỡnh bày.

+ Ghi ý tưởng của bài toỏn. + Lần lượt cỏc hs lờn bảng. + Cỏc nhúm thực hiện. + Chỳ ý. + Ghi vớ dụ. + Học sinh thực hiện. + Vẽ sơ đồ khối. + Cỏc nhúm thực hiện và trỡnh bày. * Xỏc định bài toỏn:

+ Input: Dóy A gồm N số nguyờn khỏc nhau và 1 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 cú giỏ trị bằng k.

* í tưởng:

Sử dụng tớnh chất dóy A là dóy tăng, ta thu hẹp phạm vi tỡm kiếm sau mỗi lần so sỏnh với số hạng được chọn.

• Ta chọn a giua ở giữa dóy để so sỏnh với k, trong đú Giua = +2 

1

N

Xảy ra 1 trong 3 điều kiện sau:

- Nếu a giua= k  tìm đợc chỉ số, kết thúc; - Nếu a giua > k  do dãy A đã đợc sắp xếp tăng nên việc tìm kiếm thu hẹp chỉ xét từ a 1

a gua - 1;

- Nếu a giua < k  do dãy A đã được sắp xếp tăng nên việc tìm kiếm thu hẹp chỉ xét từ a giua + 1  a N.

* Thuật toỏn:

Bước 1: Nhập N, các số hạng và giá trị khoá k; Bước 2: Đầu ơ 1, Cuối ơ N;

Bước 3: Giữa ơ [(Đầu + Cuối)/2];

Bước 4: Nếu a giua = k thì thông báo chỉ số Giữa rồi kết thúc;

Bước 5: Nếu a giua > k thì đặt Cuối = Giữa - 1 rồi chuyển sang bớc 7;

Bước 6: Đầu ơ Giữa + 1;

Bước 7: Nếu Đầu > Cuối thì thông báo dãy A không có số hạng có giá trị bằng k, rồi kết thúc; (adsbygoogle = window.adsbygoogle || []).push({});

Bước 8: Quay lại bước 3.

b) Sơ đồ khối

SGK Trang 43

Dới đây là ví dụ mô phỏng các bớc thực hiện thuật toán trên. k = 21, N =10 k = 25, N =10 i 1 2 3 4 5 6 7 8 9 10 i 1 2 3 4 5 6 A 2 4 5 6 9 21 22 30 31 33 A 2 4 5 6 9 21 Dau 1 6 6 Dau 1 6 6 7 8 Cuoi10 10 7 Cuoi 10 10 7 7 7 Giua5 8 6 Giua 5 8 6 7 aGiua 9 30 21 aGiua 9 30 21 22 Lợt 0 1 2 Lợt 0 1 2 3 4 Lần lượt thứ hai thỡ aGiua = k. Vậy

chỉ số cần tỡm là i = Giua = 6.

Tại lượt thứ tư Dau>cuoi nờn kết luận trong dóy A khụng cú số hạng nào cú giỏ trị bằng 25 cả.

4. Củng cố :

Cho N và dóy số tăng dần a1,a2,…,aN, hóy tỡm 1 khúa nào đú

5.Dặn dũ:

- Xem lại bài đó học. - Chuẩn bị bài tập trang 44.

Một phần của tài liệu giao an 10 chuan dep (Trang 28 - 30)