[r]
Trang 1Bµi 4: bµi to¸n vµ thuËt to¸n
(tiÕp)
Trang 2Hai bạn chó (Bi và Bông) chơi trốn tìm, Bông đã trốn vào một
Bông trốn
đâu nhỉ ?
C1: Tìm kiếm tuần tự ( mở từng mũ)
C2: Do các mũ đã sắp xếp lớn dần, hai mũ đầu nhỏ hơn
ng ời của Bông nên chỉ tìm hai
mũ sau thôi!
Trang 3e Thuật toán tìm kiếm tuần tự
Bài toán:
Cho dãy A gồm N số nguyên khác nhau a1,
có hay không chỉ số i mà ai = k (1≤ i ≤ N)
Nếu có hãy cho biết chỉ số đó.
Trang 4Xác định bài toán:
INPUT: Dãy A gồm N số nguyên khác nhau
OUTPUT: Chỉ số i mà ai = k hoặc thông
báo không có số hạng nào của A bằng k.
Trang 5ý t ởng:
Lần l ợt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khoá (k) cho đến khi gặp một số hạng bằng khóa k thì thông báo chỉ số i mà ai=k, hoặc nếu đã xét tới số hạng cuối cùng mà không có số hạng nào
có giá trị bằng k.
Trang 6C¸ch 1: LiÖt kª c¸c b íc
B íc 1: NhËp N, c¸c sè h¹ng a 1 , a 2 , ,… …, a , a N
vµ gi¸ trÞ kho¸ k;
B íc 2: i 1;
B íc 3: NÕu a i = k th× th«ng b¸o chØ sè i, råi kÕt thóc;
B íc 4: i i+1;
B íc 5: NÕu i > N th× th«ng b¸o d·y A kh«ng cã sè
h¹ng nµo cã gi¸ trÞ b»ng k, råi kÕt thóc;
B íc 6: Quay l¹i B3.
Trang 7NhËp N, a 1 , a 2 , , a N
vµ k
i 1
a i =
k ?
§ a ra i råi kÕt thóc
§
S
§
i i + 1
i >
N ?
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
B1: NhËp N vµ d·y a 1 ,…,a N ;
B2: i 1
B3: NÕu ai = k th× ® a ra I råi
kÕt thóc
B4: i 1+ 1
B5: NÕu i >N th× th«ng b¸o d·y
A kh«ng cã sè h¹ng nµo cã gi¸
trÞ b»ng k råi kÕt thóc B6: Quay l¹i b íc 3
Trang 8NhËp N, a 1 , a 2 , , a N
vµ k
i 1
a i =
k ?
§ a ra i råi kÕt thóc
§
S
§
i i + 1
i >
N ?
S
M« pháng thuËt to¸n
Víi k = 7, d·y A gåm 6 sè h¹ng
Trang 95 4
3 2
1 I
51 25
11 8
9 2
4 1
7 5
A
M« pháng thuËt to¸n t×m kiÕm tuÇn tù
Víi k = 2 vµ d·y A gåm 10 sè h¹ng nh sau:
T¹i vÞ trÝ i = 5 cã a 5 = 2 = k
Víi k = 6 vµ d·y A gåm 10 sè h¹ng nh sau:
I
Víi mäi i tõ 1 10 kh«ng cã a i cã gi¸ trÞ b»ng 6
5