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

Bài 4

20 182 0
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

Tiêu đề Bài Toán Và Thuật Toán
Trường học Trường Trung Học Phổ Thông
Chuyên ngành Tin Học
Thể loại Bài Giảng
Định dạng
Số trang 20
Dung lượng 889 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung:1.Khái niệm bài toán 2.Khái niệm thuật toán 3.Một số ví dụ về thuật toán Ví dụ 1: Kiểm tra số nguyên tố Ví dụ 2: Thuật toán sắp xếp Interchange Sort BÀI TOÁN VÀ THUẬT TOÁN... Ví

Trang 1

MÔN TIN HỌC LỚP 10

Trang 2

Nội dung:

1.Khái niệm bài toán

2.Khái niệm thuật toán

3.Một số ví dụ về thuật toán

Ví dụ 1: Kiểm tra số nguyên tố

Ví dụ 2: Thuật toán sắp xếp (Interchange Sort)

BÀI TOÁN VÀ THUẬT TOÁN

Trang 3

-Trong cuộc sống, ta thường gặp những việc liên quan đến sắp xếp như học sinh xếp hàng theo thứ tự từ thấp đến cao, giáo viên xếp loại học lực học sinh trong lớp

- Chẳng hạn, cho 10 chiếc cọc có chiều cao

khác nhau, cần sắp xếp lại sao cho cọc thấp ở trước,cọc cao ở sau

Ví dụ 2: Bài toán sắp xếp (Interchange sort)

BÀI TOÁN VÀ THUẬT TOÁN

Trang 4

Ta chỉ xét bài toán sắp xếp dạng đơn giản sau: Cho dãy A gồm N số nguyên a1,a2, , 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)

BÀI TOÁN VÀ THUẬT TOÁN

Trang 5

a) Dữ liệu gốc b) Dữ liệu đã sắp xếp

BÀI TOÁN VÀ THUẬT TOÁN

Trang 6

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

+Input:

+Output:

BÀI TOÁN VÀ THUẬT TOÁN

?

Dãy A gồm N số nguyên a1, a2,…,aN

Dãy A được sắp xếp lại thành dãy không giảm.?

Trang 7

Ý 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

BÀI TOÁN VÀ THUẬT TOÁN

Trang 8

25 7

Trường hợp dãy A có 2 phần tử

BÀI TOÁN VÀ THUẬT TOÁN

Trang 9

15 3 10

>

Trường hợp dãy A có 3 phần tử

BÀI TOÁN VÀ THUẬT TOÁN

Trang 10

20 > 15 > 10 9 2

BÀI TOÁN VÀ THUẬT TOÁN

Dãy A ban đầu:

Dãy A sau khi sắp xếp:

Trang 11

Có 1 phần tử Dừng

Có nhiều hơn 1 phần tử

-So sánh giá trị 2 phần tử liền kề, -Nếu phần tử đứng trước > phần tử đứng sau

Dãy A

Lặp lại việc tráo đổi

cho đến khi dãy A

đuợc sắp không giảm

dần

Gọi M là số phần tử

trong dãy

Gọi i là số thứ

tự của phần tử

Trang 12

a) Liệt kê

Bước 1: Nhập N, các số hạng a1, a2,…,aN

Bước 2: M ← N

Bước 3: Nếu M<2 thì đưa ra dãy A đã được

sắp xếp rồi kết thúc;

Bước 4: M ← M-1; i ← 0

Bước 5: i ← i+1

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

BÀI TOÁN VÀ THUẬT TOÁN

Trang 13

B1: Nhập N, các số hạng

a1, a2,…,aN

B2: M← N

B3: Nếu M<2 thì đưa ra

dãy A đã được sắp xếp rồi

kết thúc;

B4: M← M-1; i ← 0

B5: i← i+1

B6: Nếu i>M thì quay lại

bước 3

B7: Nếu ai>ai+1 thì tráo đổi

ai và ai+1cho nhau

B8: Quay lại bước 5

SƠ ĐỒ KHỐI LIỆT KÊ

Nhập N và a1,a2, ,an

MN

i i +1

i > M ? Đ

M<2 ? Đ rồi kết thúc Đưa ra A

M M-1; i0

S

a >a ?

S Tráo đổi

a i và a i+1 Đ

Trang 14

- Sau mỗi lần đổi chỗ, giá trị lớn nhất của dãy A sẽ được chuyển dần về cuối dãy và sau lượt thứ nhất thì giá trị lớn nhất xếp đúng vị trí là ở cuối dãy Tương tự, sau lượt thứ hai, giá trị lớn thứ hai được xếp đúng ở

vị trí sát cuối…

- Sắp xếp bằng tráo đổi còn có tên gọi là

BÀI TOÁN VÀ THUẬT TOÁN

Trang 15

• Ta thấy quá trình so sánh và đổi chỗ sau mỗi

lượt chỉ thực hiện với dãy đã bỏ bớt số hạng

cuối dãy Để thực hiện điều đó trong thuật toán

sử dụng biến nguyên M có giá trị khởi tạo là N, sau mỗi lượt M giảm một đơn vị cho đến khi

M<2

• Trong thuật toán trên, i là biến chỉ số các số

hạng của dãy có giá trị nguyên thay đổi lần lượt

từ 0 đến M+1

BÀI TOÁN VÀ THUẬT TOÁN

Trang 16

8 10 7 9 15

-Duyệt từ cuối dãy số ngược trở về vị trí ban đầu:

i=0

+ Giảm biến M một đơn vị (M= M-1)

+ Khởi tạo vị trí bắt đầu của biến i = 0.

M=

i=1

>

i=2 i

>

i=3

>

i=4

BÀI TOÁN VÀ THUẬT TOÁN

Trang 17

8 7 9 10 15

+ Khi i < M : so sánh giá trị a i và a i + 1

-Duyệt từ cuối dãy số ngược trở về vị trí ban đầu:

i=0

+ Giảm biến M một đơn vị (M= M-1)

+ Khởi tạo vị trí bắt đầu của biến i = 0.

+ Tăng i lên 1 đơn vị (i=i+1)

M=

i=1

>

i=2 i

>

i=3

+ Khi i > M : không thỏa điều kiện

BÀI TOÁN VÀ THUẬT TOÁN

Trang 18

7 8 9 10 15

-Duyệt từ cuối dãy số ngược trở về vị trí ban đầu:

i=0

+ Giảm biến M một đơn vị (M= M-1)

+ Khởi tạo vị trí bắt đầu của biến i = 0.

M=

i=1

>

i=2 i

BÀI TOÁN VÀ THUẬT TOÁN

Trang 19

7 8 9 10 15

Dãy A ban đầu:

Dãy A sau khi sắp xếp:

BÀI TOÁN VÀ THUẬT TOÁN

Trang 20

BÀI TOÁN VÀ THUẬT TOÁN

Củng cố bài :

Câu 1: Vì sao biến i được khởi tạo giá trị là 0 trong khi chỉ số của số hạng được bắt đầu bằng 1?

Vì ở bước 5, giá trị i tăng lên 1 nên khi so sánh giá trị ai và ai+1 lúc này là a1 và a2.

Câu 2: Có thể không dùng biến M trong thuật toán được không?

Có thể nhưng không tối ưu.

Sử dụng biến M để giảm được số lần so sánh và loại được các phần tử có giá trị lớn hơn các phần tử còn lại trong dãy

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

Xem thêm

HÌNH ẢNH LIÊN QUAN

SƠ ĐỒ KHỐI - Bài 4
SƠ ĐỒ KHỐI (Trang 13)

TỪ KHÓA LIÊN QUAN

w