Tải bản đầy đủ (.pdf) (4 trang)

ly thuyet bai 16 thuat toan sap xep tin hoc lop 7 ket noi tri thuc

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 (549.33 KB, 4 trang )

Bài 16: Thuật toán sắp xếp
1. Thuật toán sắp xếp nổi bọt
- Sắp xếp nổi bọt là hoán đổi nhiều lần các phần tử liền kề nếu giá trị của chúng không
đúng thứ tự.
- Mô tả bằng ngôn ngữ tự nhiên:
1. Với phần tử đầu tiên, thực hiện vòng lặp:
1.1. So sánh hai phần tử đứng cạnh nhau theo thứ tự từ cuối dãy lên phần tử đầu tiên.
1.2. Nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau.
1.3. Cuối vịng lặp em sẽ nhận được một dãy số với phần tử nhỏ nhất nổi lên vị trí đầu
tiên.
2. Với phần tử thứ hai, thực hiện vòng lặp như trên:
2.1. So sánh hai phần tử đứng cạnh nhau theo thứ tự từ cuối dãy lên phần tử đầu tiên.
2.2. Nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau.
2.3. Cuối vòng lặp em sẽ nhận được một dãy số với phần tử nhỏ thứ nhì nổi lên vị trí
thứ hai.
3. Tương tự với các phần tử còn lại
4. Kết thúc thu được dãy số sắp xếp theo thứ tự tăng dần
- Ví dụ

Đầu vào
Xét vị trí đầu tiên, vòng lặp thứ nhất:


Hình 1. Vịng lặp thứ nhất
Xét vị trí thứ hai

Hình 2. Vịng lặp thứ hai
Xét vị trí thứ 3

Hình 3. Vịng lặp thứ 3
Sau vịng lặp thứ 3, khơng có sự hoán đổi nào nữa nên kết thúc thuật toán


2. Thuật toán sắp xếp chọn
- Thuật toán sắp xếp chọn xét từng vị trí đầu tiên từ cuối dãy, so sánh trực tiếp phần tử ở
vị trí được xét với phần tử ở vị trí sau nó và hốn đổi nếu chưa đúng thứ tự.
- Mô tả bằng ngôn ngữ tự nhiên:


Yêu cầu: Sắp xếp dãy số theo thứ tự từ nhỏ đến lớn bằng thuật toán sắp xếp chọn.
1. Phần tử đầu tiên, thực hiện vòng lặp sau:
1.1. So sánh từng phần tử còn lại với phần tử đầu tiên.
1.2. Nếu phần tử được xét nhỏ hơn phần tử đầu tiên thì hốn đổi.
1.3. Cuối vịng lặp, nhận được dãy số với phần tử nhỏ nhất ở vị trí đầu tiên.
2. Phần tử thứ hai, thực hiện vòng lặp tương tự
2.1. So sánh từng phần tử còn lại (kể từ vị trí thứ 3) với phần tử thứ hai.
2.2. Nếu phần tử được xét nhỏ hơn phần tử thứ hai thì hốn đổi.
2.3. Cuối vịng lặp, nhận được dãy số với phần tử nhỏ thứ nhì ở vị trí thứ hai.
3. Tương tự với các phần tử còn lại.
4. Kết thúc thu được dãy số sắp xếp theo thứ tự tăng dần.
- Ví dụ: sắp xếp dãy 3, 4, 1, 5, 2 theo thứ tự tăng dần
+ Đầu vào dãy các phần tử chưa được sắp xếp

+ Các vòng lặp:


Đầu ra: Dãy các phần tử đã được sắp xếp

3. Chia bài toán thành những bài toán nhỏ hơn
- Việc chia một bài toán thành những bài toán nhỏ hơn, đồng thời việc mơ tả thuật tốn dễ hiểu và dễ
thực hiện hơn.




×