Nếu agiữa= k => tìm được chỉ số, kết thúc;

Một phần của tài liệu THUẬT TOÁN (Trang 38 - 41)

- Nếu agiữa > 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ừ a1 agiữa - 1; nên việc tìm kiếm thu hẹp chỉ xét từ a1 agiữa - 1; - Nếu agiữa < 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ừ agiữa + 1 aN.

Mô phỏng thuật toán tìm kiếm nhị phânMô phỏng thuật toán tìm kiếm nhị phân Mô phỏng thuật toán tìm kiếm nhị phân

109 9 8 7 6 5 4 3 2 1 i 33 31 30 22 21 9 6 5 4 2 A

Với k = 21 và dãy A gồm 10 số hạng như sau:

Lượt thứ nhất: a: agiữagiữa là a là a55 = 9; 9 < = 9; 9 < 21

vùng tìm kiếm thu hẹp trong phạm vi từ a vùng tìm kiếm thu hẹp trong phạm vi từ a66 a a1010;;

3331 31 30 22 21 Lượt thứ hai

Lượt thứ hai: a: agiữagiữa là a là a88 = 30; 30 > = 30; 30 > 21

vùng tìm kiếm thu hẹp trong phạm vi từ a vùng tìm kiếm thu hẹp trong phạm vi từ a66 a a77;; Lượt thứ ba

Lượt thứ ba: a: agiữagiữa là a là a66 = 21; = 21; 21= 21 21= 21

Vậy số cần tìm là i = 6. 22 21 6 6 21

Liệt kê các bướcLiệt kê các bước Liệt kê các bước

Bước 1: Nhập N, các số hạng a

Bước 1: Nhập N, các số hạng a11, a, a22, , a, , a…… N N

và giá trị khoá k;

và giá trị khoá k;

Bước 2: Đầu

Bước 2: Đầu ←← 1, Cuối 1, Cuối ←← N; N;

Bước 3: Giữa

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

Bước 4: Nếu a

Bước 4: Nếu aGiữaGiữa = k thì thông báo chỉ số Giữa = k thì thông báo chỉ số Giữa

rồi kết thúc;

rồi kết thúc;

Bước 5: Nếu a

Bước 5: Nếu aGiữaGiữa > k thì đặt Cuối = Giữa - 1 rồi > k thì đặt Cuối = Giữa - 1 rồi

chuyển sang bước 7;

chuyển sang bước 7;

Bước 6: Đầu (adsbygoogle = window.adsbygoogle || []).push({});

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

Bước 7: Nếu Đầu

Bước 7: Nếu Đầu ≤≤ Cuối thì thông báo dãy A không có 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;

số hạng có giá trị bằng k, rồi kết thúc;

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

1. Khái niệm bài toán

Bài toán và thuật Toán

Bài toán và thuật Toán

2. Khái niệm thuật toán

Thuật toán giải phương trình bậc hai (a 0). Thuật toán tìm Max của một dãy số. Thuật toán tìm Max của một dãy số.

Thuật toán kiểm tra tính nguyên tố của một số nguyên dương. số nguyên dương.

Thuật toán sắp xếp bằng tráo đổi.

Một phần của tài liệu THUẬT TOÁN (Trang 38 - 41)