1. Trang chủ
  2. » Giáo án - Bài giảng

Thuat toan tim kiem tuan tu

13 3,7K 32
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 1,55 MB

Nội dung

ý 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

Trang 1

(TiÕt PPCT :13)

Trang 2

1 2 3 4 5 6

VÝ dô 1: Cho 6 qu¶ cÇu cã khèi l îng kh¸c nhau H·y t×m vÞ trÝ qu¶ cÇu cã khèi l îng b»ng 2kg.

1 kg 1,5 kg 1,65 kg 2,5 kg 2 kg VËy qu¶ cÇu cã khèi

l îng b»ng 2kg ë vÞ trÝ thø 5

Trang 3

5 4

3 2

1 i

51 25

11 8

9 2

4 1

7 5

A

M« pháng t×m kiÕm trong mét d·y sè nguyªn

 Víi k = 2 vµ d·y A gåm 10 sè h¹ng nh sau:

 Víi k = 6 vµ d·y A gåm 10 sè h¹ng nh sau:

K

5

K

Trang 4

Bài toán : Cho dãy A gồm N số nguyên khác nhau

a1,a2, ,an và số nguyên K cho tr ớc Hãy xác định thuật toán tìm chỉ số i mà ai = k.

Ví dụ 3 :Thuật toán tìm kiếm tuần tự

 Xác định bài toán:

INPUT: Dãy A gồm N số nguyên a1, a2, …, a , aN đôi một khác nhau và 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 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 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

Trang 6

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…, a, 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 7

Đưaưraưi rồiưkếtưthúc

NhậpưN:5,1,9,7,6

ưvàưk=4

iưư1

a i ư=ưk?

Đ

S

Đ

iưiư+ư1

iư>ư

Nư?

Thôngưbáoưd yưAưkhôngưãy A không

cóưsốưhạngưcóưgiáưtrịư

bằngưk,ưrồiưkếtưthúc S

B1

B2

B3

B4

B5

B6

Cách 2

Vẽ sơ đồ khối

Trang 8

NhË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­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

6 7

4 1

5

N

NhËp­N,­5,­1,4,7,6 ­

­vµ­k=4

i=1

i­­1

5­=­

4­?

i 1

K=4

i­2

i=2

2­>­

5­?

i­­1

­vµ­4

i­­2

a i ­=­

k­?

§­a­ra­i råi­kÕtthóc

§

S

§

i­i­+­1

i­>­

N­?

Th«ng­b¸o­d y­A­kh«ng­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

1­=­

4­?

i­3

i=3

3­>­

5­?

NhËp­N,5,1,4,7,6

­vµ­4

i­­3

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­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

4­=­

4­?

ChØ­­sè­­i cÇn­t×m­lµ­i=3

3 2

Trang 9

NhË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­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

7 9

1 5

N

NhËp­N,­5,­1,4,7,6 ­

­vµ­k=4

i=1

i­­1

5­=­

4­?

i 1

K=4

i­2

i=2

2­>­

5­?

i­­1

­vµ­4

i­­2

a i ­=­

k­?

§­a­ra­i råi­kÕtthóc

§

S

§

i­i­+­1

i­>­

N­?

Th«ng­b¸o­d y­A­kh«ng­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

1­=­

4­?

i­3

i=3

3­>­

5­?

NhËp­N,5,1,4,7,6

­vµ­4

i­­3

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­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

9­=­

4­?

3 2

i­4

4­>­

5­?

6

NhËp­N:5,1,9,7,6

­vµ­k=4

i­­4

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­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

i=4

4

7­=­

4­?

i­5

5>­

5­?

NhËp­N:5,1,9,7,6

­vµ­k=4

i­­5

a i ­=­k?

§

S

§

i­i­+­1

i­>­

N­?

Th«ng­b¸o­d y­A­kh«ng­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc S

i=5

6=4?

5

i­6

6>­5?

Th«ng­b¸o­d y­A­kh«ng­·y A kh«ng

cã­sè­h¹ng­cã­gi¸­trÞ­

b»ng­k,­råi­kÕt­thóc

Trang 10

Các tính chất của thuật toán:

 Tính dừng

 Tính xác định

Tính đúng đắn

Trang 11

M« pháng thuËt to¸n t×m kiÕm nhÞ ph©n

10 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:

 vïng t×m kiÕm thu hÑp trong ph¹m vi tõ a6 a10 ;

33 31

30 22

21

L ît thø hai: a gi÷a lµ a 8 = 30; 30 > 21

 vïng t×m kiÕm thu hÑp trong ph¹m vi tõ a6 a7 ;

L ît thø ba: a gi÷a lµ a 6 = 21; 21= 21

 VËy sè cÇn t×m lµ i = 6.

22 21

6

21

Trang 12

Liệt kê các b ớc

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

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 Giữa = k thì thông báo chỉ số Giữa

rồi kết thúc;

B ớc 5: Nếu a Giữa > 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;

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

Trang 13

1 Khái niệm bài 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 kiểm tra tính nguyên tố của một

số nguyên d ơng.

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

Thuật toán tìm kiếm tuần tự và nhị phân.

Ngày đăng: 25/06/2013, 01:27

TỪ KHÓA LIÊN QUAN

w