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

Thuật toán sắp xếp nổi bọt hay tráo đổi

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 (686.03 KB, 10 trang )


THÂN CHÀO TẬP THỂ LỚP
VÀ QUÝ THẦY CÔ GIÁO
06/27/13
BÀI 4: GIỚI THIỆU THUẬT TOÁN
Tiết 13: Bài toán sắp xếp
GVTH: Nguyễn Ngọc Giao Ngôn

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 .

. . . . . .
Làm sao máy tính sắp xếp được như chúng ta ?

Nạp chương trình sắp xếp vào máy.

Xây dựng thuật toán sắp xếp cho máy.

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ãy số nguyên A gồm n phần tử :
a
1


, a
2
, a
3
, . . . , a
n
Vấn đề đặt ra là cần bố trí lại các phần tử của A
sao cho sau khi sắp xếp xong thì A trở thành dãy
không giảm , nghóa là điều kiện a
i
a
i+1
với 0 <i<n.
Ví dụ : dãy A có 6 phần tử :15 ; 8 ; 12 ; 11 ; 13 ; 9
dãy sau khi sắp xếp: 8 ; 9 ; 11 ; 12 ; 13 ; 15


15 8 12 11 13 9
Nhận xét:

Tiến hành duyệt từ trái sang với hai số đứng liền kề nhau
nếu số đứng sau bé hơn số đứng trước thì tiến hành đổi chỗ.

Sau mỗi lần đổi chỗ ,Phần tử lớn nhất sẽ chuyển dần về
cuối dãy.

Sau một lần duyệt ,Phần tử lớn nhất sẽ nằm ở cuối dãy.

Việc đó lặp đi lặp lại cho đến khi mọi phần tử trong dãy
đều đã xếp đúng thứ tự (số đứng sau không bé hơn số đứng

trước)
Quan sát và cho nhận
xét cách sắp xếp trên
15 8 12 11 13 915 8 12 11 13 9

×