Lý thuyết Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản

Tóm tắt lý thuyết Tin học lớp 11 Bài 21: Các thuật toán sắp xếp đơn giản hay, chi tiết sách Kết nối tri thức sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.

1 3,130 20/09/2024


Lý thuyết Tin học 11 Bài 21: Các thuật toán sắp xếp đơn giản

A. Lý thuyết Các thuật toán sắp xếp đơn giản

1. Thuật toán sắp xếp chèn

- Thuật toán sắp xếp chèn: chỉ số i chạy từ 1 đến n-1. Mỗi vòng "chèn" phần tử A[i] vào vị trí đúng của dãy con đã sắp xếp A[0] đến A[i-1].

- "Chèn" A[i] vào vị trí đúng trong dãy con A[0] đến A[i-1] bằng cách "nhấc" A[i] lên, chuyển các phần tử bên trái A[i] lớn hơn sang phải, và đặt A[i] vào vị trí đúng.

- Sau n-1 bước lặp, dãy được sắp xếp xong.

- Thuật toán sắp xếp chèn có thể mô tả bằng hàm insertionSort(A) như sau:

 Lý thuyết Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản (ảnh 1)

2. Thuật toán sắp xếp chọn

- Thuật toán sắp xếp chọn: chỉ số i chạy từ 0 đến n-2.

- Tại mỗi bước lặp, tìm phần tử nhỏ nhất trong dãy A[i], A[i+1], A[n-1] và đổi chỗ phần tử nhỏ nhất này với A[i].

- Mô tả thuật toán chọn như sau:

 Lý thuyết Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản (ảnh 1)

- Thuật toán sắp xếp chọn có thể mô tả bằng hàm insertionSort(A) như sau:

 Lý thuyết Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản (ảnh 1)

3. Thuật toán sắp xếp nổi bọt

- Thuật toán sắp xếp nổi bọt lấy ý tưởng từ hiện tượng "nổi bọt" của không khí dưới nước.

- Ý tưởng của thuật toán nổi bọt: liên tục đổi chỗ hai phần tử cạnh nhau nếu chúng chưa được sắp thứ tự đúng.

 Lý thuyết Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản (ảnh 1)

- Chỉ số j chạy từ 0 đến n-2 và kiểm tra hai phần tử liền nhau A[j], A[j+1], nếu chưa sắp thứ tự đúng thì đổi chỗ.

- Sau mỗi vòng lặp, phần tử lớn nhất được chuyển về cuối dãy.

- Không cần đủ n-1 bước lặp, với chỉ số i, vòng lặp ở dòng 2 chỉ cần n-1-i bước lặp.

- Thuật toán sắp xếp chọn có thể mô tả bằng hàm BubbleSort(A) như sau:

 Lý thuyết Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản (ảnh 1)

Sơ đồ tư duy Các thuật toán sắp xếp đơn giản

Lý thuyết Tin học 11 Bài 21 (Kết nối tri thức): Các thuật toán sắp xếp đơn giản (ảnh 1)

B. Bài tập Các thuật toán sắp xếp đơn giản

Câu 1: Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách nào?

A. Thay thế.

B. Thay đổi.

C. Hoán đổi.

D. Cả A, B và C.

Câu 2: Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách hoán đổi các phần tử liền kề bao nhiêu lần?

A. Một lần.

B. Hai lần.

C. Mười lần.

D. Nhiều lần.

Câu 3: Trong thuật toán sắp xếp nổi bọt, ta thực hiện hoán đổi giá trị các phần tử liền kề khi nào?

A. Giá trị của chúng tăng.

B. Giá trị của chúng giảm.

C. Giá trị của chúng không đúng thứ tự.

D. Giá trị của chúng không bằng nhau.

Câu 4: Trong thuật toán sắp xếp nổi bọt thì dấu hiệu để biết dãy chưa sắp xếp xong là gì?

A. Vẫn còn cặp phần tử liền kế không đúng thứ tự mong muốn.

B. Dãy chưa được sắp xếp tăng dần.

C. Dãy chưa được sắp xếp giảm dần.

D. Cả A, B và C.

Câu 5: Cho dãy số: 15, 1, 31, 9, 78, 42. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy trên tăng dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?

A. 2

B. 3

C. 4

D. 5

Câu 6: Trong thuật toán sắp xếp nổi bọt kết thúc khi nào?

A. Khi các phần tử đã nằm đúng thứ tự mong muốn.

B. Không còn bất kì cặp liền kề trái thứ tự mong muốn.

C. Không còn xảy ra đổi chỗ lần nào nữa.

D. Cả A, B và C.

Câu 7: Cho dãy số: 6, 4, 5, 3. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy tăng dần thì sau bao nhiêu vòng lặp thì thuật toán kết thúc?

A. 2

B. 3

C. 4

D. 5

Câu 8: Thuật toán sắp xếp nổi chọn xét từng vị trí phần tử từ:

A. Đầu đến cuối

B. Cuối đến đầu

C. Giữa đến đầu

D. Giữa đến cuối

Câu 9: Tại sao chúng ta chia bài toán thành những bài toán nhỏ hơn?

A. Để thay đổi đầu vào của bài toán.

B. Để thay đổi yêu cầu đầu ra của bài toán.

C. Để bài toán dễ giải quyết hơn.

D. Để bài toán khó giải quyết hơn.

Câu 10: Mô tả thuật toán sắp xếp chọn bằng ngôn ngữ tự nhiên gồm có mấy bước?

A. 2

B. 3

C. 4

D. 5

Xem thêm các bài lý thuyết Tin học 11 sách Kết nối tri thức hay, chi tiết tại:

Lý thuyết Bài 23: Kiểm thử và đánh giá chương trình

Lý thuyết Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Lý thuyết Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình

Lý thuyết Bài 28: Thiết kế chương trình theo Mô đun

Lý thuyết Bài 30: Thiết lập thư viện cho chương trình

1 3,130 20/09/2024


Xem thêm các chương trình khác: