Tải bản đầy đủ (.ppt) (19 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (158.34 KB, 19 trang )





Bµi 4
Bµi to¸n vµ thuËt to¸n
(tiÕt thø 5)

Mét sè vÝ dô vÒ thuËt to¸n (TiÕp)
ThuËt to¸n t×m kiÕm tuÇn tù
(Sequential Search)
ThuËt to¸n t×m kiÕm nhÞ
ph©n (Binary Search)

Bµi to¸n 1: Cho d·y A gåm N sè
nguyªn kh¸c nhau a
1
,a
2
,…..a
N

sè nguyªn k. T×m chØ sè i (nÕu
cã) mµ a
i
= k.

1. X¸c ®Þnh c¸c yÕu tè cña bµi to¸n:
Input: ?
N, a
1


, a
2
,….a
N
, k
Output: ?
ChØ sè i mµ a
i
= k

2. Nêu ý tưởng giải bài toán:
Xét bài toán trong trường hợp:
N=5, k= 9
Kết quả ???
Vị trí thứ 2 (i = 2)
Suy nghĩ thế nào để được kết quả đó?? Nếu N = 1000 thì
sao nhỉ?????
? ? ?
? ? ?
6
9
9
15
15
17
17
29
29
a
1

a
a
2
2
a
a
3
3
a
a
4
4
a
a
5
5

6
9
9
15
15
17
17
29
29
a
1
a
a

2
2
a
a
3
3
a
a
4
4
a
a
5
5
N= 5, k = 9
Duyệt từng phần tử từ a
1
đến a
N
.
Vậy cần những biến nào? Khởi tạo ra sao? ý tư
ởng thế nào?
Cần 1 biến:
- Biến chạy i (i có giá trị từ 1 đến 5).
Khởi tạo: i = 1

ý tưởng:
Duyệt phần tử thứ i, bắt đầu từ a
1
. Nếu a

i
= k
thì đưa ra i rồi kết thúc. Nếu không, tăng i lên
một đơn vị và duyệt tiếp.
Khi nào thì bài toán kết thúc?
Khi có i thỏa mãn hoặc khi đã duyệt hết các
phần tử (i > N)
a
1
a
N
i = 1
1 2 3
a
1
N

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×