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

Thuật toán tìm kiếm

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 (2.87 MB, 19 trang )

NI DUNG
Gv:
Tran Vaờn Chớnh
TIếT CT: 14
BAỉI TOAN VAỉ THUAT TOAN
Hai bạn chó (Bi và Bông) chơi trốn tìm, Bông đã trốn vào
một trong những chiếc mũ của ông già Nôen trên. Hãy chỉ
ra các cách tìm chiếc mũ mà Bông đang trốn? Cho biết có
những cách nào?
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!
1. Xác định BT
2. ý tưởng
3. Thuật toán
Ví dụ
NI DUNG
Gv:
Tran Vaờn Chớnh
TIếT CT: 14
BAỉI TOAN VAỉ THUAT TOAN
Xét bài toán tìm kiếm đơn giản:
Cho dãy A gồm N số nguyên khác nhau: a


1
, a
2
, ... , a
N
và một số
nguyên k. Cần biết có hay không chỉ số i (1 i N ) mà ai = k.
Nếu có hảy cho biết chỉ số đó.
Số nguyên K được gọi là khoá tìm kiếm. (gọi tắt là khoá)
Làm thế nào
để giải được
bài toán này
nhỉ ?
Có 2 cách ư
chọn cách
nào đây ?
Các em cần xây dựng
thuật toán tìm kiếm tuần tự
để giải bài toán này
1. Xác định BT
2. ý tưởng
3. Thuật toán
Ví dụ
bACK
NI DUNG
Gv:
Tran Vaờn Chớnh
TIếT CT: 14
BAỉI TOAN VAỉ THUAT TOAN
Chỉ số i mà a

i
= k (1 i N) hoặc thông báo
không có số hạng nào của A bằng k.
Dãy A gồm N số nguyên khác nhau a
1
, a
2
, ,
a
N
và số nguyên k.
INPUT:
OUTPUT:
1. Xác định bài toán:
1. Xác định BT
2. ý tưởng
3. Thuật toán
Ví dụ
NI DUNG
Gv:
Tran Vaờn Chớnh
TIếT CT: 14
BAỉI TOAN VAỉ THUAT TOAN
2. ý 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 có sự
trùng nhau, nếu đã xét tới số hạng cuối cùng mà
không có sự trùng nhau thì có nghĩa là dãy A
không có số hạng nào có giá trị bằng k.
1. Xác định BT

2. ý tưởng
3. Thuật toán
Ví dụ
BTVN
NI DUNG
Gv:
Tran Vaờn Chớnh
TIếT CT: 14
BAỉI TOAN VAỉ THUAT TOAN
Cá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
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.
3. Thuật toán:
1. Xác định BT
2. ý tưởng
3. Thuật toán

Ví dụ
NỘI DUNG
Gv:
Trần Văn Chính
TIÕT CT: 14
BÀI TOÁN VÀ THUẬT TOÁN
NhËp N, a
1
, a
2
,..., a
N
vµ k
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
i ← 1
a
i
=
k ?
§­a ra i
råi kÕt thóc
§
S
§
i ←i + 1
i >
N ?
S

C¸ch 2
VÏ s¬ ®å khèi
321i
13216895A
S
Mô phỏng thuật toán: K = 8 và dãy
1. X¸c ®Þnh BT
2. ý t­ëng
3. Tht to¸n
VÝ dơ
NI DUNG
Gv:
Tran Vaờn Chớnh
TIếT CT: 14
BAỉI TOAN VAỉ THUAT TOAN
1. XáC ĐịNH BàI TOáN
;,...,,
21 n
aaa
- Output: Chỉ số i mà
ka
i
=
hoặc thông
báo là không có số hạng nào của d y A có ã
giá trị bằng k.
1. Xác định BT
2. ý tưởng
Thảo luận
3. Thuật toán

Ví dụ
BTVN
-Input: Một số nguyên k và d y A là ã d y tăngã
gồm N số nguyên đôi một khác nhau:

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

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