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

Bài 4. 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 (668.96 KB, 17 trang )


bµi 4:Bµi to¸n vµ thuËt to¸n
(TiÕp)








09/24/17


Giới thiệu bài toán
sắp xếp






Những việc hằng ngày liên quan
đến sắp xếp :
Sắp xếp sách vở .
Xếp hàng chào cờ .
Sắp xếp tên học sinh .
Xếp điểm trung bình của học sinh .
......



H×nh a

H×nh b

Hãy tìm cách sắp xếp học sinh đứng chào cờ (hình a)
theo thứ tự thấp trước cao sau (hình b)


Giới thiệu bài toán
sắp xếp
Ta xét bài toán dạng đơn giản sau :
Cho dãyA gồm N số nguyên a1 , a2 , a3 , .
. . , aN. Cần sắp xếp các số hạng để dãy
A trở thành dãy không giảm (Tức là số
hạng trước không lớn hơn số hạng sau)



















v Xác định bài toán
∀ΙΝΠΥΤ : Σố νγ υψν δươ
νγ Ν ϖ◊ ∆ψ Α γ ồ
µ Ν σ νγ υψν α1, α2,…,αΝ.
∀ΟΥΤΠΥΤ : ∆ψ Α đượχ σắπ ξếπ λạι µộτ δ
ψ κηνγ γ ιảµ
SẮP XẾP BẰNG TRÁO ĐỔI (Exchange Sort)


15

8

15

8

12

11

12
11
   

13


9

13

9

ü


 


































 


ü



 




ü



SẮP XẾP BẰNG TRÁO ĐỔI


vÝ tưởng
Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số
trước lớn hơn số sau ta đổi chỗ chúng cho nhau. Việc
đó được lặp lại, cho đến khi không có sự đổi chỗ nào
xảy ra nữa .


Dãy ban đầu
2

4

8

Dãy sau khi sắp xếp

7

1

5

1

5

8

5


7

8

5

7

8

5

7

8

5

7

8

Lượt thứ nhất

2

4

7


Lượt thứ hai

2

4

1

Lượt thứ ba

2

1

4

Lượt thứ tư

1

2

4

Lượt thứ năm

1

2


4


ü


ü
ü










ü
ü
ü

 



a) Cách liệt kê :
B.1 : Nhập N và các số hạng
a1, a2,…,aN;


b) Sơ đồ khối :
B.1

Nhập N và a1 a2,…,aN
B.2

M¬N

B.2 : M  N ;
B.3 : Nếu M < 2 thì đưa ra
dãy A đã được sắp xếp
rồi kết thúc;

B.3

M<2?

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

Kết thúc

M ¬ M - 1; i ¬ 0

B.5 : i  i + 1 ;

B.7 : Nếu ai > ai+1 thì tráo
đổi ai và ai+1 cho nhau;

Đưa ra A


S

B.4 : M  M-1 ; i  0 ;

B.6 : Nếu i > M thì quay lại
bước 3;

Đ

Đ

i¬ i+1

B.5

i>M?

B.6

B.4

S

Tráo đổi
ai+1 và ai

Đ

ai > ai+1?

S

B.7
B.8



•Lµm
bµi6(TR44/SGK),1.33(Tr18/SBT),
1.38(Tr19/SBT).
•§äc tríc thuËt to¸n t×m kiÕm
tuÇn tù



Bài tập tương tự và gợi ý
Quan sát mô phỏng trong việc hình thành ý tưởng
sắp xếp mới từ sự kết hợp thuật toán tìm số lớn nhất
và thuật toán sắp xếp bằng cách tráo đổi vừa học.
Em hãy liệt kê các bước hoặc vẽ sơ đồ khối cho ý
tưởng thuật toán này

Ý tưởng :
§
Mỗi lượt tìm phần tử lớn nhất trong số các
phần tử chưa sắp xếp. Đổi chỗ phần tử này
với
phần tử cuối dãy (phần chưa sắp xếp)
§


Việc này lặp lại nhiều lượt, cho đến khi dãy
chỉ còn duy nhất 1 phần tử chưa sắp xếp.


Mô phỏng thuật toán
Dãy ban đầu
2

4

8

Dãy sau khi sắp xếp

7

1

5

7

1

8

1

7


8

5

7

8

5

7

8

5

7

8

Lượt thứ nhất

2

4

5

Lượt thứ hai


2

4

5

Lượt thứ ba

2

4

1

Lượt thứ tư

2

1

4

Lượt thứ năm

1

2

4


2
4
5
8
7




×