12+ Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 21: Các Thuật Toán Sắp Xếp Đơn Giản

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 01

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 01 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. So sánh và hoán đổi các phần tử kề nhau lặp đi lặp lại.
  • B. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đổi chỗ với phần tử đầu tiên của phần đó.
  • C. Chèn từng phần tử vào vị trí thích hợp trong dãy con đã được sắp xếp.
  • D. Chia mảng thành hai nửa và sắp xếp đệ quy từng nửa.

Câu 2: Xét mảng A = [5, 2, 4, 6, 1, 3]. Sau khi thực hiện xong bước thứ 3 của thuật toán sắp xếp chèn (coi phần tử đầu tiên là bước 0, chèn phần tử thứ 2 là bước 1, chèn phần tử thứ 3 là bước 2, chèn phần tử thứ 4 là bước 3), mảng A sẽ có trạng thái như thế nào?

  • A. [1, 2, 3, 4, 5, 6]
  • B. [2, 4, 5, 6, 1, 3]
  • C. [2, 5, 4, 6, 1, 3]
  • D. [5, 2, 4, 6, 1, 3]

Câu 3: Trường hợp nào sau đây thể hiện trường hợp TỐT NHẤT về độ phức tạp thời gian của thuật toán sắp xếp chèn (Insertion Sort)?

  • A. Mảng đầu vào đã được sắp xếp theo thứ tự tăng dần.
  • B. Mảng đầu vào được sắp xếp theo thứ tự giảm dần (ngược lại).
  • C. Mảng đầu vào chứa các phần tử ngẫu nhiên.
  • D. Mảng đầu vào chỉ chứa hai phần tử.

Câu 4: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Chèn từng phần tử vào đúng vị trí trong dãy con đã sắp xếp.
  • B. So sánh và hoán đổi các phần tử kề nhau lặp đi lặp lại.
  • C. Chia mảng thành hai nửa và sắp xếp đệ quy từng nửa.
  • D. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đưa nó về đúng vị trí ở đầu phần đó.

Câu 5: Xét mảng B = [8, 3, 5, 1, 6]. Sau khi thực hiện xong bước thứ 2 của thuật toán sắp xếp chọn (coi bước 1 là tìm min trong [8, 3, 5, 1, 6] và đổi chỗ, bước 2 là tìm min trong phần còn lại và đổi chỗ), mảng B sẽ có trạng thái như thế nào?

  • A. [1, 3, 5, 8, 6]
  • B. [1, 3, 5, 6, 8]
  • C. [1, 8, 5, 3, 6]
  • D. [8, 3, 5, 1, 6]

Câu 6: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn (Selection Sort) là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 7: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Chèn từng phần tử vào đúng vị trí trong dãy con đã sắp xếp.
  • B. Liên tục so sánh và hoán đổi các phần tử kề nhau sai thứ tự.
  • C. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đưa nó về đúng vị trí.
  • D. Chia mảng thành các phần nhỏ hơn và sắp xếp chúng.

Câu 8: Xét mảng C = [7, 1, 4, 2]. Sau khi thực hiện xong LƯỢT (pass) thứ nhất của thuật toán sắp xếp nổi bọt (sắp xếp tăng dần), mảng C sẽ có trạng thái như thế nào?

  • A. [1, 2, 4, 7]
  • B. [1, 4, 7, 2]
  • C. [1, 4, 2, 7]
  • D. [7, 1, 4, 2]

Câu 9: Trong trường hợp nào, thuật toán sắp xếp nổi bọt (Bubble Sort) có thể đạt được độ phức tạp thời gian tốt nhất là O(n)?

  • A. Khi mảng đầu vào được sắp xếp ngược.
  • B. Khi mảng đầu vào chứa nhiều phần tử trùng lặp.
  • C. Sắp xếp nổi bọt luôn có độ phức tạp O(n^2).
  • D. Khi mảng đầu vào đã được sắp xếp và thuật toán có cơ chế dừng sớm (optimized Bubble Sort).

Câu 10: Thuật toán sắp xếp nào trong số các thuật toán đơn giản (chèn, chọn, nổi bọt) có số lượng phép hoán đổi (swap) ít nhất trong trường hợp trung bình và xấu nhất?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba đều có số lượng hoán đổi xấp xỉ nhau.

Câu 11: Một thuật toán sắp xếp được gọi là "ổn định" (stable) nếu nó giữ nguyên thứ tự tương đối của các phần tử có giá trị bằng nhau. Trong ba thuật toán sắp xếp đơn giản đã học, thuật toán nào KHÔNG ổn định?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều ổn định.

Câu 12: Giả sử bạn cần sắp xếp một danh sách dữ liệu gần như đã được sắp xếp hoàn toàn. Thuật toán đơn giản nào có khả năng hoạt động hiệu quả nhất trong trường hợp này?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Hiệu quả của ba thuật toán là như nhau trong trường hợp này.

Câu 13: Xét mảng D = [4, 1, 3, 2]. Áp dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần. Trạng thái của mảng sau khi kết thúc LƯỢT thứ 2 (tìm min trong phần chưa sắp xếp còn lại và đổi chỗ) là gì?

  • A. [1, 4, 3, 2]
  • B. [1, 2, 3, 4]
  • C. [1, 2, 4, 3]
  • D. [4, 1, 3, 2]

Câu 14: Xét mảng E = [6, 5, 4, 3, 2, 1]. Áp dụng thuật toán sắp xếp chèn (Insertion Sort). Sau khi xử lý và chèn xong phần tử có giá trị 3 (phần tử thứ 4 của mảng gốc, index 3 nếu tính từ 0), mảng E sẽ có trạng thái như thế nào?

  • A. [1, 2, 3, 4, 5, 6]
  • B. [4, 5, 6, 3, 2, 1]
  • C. [3, 4, 5, 6, 2, 1]
  • D. [6, 5, 4, 3, 2, 1]

Câu 15: Xét mảng F = [1, 2, 3, 4, 5]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) có tối ưu (dừng sớm nếu không có hoán đổi). Có bao nhiêu lượt (pass) thuật toán sẽ thực hiện?

  • A. 0
  • B. 1
  • C. 4
  • D. 5

Câu 16: Phát biểu nào sau đây là SAI khi nói về các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt)?

  • A. Chúng đều là các thuật toán sắp xếp tại chỗ (in-place).
  • B. Độ phức tạp thời gian xấu nhất của chúng đều là O(n^2).
  • C. Sắp xếp chèn hiệu quả hơn sắp xếp chọn khi mảng gần như đã sắp xếp.
  • D. Độ phức tạp thời gian tốt nhất của tất cả ba thuật toán này đều là O(n^2).

Câu 17: Khi so sánh thuật toán sắp xếp chèn và sắp xếp chọn, điểm khác biệt cơ bản trong cách chúng xây dựng phần mảng đã sắp xếp là gì?

  • A. Sắp xếp chèn dùng hoán đổi, sắp xếp chọn dùng dịch chuyển.
  • B. Sắp xếp chèn xây dựng phần đã sắp xếp từ cuối, sắp xếp chọn xây dựng từ đầu.
  • C. Sắp xếp chèn chèn phần tử mới vào vị trí đúng, sắp xếp chọn tìm phần tử nhỏ nhất và đổi chỗ.
  • D. Sắp xếp chèn yêu cầu thêm bộ nhớ, sắp xếp chọn không.

Câu 18: Thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) có thể được mô tả là "khá hiệu quả cho các tập dữ liệu nhỏ" nhưng "không phù hợp cho các tập dữ liệu lớn" do độ phức tạp O(n^2)?

  • A. Chỉ Sắp xếp chèn.
  • B. Chỉ Sắp xếp chọn.
  • C. Chỉ Sắp xếp nổi bọt.
  • D. Cả ba thuật toán (chèn, chọn, nổi bọt).

Câu 19: Xét mảng G = [9, 5, 2, 7]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần. Trạng thái của mảng sau khi kết thúc lượt đi qua (pass) thứ nhất là gì?

  • A. [5, 2, 7, 9]
  • B. [2, 5, 7, 9]
  • C. [5, 9, 2, 7]
  • D. [9, 5, 2, 7]

Câu 20: Một lập trình viên cần sắp xếp một danh sách các đối tượng (không chỉ số nguyên) mà cần giữ nguyên thứ tự ban đầu của các đối tượng có cùng giá trị khóa sắp xếp (ví dụ: sắp xếp học sinh theo điểm, nếu điểm bằng nhau thì giữ nguyên thứ tự nhập ban đầu). Thuật toán nào trong số các thuật toán đơn giản (chèn, chọn, nổi bọt) là lựa chọn phù hợp nhất để đảm bảo yêu cầu này?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp chọn hoặc Sắp xếp nổi bọt.
  • C. Sắp xếp chọn hoặc Sắp xếp chèn.
  • D. Sắp xếp chèn hoặc Sắp xếp nổi bọt.

Câu 21: Phát biểu nào mô tả ĐÚNG nhất số lần hoán đổi (swap) trong thuật toán sắp xếp chọn (Selection Sort) khi sắp xếp một mảng có n phần tử?

  • A. Khoảng O(n^2) trong trường hợp xấu nhất.
  • B. Khoảng O(n log n) trong trường hợp tốt nhất.
  • C. Chính xác n-1 lần (trong hầu hết các trường hợp, trừ khi phần tử nhỏ nhất đã ở đúng vị trí).
  • D. Số lần hoán đổi không đáng kể so với số lần so sánh.

Câu 22: Hãy phân tích lý do tại sao thuật toán sắp xếp chèn (Insertion Sort) lại hiệu quả hơn sắp xếp nổi bọt (Bubble Sort) đối với các mảng gần sắp xếp.

  • A. Sắp xếp chèn chỉ cần dịch chuyển các phần tử lớn hơn để tạo chỗ trống, ít tốn kém hơn hoán đổi kề nhau của nổi bọt.
  • B. Sắp xếp chèn có độ phức tạp O(n log n) trong trường hợp tốt nhất, còn nổi bọt là O(n^2).
  • C. Sắp xếp chèn không cần so sánh các phần tử, chỉ cần dịch chuyển.
  • D. Sắp xếp chèn sử dụng thêm bộ nhớ để tăng tốc độ.

Câu 23: Cho một mảng A có n phần tử. Thuật toán sắp xếp chọn (Selection Sort) luôn thực hiện bao nhiêu phép so sánh để tìm phần tử nhỏ nhất trong phần chưa sắp xếp ở mỗi bước?

  • A. Chính xác n lần.
  • B. Khoảng n-i-1 lần ở bước thứ i (với i là số phần tử đã được sắp xếp).
  • C. Số lần so sánh thay đổi tùy thuộc vào dữ liệu đầu vào.
  • D. Khoảng log n lần.

Câu 24: Xem xét thuật toán sắp xếp nổi bọt (Bubble Sort). Sau K lượt đi qua (pass) đầu tiên, điều gì được đảm bảo xảy ra?

  • A. Toàn bộ mảng đã được sắp xếp.
  • B. K phần tử nhỏ nhất đã ở đúng vị trí đầu mảng.
  • C. K phần tử lớn nhất đã ở đúng vị trí cuối mảng.
  • D. Mảng đã được chia thành K phần bằng nhau.

Câu 25: Giả sử bạn có một mảng rất lớn và bộ nhớ hệ thống bị hạn chế. Thuật toán sắp xếp nào trong số ba thuật toán đơn giản là lựa chọn tốt nhất về mặt sử dụng bộ nhớ phụ?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều tốt như nhau vì là thuật toán tại chỗ.

Câu 26: Trong thuật toán sắp xếp chèn, khi chèn một phần tử vào dãy con đã sắp xếp, quá trình tìm vị trí và dịch chuyển các phần tử lớn hơn diễn ra như thế nào?

  • A. So sánh với các phần tử từ phải sang trái trong dãy con đã sắp xếp và dịch chuyển các phần tử lớn hơn sang phải.
  • B. So sánh với phần tử ở giữa dãy con đã sắp xếp để tìm vị trí chèn nhị phân.
  • C. Hoán đổi liên tục với phần tử đứng trước nó cho đến khi đúng vị trí.
  • D. Sử dụng một mảng tạm để lưu trữ các phần tử trước khi chèn.

Câu 27: Phát biểu nào sau đây mô tả sai về thuật toán sắp xếp chọn (Selection Sort)?

  • A. Nó là một thuật toán sắp xếp tại chỗ (in-place).
  • B. Nó là một thuật toán sắp xếp ổn định (stable).
  • C. Độ phức tạp thời gian của nó luôn là O(n^2) bất kể dữ liệu đầu vào.
  • D. Số lần hoán đổi (swap) là cố định và tối thiểu (n-1).

Câu 28: Một thuật toán sắp xếp được mô tả như sau: "Lặp đi lặp lại việc đi qua danh sách, so sánh từng cặp phần tử kề nhau và hoán đổi chúng nếu chúng sai thứ tự. Quá trình này được lặp lại cho đến khi không còn cặp nào cần hoán đổi." Đây là mô tả của thuật toán nào?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Sắp xếp nhanh (Quick Sort)

Câu 29: Cho mảng K = [3, 1, 2]. Áp dụng thuật toán sắp xếp chèn (Insertion Sort). Số lần so sánh TỐI THIỂU mà thuật toán thực hiện để sắp xếp mảng này là bao nhiêu?

  • A. 2
  • B. 4
  • C. 3
  • D. 5

Câu 30: Cho mảng L = [4, 3, 2, 1]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) không có tối ưu (luôn thực hiện đủ số lượt). Số lần hoán đổi (swap) xảy ra trong LƯỢT đi qua thứ nhất là bao nhiêu?

  • A. 1
  • B. 2
  • C. 5
  • D. 3

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 2: Xét mảng A = [5, 2, 4, 6, 1, 3]. Sau khi thực hiện xong bước thứ 3 của thuật toán sắp xếp chèn (coi phần tử đầu tiên là bước 0, chèn phần tử thứ 2 là bước 1, chèn phần tử thứ 3 là bước 2, chèn phần tử thứ 4 là bước 3), mảng A sẽ có trạng thái như thế nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 3: Trường hợp nào sau đây thể hiện trường hợp TỐT NHẤT về độ phức tạp thời gian của thuật toán sắp xếp chèn (Insertion Sort)?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 4: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 5: Xét mảng B = [8, 3, 5, 1, 6]. Sau khi thực hiện xong bước thứ 2 của thuật toán sắp xếp chọn (coi bước 1 là tìm min trong [8, 3, 5, 1, 6] và đổi chỗ, bước 2 là tìm min trong phần còn lại và đổi chỗ), mảng B sẽ có trạng thái như thế nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 6: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn (Selection Sort) là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 7: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 8: Xét mảng C = [7, 1, 4, 2]. Sau khi thực hiện xong LƯỢT (pass) thứ nhất của thuật toán sắp xếp nổi bọt (sắp xếp tăng dần), mảng C sẽ có trạng thái như thế nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 9: Trong trường hợp nào, thuật toán sắp xếp nổi bọt (Bubble Sort) có thể đạt được độ phức tạp thời gian tốt nhất là O(n)?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 10: Thuật toán sắp xếp nào trong số các thuật toán đơn giản (chèn, chọn, nổi bọt) có số lượng phép hoán đổi (swap) ít nhất trong trường hợp trung bình và xấu nhất?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 11: Một thuật toán sắp xếp được gọi là 'ổn định' (stable) nếu nó giữ nguyên thứ tự tương đối của các phần tử có giá trị bằng nhau. Trong ba thuật toán sắp xếp đơn giản đã học, thuật toán nào KHÔNG ổn định?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 12: Giả sử bạn cần sắp xếp một danh sách dữ liệu gần như đã được sắp xếp hoàn toàn. Thuật toán đơn giản nào có khả năng hoạt động hiệu quả nhất trong trường hợp này?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 13: Xét mảng D = [4, 1, 3, 2]. Áp dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần. Trạng thái của mảng sau khi kết thúc LƯỢT thứ 2 (tìm min trong phần chưa sắp xếp còn lại và đổi chỗ) là gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 14: Xét mảng E = [6, 5, 4, 3, 2, 1]. Áp dụng thuật toán sắp xếp chèn (Insertion Sort). Sau khi xử lý và chèn xong phần tử có giá trị 3 (phần tử thứ 4 của mảng gốc, index 3 nếu tính từ 0), mảng E sẽ có trạng thái như thế nào?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 15: Xét mảng F = [1, 2, 3, 4, 5]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) có tối ưu (dừng sớm nếu không có hoán đổi). Có bao nhiêu lượt (pass) thuật toán sẽ thực hiện?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 16: Phát biểu nào sau đây là SAI khi nói về các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt)?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 17: Khi so sánh thuật toán sắp xếp chèn và sắp xếp chọn, điểm khác biệt cơ bản trong cách chúng xây dựng phần mảng đã sắp xếp là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 18: Thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) có thể được mô tả là 'khá hiệu quả cho các tập dữ liệu nhỏ' nhưng 'không phù hợp cho các tập dữ liệu lớn' do độ phức tạp O(n^2)?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 19: Xét mảng G = [9, 5, 2, 7]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần. Trạng thái của mảng sau khi kết thúc lượt đi qua (pass) thứ nhất là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 20: Một lập trình viên cần sắp xếp một danh sách các đối tượng (không chỉ số nguyên) mà cần giữ nguyên thứ tự ban đầu của các đối tượng có cùng giá trị khóa sắp xếp (ví dụ: sắp xếp học sinh theo điểm, nếu điểm bằng nhau thì giữ nguyên thứ tự nhập ban đầu). Thuật toán nào trong số các thuật toán đơn giản (chèn, chọn, nổi bọt) là lựa chọn phù hợp nhất để đảm bảo yêu cầu này?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 21: Phát biểu nào mô tả ĐÚNG nhất số lần hoán đổi (swap) trong thuật toán sắp xếp chọn (Selection Sort) khi sắp xếp một mảng có n phần tử?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 22: Hãy phân tích lý do tại sao thuật toán sắp xếp chèn (Insertion Sort) lại hiệu quả hơn sắp xếp nổi bọt (Bubble Sort) đối với các mảng gần sắp xếp.

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 23: Cho một mảng A có n phần tử. Thuật toán sắp xếp chọn (Selection Sort) luôn thực hiện bao nhiêu phép so sánh để tìm phần tử nhỏ nhất trong phần chưa sắp xếp ở mỗi bước?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 24: Xem xét thuật toán sắp xếp nổi bọt (Bubble Sort). Sau K lượt đi qua (pass) đầu tiên, điều gì được đảm bảo xảy ra?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 25: Giả sử bạn có một mảng rất lớn và bộ nhớ hệ thống bị hạn chế. Thuật toán sắp xếp nào trong số ba thuật toán đơn giản là lựa chọn tốt nhất về mặt sử dụng bộ nhớ phụ?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 26: Trong thuật toán sắp xếp chèn, khi chèn một phần tử vào dãy con đã sắp xếp, quá trình tìm vị trí và dịch chuyển các phần tử lớn hơn diễn ra như thế nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 27: Phát biểu nào sau đây mô tả sai về thuật toán sắp xếp chọn (Selection Sort)?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 28: Một thuật toán sắp xếp được mô tả như sau: 'Lặp đi lặp lại việc đi qua danh sách, so sánh từng cặp phần tử kề nhau và hoán đổi chúng nếu chúng sai thứ tự. Quá trình này được lặp lại cho đến khi không còn cặp nào cần hoán đổi.' Đây là mô tả của thuật toán nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 29: Cho mảng K = [3, 1, 2]. Áp dụng thuật toán sắp xếp chèn (Insertion Sort). Số lần so sánh TỐI THIỂU mà thuật toán thực hiện để sắp xếp mảng này là bao nhiêu?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 01

Câu 30: Cho mảng L = [4, 3, 2, 1]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) không có tối ưu (luôn thực hiện đủ số lượt). Số lần hoán đổi (swap) xảy ra trong LƯỢT đi qua thứ nhất là bao nhiêu?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 02

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 02 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) xây dựng mảng đã sắp xếp bằng cách nào?

  • A. Tìm phần tử lớn nhất và đặt nó vào cuối mảng.
  • B. So sánh các phần tử liền kề và đổi chỗ nếu sai thứ tự.
  • C. Chèn từng phần tử vào đúng vị trí trong mảng con đã sắp xếp.
  • D. Tìm phần tử nhỏ nhất và đổi chỗ với phần tử đầu tiên của phần chưa sắp xếp.

Câu 2: Cho dãy số A = [5, 2, 4, 6, 1, 3]. Sau bước lặp thứ 3 của thuật toán sắp xếp chèn (khi phần tử thứ 4, giá trị 6, được xem xét), dãy A sẽ có dạng như thế nào? (Giả sử các phần tử từ vị trí 0 đến k-1 đã được sắp xếp sau bước k-1).

  • A. [1, 2, 3, 4, 5, 6]
  • B. [2, 4, 5, 6, 1, 3]
  • C. [1, 2, 4, 5, 6, 3]
  • D. [2, 4, 5, 1, 6, 3]

Câu 3: Trường hợp nào sau đây giúp thuật toán sắp xếp chèn đạt hiệu quả thời gian tốt nhất?

  • A. Mảng đầu vào đã được sắp xếp.
  • B. Mảng đầu vào được sắp xếp theo thứ tự ngược lại.
  • C. Tất cả các phần tử trong mảng đều giống nhau.
  • D. Mảng có rất ít phần tử (ví dụ dưới 10).

Câu 4: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. So sánh và hoán đổi các phần tử liền kề.
  • B. Chia mảng thành hai phần và sắp xếp từng phần.
  • C. Chèn từng phần tử vào đúng vị trí trong mảng con đã sắp xếp.
  • D. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đưa về đầu phần đó.

Câu 5: Cho dãy số B = [8, 3, 5, 1, 7, 2]. Sau bước lặp thứ 2 của thuật toán sắp xếp chọn, dãy B sẽ có dạng như thế nào? (Sau bước lặp thứ i, i phần tử đầu tiên của mảng là i phần tử nhỏ nhất đã được sắp xếp).

  • A. [1, 2, 5, 8, 7, 3]
  • B. [1, 2, 3, 5, 7, 8]
  • C. [1, 3, 5, 8, 7, 2]
  • D. [2, 3, 5, 1, 7, 8]

Câu 6: Đối với một mảng có n phần tử, thuật toán sắp xếp chọn luôn thực hiện khoảng bao nhiêu phép so sánh trong mọi trường hợp (tốt nhất, trung bình, xấu nhất)?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 7: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên nguyên tắc nào?

  • A. Tìm phần tử nhỏ nhất và đổi chỗ về đầu.
  • B. So sánh và hoán đổi các cặp phần tử liền kề.
  • C. Chèn phần tử vào mảng con đã sắp xếp.
  • D. Chia mảng làm đôi và sắp xếp riêng.

Câu 8: Cho dãy số C = [7, 1, 5, 12, 3]. Sau pass (lần duyệt) đầu tiên của thuật toán sắp xếp nổi bọt, dãy C sẽ có dạng như thế nào?

  • A. [1, 3, 5, 7, 12]
  • B. [1, 5, 7, 12, 3]
  • C. [1, 5, 7, 3, 12]
  • D. [7, 1, 5, 3, 12]

Câu 9: Điểm khác biệt cơ bản về số lượng phép hoán đổi (swap) giữa thuật toán sắp xếp chọn và sắp xếp chèn là gì?

  • A. Sắp xếp chọn thực hiện ít phép hoán đổi hơn đáng kể so với sắp xếp chèn trong trường hợp xấu nhất.
  • B. Sắp xếp chèn thực hiện ít phép hoán đổi hơn so với sắp xếp chọn trong mọi trường hợp.
  • C. Cả hai thuật toán đều thực hiện cùng số lượng phép hoán đổi trong trường hợp xấu nhất.
  • D. Sắp xếp chọn chỉ hoán đổi các phần tử liền kề, còn sắp xếp chèn thì không.

Câu 10: Một thuật toán sắp xếp được gọi là "ổn định" (stable) nếu:

  • A. Nó luôn có độ phức tạp thời gian O(n log n).
  • B. Nó giữ nguyên thứ tự ban đầu của các phần tử có giá trị bằng nhau.
  • C. Nó chỉ sử dụng một lượng bộ nhớ phụ cố định (O(1)).
  • D. Nó hoạt động hiệu quả trên các tập dữ liệu lớn.

Câu 11: Trong ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt), thuật toán nào KHÔNG phải là thuật toán ổn định?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba thuật toán đều ổn định.

Câu 12: Độ phức tạp thời gian trong trường hợp xấu nhất của cả ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(n!)

Câu 13: Bạn cần sắp xếp một danh sách điểm của 20 học sinh. Danh sách này thường xuyên được cập nhật thêm điểm mới và hầu hết thời gian nó gần như đã được sắp xếp. Thuật toán sắp xếp đơn giản nào phù hợp nhất cho tình huống này để tối ưu hiệu quả?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba đều có hiệu quả như nhau với dữ liệu gần sắp xếp.

Câu 14: Phát biểu nào sau đây là ĐÚNG khi so sánh sắp xếp chọn và sắp xếp nổi bọt?

  • A. Sắp xếp chọn nhanh hơn sắp xếp nổi bọt trong trường hợp tốt nhất.
  • B. Sắp xếp nổi bọt ít hoán đổi hơn sắp xếp chọn trong trường hợp xấu nhất.
  • C. Cả hai thuật toán đều ổn định.
  • D. Sắp xếp chọn có số lượng hoán đổi ít hơn hoặc bằng sắp xếp nổi bọt trong trường hợp xấu nhất.

Câu 15: Khi phân tích độ phức tạp thời gian của thuật toán sắp xếp, O(n^2) có ý nghĩa gì?

  • A. Thời gian thực thi tăng tỷ lệ với bình phương kích thước dữ liệu đầu vào.
  • B. Thời gian thực thi tăng tuyến tính với kích thước dữ liệu đầu vào.
  • C. Thời gian thực thi tăng theo logarit của kích thước dữ liệu.
  • D. Thuật toán chỉ hiệu quả với dữ liệu có kích thước nhỏ.

Câu 16: Cho dãy D = [9, 5, 2, 7]. Thực hiện thuật toán sắp xếp chèn. Sau khi xử lý xong phần tử có giá trị 2, dãy D sẽ có dạng như thế nào?

  • A. [2, 5, 7, 9]
  • B. [5, 9, 2, 7]
  • C. [9, 5, 2, 7]
  • D. [2, 5, 9, 7]

Câu 17: Thuật toán sắp xếp nào sau đây được gọi là "tại chỗ" (in-place) vì nó chỉ yêu cầu một lượng bộ nhớ phụ không đáng kể (thường là O(1)) ngoài không gian lưu trữ dữ liệu ban đầu?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba thuật toán trên.

Câu 18: Cho dãy E = [4, 1, 3, 9, 7]. Áp dụng thuật toán sắp xếp chọn. Sau khi phần tử nhỏ nhất của toàn bộ dãy được đưa về đúng vị trí đầu tiên, phần tử nào sẽ được chọn làm nhỏ nhất trong phần còn lại để đưa về vị trí thứ hai?

  • A. 1
  • B. 4
  • C. 3
  • D. 7

Câu 19: Một lập trình viên muốn sử dụng thuật toán sắp xếp nổi bọt nhưng muốn cải tiến để dừng sớm nếu mảng đã được sắp xếp hoàn toàn trước khi kết thúc tất cả các pass. Cải tiến này dựa vào việc kiểm tra điều kiện gì sau mỗi pass?

  • A. Kiểm tra xem có bất kỳ cặp phần tử nào được hoán đổi trong pass đó hay không.
  • B. Kiểm tra xem phần tử cuối cùng của pass đó có đúng vị trí hay không.
  • C. Kiểm tra xem phần tử đầu tiên của pass đó có đúng vị trí hay không.
  • D. So sánh số lượng hoán đổi trong pass hiện tại với pass trước đó.

Câu 20: Xét thuật toán sắp xếp chèn. Khi chèn phần tử `A[i]` vào mảng con đã sắp xếp `A[0...i-1]`, thuật toán thực hiện việc dịch chuyển các phần tử lớn hơn `A[i]` sang bên phải. Hành động này đảm bảo tính chất nào của thuật toán?

  • A. Tính tại chỗ (in-place).
  • B. Tính ổn định (stable).
  • C. Độ phức tạp thời gian O(n).
  • D. Số lượng hoán đổi tối thiểu.

Câu 21: Bạn có một danh sách 1000 số nguyên ngẫu nhiên cần được sắp xếp. Bạn cần chọn một trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt). Dựa trên độ phức tạp thời gian trung bình, thuật toán nào sẽ có xu hướng thực thi nhanh nhất?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Hiệu quả trung bình của ba thuật toán là tương đương (đều là O(n^2)).

Câu 22: Cho dãy F = [10, 8, 6, 4, 2]. Áp dụng thuật toán sắp xếp nổi bọt có cải tiến (dừng sớm). Sau pass thứ nhất, dãy sẽ ở trạng thái nào và thuật toán có dừng lại không? (Giả sử sắp xếp tăng dần).

  • A. [2, 4, 6, 8, 10], Thuật toán dừng lại.
  • B. [8, 10, 6, 4, 2], Thuật toán chưa dừng.
  • C. [8, 6, 4, 2, 10], Thuật toán chưa dừng.
  • D. [10, 8, 6, 4, 2], Thuật toán dừng lại.

Câu 23: Khi thực hiện sắp xếp chọn trên một mảng có n phần tử, số lượng phép hoán đổi (swap) tối đa có thể xảy ra là bao nhiêu?

  • A. O(n^2)
  • B. n - 1
  • C. n(n-1)/2
  • D. 0

Câu 24: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) có số lượng phép so sánh luôn là O(n^2), bất kể trạng thái ban đầu của mảng?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba thuật toán.

Câu 25: Giả sử bạn có một mảng chứa các đối tượng phức tạp (ví dụ: hồ sơ sinh viên), và việc hoán đổi toàn bộ đối tượng là một thao tác rất tốn kém. Bạn muốn chọn thuật toán sắp xếp đơn giản nào trong ba thuật toán đã học để giảm thiểu chi phí hoán đổi?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba đều tốn kém như nhau về hoán đổi.

Câu 26: Cho dãy G = [3, 1, 4, 1, 5, 9, 2, 6]. Sử dụng thuật toán sắp xếp nổi bọt. Sau khi pass thứ hai hoàn thành, phần tử nào sẽ nằm ở vị trí cuối cùng của mảng?

  • A. 6
  • B. 2
  • C. 5
  • D. 9

Câu 27: So sánh độ phức tạp thời gian giữa sắp xếp chèn và sắp xếp chọn trong trường hợp xấu nhất.

  • A. Sắp xếp chèn là O(n), sắp xếp chọn là O(n^2).
  • B. Sắp xếp chèn là O(n^2), sắp xếp chọn là O(n).
  • C. Cả hai đều là O(n^2).
  • D. Sắp xếp chèn là O(n log n), sắp xếp chọn là O(n^2).

Câu 28: Đâu là một lợi thế của thuật toán sắp xếp chèn so với sắp xếp nổi bọt và sắp xếp chọn?

  • A. Rất hiệu quả với dữ liệu gần như đã được sắp xếp.
  • B. Luôn thực hiện số lượng hoán đổi tối thiểu.
  • C. Độ phức tạp thời gian luôn là O(n).
  • D. Dễ dàng triển khai song song.

Câu 29: Cho dãy H = [5, 4, 3, 2, 1]. Sử dụng thuật toán sắp xếp chèn. Phần tử nào sẽ được chèn vào vị trí đầu tiên trong mảng con đã sắp xếp ở cuối quá trình sắp xếp?

  • A. 1
  • B. 5
  • C. 3
  • D. 2

Câu 30: Trong thuật toán sắp xếp nổi bọt, sau mỗi pass (lần duyệt) đầy đủ qua mảng (không tính pass cuối cùng khi mảng đã sắp xếp), điều gì chắc chắn xảy ra?

  • A. Mảng con ở đầu đã được sắp xếp hoàn toàn.
  • B. Không có phần tử nào được hoán đổi trong pass đó.
  • C. Phần tử lớn nhất trong phần chưa sắp xếp được đặt vào đúng vị trí của nó.
  • D. Độ phức tạp của pass tiếp theo sẽ giảm đi.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) xây dựng mảng đã sắp xếp bằng cách nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 2: Cho dãy số A = [5, 2, 4, 6, 1, 3]. Sau bước lặp thứ 3 của thuật toán sắp xếp chèn (khi phần tử thứ 4, giá trị 6, được xem xét), dãy A sẽ có dạng như thế nào? (Giả sử các phần tử từ vị trí 0 đến k-1 đã được sắp xếp sau bước k-1).

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 3: Trường hợp nào sau đây giúp thuật toán sắp xếp chèn đạt hiệu quả thời gian tốt nhất?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 4: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 5: Cho dãy số B = [8, 3, 5, 1, 7, 2]. Sau bước lặp thứ 2 của thuật toán sắp xếp chọn, dãy B sẽ có dạng như thế nào? (Sau bước lặp thứ i, i phần tử đầu tiên của mảng là i phần tử nhỏ nhất đã được sắp xếp).

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 6: Đối với một mảng có n phần tử, thuật toán sắp xếp chọn luôn thực hiện khoảng bao nhiêu phép so sánh trong mọi trường hợp (tốt nhất, trung bình, xấu nhất)?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 7: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên nguyên tắc nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 8: Cho dãy số C = [7, 1, 5, 12, 3]. Sau pass (lần duyệt) đầu tiên của thuật toán sắp xếp nổi bọt, dãy C sẽ có dạng như thế nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 9: Điểm khác biệt cơ bản về số lượng phép hoán đổi (swap) giữa thuật toán sắp xếp chọn và sắp xếp chèn là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 10: Một thuật toán sắp xếp được gọi là 'ổn định' (stable) nếu:

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 11: Trong ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt), thuật toán nào KHÔNG phải là thuật toán ổn định?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 12: Độ phức tạp thời gian trong trường hợp xấu nhất của cả ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 13: Bạn cần sắp xếp một danh sách điểm của 20 học sinh. Danh sách này thường xuyên được cập nhật thêm điểm mới và hầu hết thời gian nó gần như đã được sắp xếp. Thuật toán sắp xếp đơn giản nào phù hợp nhất cho tình huống này để tối ưu hiệu quả?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 14: Phát biểu nào sau đây là ĐÚNG khi so sánh sắp xếp chọn và sắp xếp nổi bọt?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 15: Khi phân tích độ phức tạp thời gian của thuật toán sắp xếp, O(n^2) có ý nghĩa gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 16: Cho dãy D = [9, 5, 2, 7]. Thực hiện thuật toán sắp xếp chèn. Sau khi xử lý xong phần tử có giá trị 2, dãy D sẽ có dạng như thế nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 17: Thuật toán sắp xếp nào sau đây được gọi là 'tại chỗ' (in-place) vì nó chỉ yêu cầu một lượng bộ nhớ phụ không đáng kể (thường là O(1)) ngoài không gian lưu trữ dữ liệu ban đầu?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 18: Cho dãy E = [4, 1, 3, 9, 7]. Áp dụng thuật toán sắp xếp chọn. Sau khi phần tử nhỏ nhất của toàn bộ dãy được đưa về đúng vị trí đầu tiên, phần tử nào sẽ được chọn làm nhỏ nhất trong phần còn lại để đưa về vị trí thứ hai?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 19: Một lập trình viên muốn sử dụng thuật toán sắp xếp nổi bọt nhưng muốn cải tiến để dừng sớm nếu mảng đã được sắp xếp hoàn toàn trước khi kết thúc tất cả các pass. Cải tiến này dựa vào việc kiểm tra điều kiện gì sau mỗi pass?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 20: Xét thuật toán sắp xếp chèn. Khi chèn phần tử `A[i]` vào mảng con đã sắp xếp `A[0...i-1]`, thuật toán thực hiện việc dịch chuyển các phần tử lớn hơn `A[i]` sang bên phải. Hành động này đảm bảo tính chất nào của thuật toán?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 21: Bạn có một danh sách 1000 số nguyên ngẫu nhiên cần được sắp xếp. Bạn cần chọn một trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt). Dựa trên độ phức tạp thời gian trung bình, thuật toán nào sẽ có xu hướng thực thi nhanh nhất?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 22: Cho dãy F = [10, 8, 6, 4, 2]. Áp dụng thuật toán sắp xếp nổi bọt có cải tiến (dừng sớm). Sau pass thứ nhất, dãy sẽ ở trạng thái nào và thuật toán có dừng lại không? (Giả sử sắp xếp tăng dần).

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 23: Khi thực hiện sắp xếp chọn trên một mảng có n phần tử, số lượng phép hoán đổi (swap) tối đa có thể xảy ra là bao nhiêu?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 24: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) có số lượng phép so sánh luôn là O(n^2), bất kể trạng thái ban đầu của mảng?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 25: Giả sử bạn có một mảng chứa các đối tượng phức tạp (ví dụ: hồ sơ sinh viên), và việc hoán đổi toàn bộ đối tượng là một thao tác rất tốn kém. Bạn muốn chọn thuật toán sắp xếp đơn giản nào trong ba thuật toán đã học để giảm thiểu chi phí hoán đổi?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 26: Cho dãy G = [3, 1, 4, 1, 5, 9, 2, 6]. Sử dụng thuật toán sắp xếp nổi bọt. Sau khi pass thứ hai hoàn thành, phần tử nào sẽ nằm ở vị trí cuối cùng của mảng?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 27: So sánh độ phức tạp thời gian giữa sắp xếp chèn và sắp xếp chọn trong trường hợp xấu nhất.

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 28: Đâu là một lợi thế của thuật toán sắp xếp chèn so với sắp xếp nổi bọt và sắp xếp chọn?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 29: Cho dãy H = [5, 4, 3, 2, 1]. Sử dụng thuật toán sắp xếp chèn. Phần tử nào sẽ được chèn vào vị trí đầu tiên trong mảng con đã sắp xếp ở cuối quá trình sắp xếp?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 02

Câu 30: Trong thuật toán sắp xếp nổi bọt, sau mỗi pass (lần duyệt) đầy đủ qua mảng (không tính pass cuối cùng khi mảng đã sắp xếp), điều gì chắc chắn xảy ra?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 03

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 03 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Tìm phần tử nhỏ nhất trong mảng chưa sắp xếp và đưa về đầu.
  • B. Xây dựng mảng đã sắp xếp từng bước bằng cách chèn các phần tử vào đúng vị trí.
  • C. So sánh và hoán đổi các cặp phần tử liền kề để đưa phần tử lớn hơn về cuối.
  • D. Chia mảng thành hai phần và sắp xếp từng phần một cách đệ quy.

Câu 2: Cho mảng A = [5, 2, 8, 1, 9]. Áp dụng thuật toán sắp xếp chèn, trạng thái của mảng sau khi xử lý xong phần tử thứ 3 (giá trị 8) là gì? (Giả sử mảng bắt đầu từ chỉ số 0. Phần tử thứ 1 là 5, thứ 2 là 2, thứ 3 là 8).

  • A. [1, 2, 5, 8, 9]
  • B. [2, 5, 8, 9, 1]
  • C. [2, 5, 8, 1, 9]
  • D. [5, 2, 8, 1, 9]

Câu 3: Độ phức tạp thời gian (Time Complexity) trong trường hợp tốt nhất của thuật toán sắp xếp chèn là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 4: Trong thuật toán sắp xếp chèn, nếu một mảng có n phần tử đã được sắp xếp theo thứ tự giảm dần, khi sắp xếp tăng dần, số lượng phép so sánh và dịch chuyển sẽ như thế nào?

  • A. Số phép so sánh là O(n), không có dịch chuyển.
  • B. Số phép so sánh là O(n), số dịch chuyển là O(n^2).
  • C. Số phép so sánh là O(n^2), không có dịch chuyển.
  • D. Số phép so sánh và dịch chuyển đều là O(n^2).

Câu 5: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Lặp đi lặp lại việc tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đổi chỗ về đúng vị trí.
  • B. Chèn từng phần tử vào đúng vị trí trong một mảng con đã sắp xếp.
  • C. So sánh và hoán đổi các cặp phần tử liền kề cho đến khi mảng được sắp xếp.
  • D. Chia mảng thành các mảng con nhỏ hơn và sắp xếp chúng.

Câu 6: Cho mảng B = [7, 3, 9, 1, 5]. Áp dụng thuật toán sắp xếp chọn, trạng thái của mảng sau khi hoàn thành vòng lặp ngoài thứ nhất là gì?

  • A. [3, 7, 9, 1, 5]
  • B. [1, 3, 9, 7, 5]
  • C. [1, 3, 5, 7, 9]
  • D. [7, 3, 9, 1, 5]

Câu 7: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(n!)

Câu 8: Điểm khác biệt cốt lõi về số lượng phép hoán đổi (swap) giữa thuật toán sắp xếp chèn và sắp xếp chọn trong trường hợp tổng quát là gì?

  • A. Sắp xếp chèn luôn ít hoán đổi hơn sắp xếp chọn.
  • B. Sắp xếp chọn luôn ít hoán đổi hơn sắp xếp chèn.
  • C. Cả hai thuật toán đều thực hiện cùng số lượng hoán đổi trong mọi trường hợp.
  • D. Sắp xếp chọn thực hiện số lượng hoán đổi cố định (O(n)), trong khi sắp xếp chèn thực hiện số lượng hoán đổi thay đổi tùy trường hợp (có thể lên tới O(n^2)).

Câu 9: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Chia mảng thành hai phần và sắp xếp từng phần.
  • B. Tìm phần tử lớn nhất hoặc nhỏ nhất và đưa về đúng vị trí.
  • C. Lặp đi lặp lại việc so sánh và hoán đổi các cặp phần tử liền kề.
  • D. Chèn từng phần tử vào phần đã sắp xếp.

Câu 10: Cho mảng C = [4, 1, 6, 3]. Áp dụng thuật toán sắp xếp nổi bọt (để sắp xếp tăng dần), trạng thái của mảng sau khi hoàn thành vòng lặp ngoài thứ nhất là gì?

  • A. [1, 4, 3, 6]
  • B. [1, 3, 4, 6]
  • C. [4, 1, 6, 3]
  • D. [1, 6, 4, 3]

Câu 11: Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp nổi bọt là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 12: Thuật toán nào trong số các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt) có số lượng phép hoán đổi ít nhất trong trường hợp xấu nhất?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba đều có số hoán đổi như nhau trong trường hợp xấu nhất.

Câu 13: Đối với một mảng dữ liệu gần như đã được sắp xếp, thuật toán sắp xếp đơn giản nào có khả năng hoạt động hiệu quả nhất?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt (không dùng cờ hiệu)
  • D. Hiệu quả như nhau đối với cả ba thuật toán.

Câu 14: Đặc điểm nào sau đây là ĐÚNG khi so sánh thuật toán sắp xếp chèn và sắp xếp chọn?

  • A. Sắp xếp chọn có trường hợp tốt nhất hiệu quả hơn sắp xếp chèn.
  • B. Sắp xếp chèn không phải là thuật toán tại chỗ (in-place).
  • C. Sắp xếp chọn là thuật toán ổn định (stable).
  • D. Sắp xếp chèn có thể hiệu quả hơn sắp xếp chọn đối với dữ liệu gần sắp xếp.

Câu 15: Đặc điểm nào sau đây là ĐÚNG về thuật toán sắp xếp nổi bọt?

  • A. Là thuật toán tại chỗ (in-place).
  • B. Có độ phức tạp thời gian trung bình là O(n log n).
  • C. Không phải là thuật toán ổn định (stable).
  • D. Số lượng phép hoán đổi luôn ít hơn sắp xếp chọn.

Câu 16: Tại sao thuật toán sắp xếp chọn được coi là không ổn định (unstable)?

  • A. Vì độ phức tạp thời gian của nó là O(n^2).
  • B. Vì nó sử dụng bộ nhớ phụ đáng kể.
  • C. Vì nó có thể thay đổi thứ tự tương đối của các phần tử bằng nhau.
  • D. Vì nó thực hiện nhiều phép hoán đổi.

Câu 17: Cho mảng D = [6, 4, 2, 8]. Áp dụng thuật toán sắp xếp chèn, trạng thái của mảng sau khi xử lý xong phần tử thứ 2 (giá trị 4) là gì?

  • A. [2, 4, 6, 8]
  • B. [6, 4, 2, 8]
  • C. [4, 2, 6, 8]
  • D. [4, 6, 2, 8]

Câu 18: Cho mảng E = [5, 1, 4, 2, 8]. Áp dụng thuật toán sắp xếp chọn, trạng thái của mảng sau khi hoàn thành vòng lặp ngoài thứ hai là gì?

  • A. [1, 5, 4, 2, 8]
  • B. [1, 2, 5, 4, 8]
  • C. [1, 4, 5, 2, 8]
  • D. [1, 2, 4, 5, 8]

Câu 19: Cho mảng F = [3, 1, 4, 2]. Áp dụng thuật toán sắp xếp nổi bọt (sắp xếp tăng dần), trạng thái của mảng sau khi kết thúc lần duyệt (pass) thứ hai của vòng lặp ngoài là gì?

  • A. [1, 3, 2, 4]
  • B. [1, 2, 3, 4]
  • C. [1, 4, 2, 3]
  • D. [3, 1, 4, 2]

Câu 20: Khi phân tích hiệu quả của thuật toán sắp xếp, yếu tố nào sau đây thường được coi là quan trọng nhất?

  • A. Độ phức tạp thời gian (Time Complexity).
  • B. Màu sắc của giao diện chương trình.
  • C. Tên của lập trình viên.
  • D. Số dòng code của thuật toán.

Câu 21: Thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) yêu cầu nhiều phép so sánh nhất trong trường hợp xấu nhất?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba đều xấp xỉ như nhau trong trường hợp xấu nhất.

Câu 22: Trong thuật toán sắp xếp chèn, phần đã sắp xếp của mảng được xây dựng từ đâu?

  • A. Từ đầu mảng, mở rộng dần về phía cuối.
  • B. Từ cuối mảng, thu hẹp dần về phía đầu.
  • C. Từ giữa mảng, mở rộng ra hai phía.
  • D. Được tạo ra trong một mảng phụ khác.

Câu 23: Trong thuật toán sắp xếp chọn, sau mỗi lần lặp của vòng lặp ngoài, điều gì được đảm bảo?

  • A. Mảng con chưa sắp xếp được thu nhỏ lại một nửa.
  • B. Tất cả các phần tử đã được so sánh ít nhất một lần.
  • C. Một phần tử được đặt vào đúng vị trí cuối cùng của nó trong mảng đã sắp xếp.
  • D. Không có cặp phần tử liền kề nào không đúng thứ tự.

Câu 24: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) có thể dừng sớm nhất nếu mảng đã được sắp xếp hoàn toàn ngay từ đầu?

  • A. Sắp xếp chọn
  • B. Sắp xếp nổi bọt (không dùng cờ hiệu)
  • C. Chỉ sắp xếp chèn
  • D. Sắp xếp chèn và Sắp xếp nổi bọt (với cờ hiệu)

Câu 25: Một ưu điểm của thuật toán sắp xếp chọn so với sắp xếp chèn và nổi bọt là gì?

  • A. Hiệu quả hơn trên dữ liệu gần sắp xếp.
  • B. Số lượng phép hoán đổi ít nhất trong mọi trường hợp.
  • C. Có độ phức tạp thời gian tốt nhất là O(n).
  • D. Là thuật toán ổn định (stable).

Câu 26: Tại sao các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt) thường không được sử dụng cho các tập dữ liệu rất lớn trong thực tế?

  • A. Độ phức tạp thời gian trung bình và xấu nhất là O(n^2), kém hiệu quả với dữ liệu lớn.
  • B. Chúng sử dụng quá nhiều bộ nhớ phụ.
  • C. Chúng không phải là thuật toán ổn định.
  • D. Chúng chỉ hoạt động với các kiểu dữ liệu số.

Câu 27: Trong thuật toán sắp xếp nổi bọt, sau mỗi lần duyệt qua mảng (pass), phần tử nào được đảm bảo ở đúng vị trí cuối cùng của nó?

  • A. Phần tử nhỏ nhất.
  • B. Phần tử lớn nhất trong phần chưa sắp xếp.
  • C. Phần tử đầu tiên của mảng.
  • D. Phần tử ở giữa của mảng.

Câu 28: Cho mảng G = [8, 5, 2, 9, 3]. Áp dụng thuật toán sắp xếp chèn. Sau khi hoàn thành việc chèn phần tử có giá trị 2 vào phần đã sắp xếp, mảng sẽ có trạng thái như thế nào?

  • A. [2, 5, 8, 9, 3]
  • B. [5, 8, 2, 9, 3]
  • C. [2, 8, 5, 9, 3]
  • D. [8, 5, 2, 9, 3]

Câu 29: Thuật toán sắp xếp nào trong ba thuật toán đơn giản có thể được triển khai sao cho nó là thuật toán ổn định (stable)?

  • A. Chỉ sắp xếp chọn.
  • B. Chỉ sắp xếp nổi bọt.
  • C. Chỉ sắp xếp chèn.
  • D. Sắp xếp chèn và Sắp xếp nổi bọt.

Câu 30: Khi nào thì việc sử dụng một trong các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt) có thể được chấp nhận hoặc thậm chí là lựa chọn tốt?

  • A. Khi cần sắp xếp tập dữ liệu cực lớn để đạt hiệu quả cao nhất.
  • B. Khi cần một thuật toán có độ phức tạp thời gian O(n log n).
  • C. Khi tập dữ liệu cần sắp xếp có kích thước nhỏ hoặc khi yêu cầu cài đặt đơn giản.
  • D. Khi dữ liệu đầu vào luôn được sắp xếp ngược lại.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 2: Cho mảng A = [5, 2, 8, 1, 9]. Áp dụng thuật toán sắp xếp chèn, trạng thái của mảng sau khi xử lý xong phần tử thứ 3 (giá trị 8) là gì? (Giả sử mảng bắt đầu từ chỉ số 0. Phần tử thứ 1 là 5, thứ 2 là 2, thứ 3 là 8).

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 3: Độ phức tạp thời gian (Time Complexity) trong trường hợp tốt nhất của thuật toán sắp xếp chèn là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 4: Trong thuật toán sắp xếp chèn, nếu một mảng có n phần tử đã được sắp xếp theo thứ tự giảm dần, khi sắp xếp tăng dần, số lượng phép so sánh và dịch chuyển sẽ như thế nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 5: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 6: Cho mảng B = [7, 3, 9, 1, 5]. Áp dụng thuật toán sắp xếp chọn, trạng thái của mảng sau khi hoàn thành vòng lặp ngoài thứ nhất là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 7: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 8: Điểm khác biệt cốt lõi về số lượng phép hoán đổi (swap) giữa thuật toán sắp xếp chèn và sắp xếp chọn trong trường hợp tổng quát là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 9: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 10: Cho mảng C = [4, 1, 6, 3]. Áp dụng thuật toán sắp xếp nổi bọt (để sắp xếp tăng dần), trạng thái của mảng sau khi hoàn thành vòng lặp ngoài thứ nhất là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 11: Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp nổi bọt là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 12: Thuật toán nào trong số các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt) có số lượng phép hoán đổi ít nhất trong trường hợp xấu nhất?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 13: Đối với một mảng dữ liệu gần như đã được sắp xếp, thuật toán sắp xếp đơn giản nào có khả năng hoạt động hiệu quả nhất?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 14: Đặc điểm nào sau đây là ĐÚNG khi so sánh thuật toán sắp xếp chèn và sắp xếp chọn?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 15: Đặc điểm nào sau đây là ĐÚNG về thuật toán sắp xếp nổi bọt?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 16: Tại sao thuật toán sắp xếp chọn được coi là không ổn định (unstable)?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 17: Cho mảng D = [6, 4, 2, 8]. Áp dụng thuật toán sắp xếp chèn, trạng thái của mảng sau khi xử lý xong phần tử thứ 2 (giá trị 4) là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 18: Cho mảng E = [5, 1, 4, 2, 8]. Áp dụng thuật toán sắp xếp chọn, trạng thái của mảng sau khi hoàn thành vòng lặp ngoài thứ hai là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 19: Cho mảng F = [3, 1, 4, 2]. Áp dụng thuật toán sắp xếp nổi bọt (sắp xếp tăng dần), trạng thái của mảng sau khi kết thúc lần duyệt (pass) thứ hai của vòng lặp ngoài là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 20: Khi phân tích hiệu quả của thuật toán sắp xếp, yếu tố nào sau đây thường được coi là quan trọng nhất?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 21: Thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) yêu cầu nhiều phép so sánh nhất trong trường hợp xấu nhất?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 22: Trong thuật toán sắp xếp chèn, phần đã sắp xếp của mảng được xây dựng từ đâu?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 23: Trong thuật toán sắp xếp chọn, sau mỗi lần lặp của vòng lặp ngoài, điều gì được đảm bảo?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 24: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) có thể dừng sớm nhất nếu mảng đã được sắp xếp hoàn toàn ngay từ đầu?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 25: Một ưu điểm của thuật toán sắp xếp chọn so với sắp xếp chèn và nổi bọt là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 26: Tại sao các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt) thường không được sử dụng cho các tập dữ liệu rất lớn trong thực tế?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 27: Trong thuật toán sắp xếp nổi bọt, sau mỗi lần duyệt qua mảng (pass), phần tử nào được đảm bảo ở đúng vị trí cuối cùng của nó?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 28: Cho mảng G = [8, 5, 2, 9, 3]. Áp dụng thuật toán sắp xếp chèn. Sau khi hoàn thành việc chèn phần tử có giá trị 2 vào phần đã sắp xếp, mảng sẽ có trạng thái như thế nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 29: Thuật toán sắp xếp nào trong ba thuật toán đơn giản có thể được triển khai sao cho nó là thuật toán ổn định (stable)?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 03

Câu 30: Khi nào thì việc sử dụng một trong các thuật toán sắp xếp đơn giản (chèn, chọn, nổi bọt) có thể được chấp nhận hoặc thậm chí là lựa chọn tốt?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 04

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 04 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đưa về đầu.
  • B. So sánh và hoán đổi các cặp phần tử liền kề nếu sai thứ tự.
  • C. Chèn từng phần tử vào đúng vị trí trong phần mảng con đã sắp xếp.
  • D. Chia mảng thành hai nửa và sắp xếp độc lập.

Câu 2: Cho mảng A = [7, 3, 8, 1, 5]. Sau khi thực hiện xong pass thứ 2 của vòng lặp chính (tức là sau khi phần tử "8" đã được xử lý) trong thuật toán sắp xếp chèn (sắp xếp tăng dần), mảng A sẽ có trạng thái như thế nào?

  • A. [3, 7, 8, 1, 5]
  • B. [3, 7, 1, 8, 5]
  • C. [1, 3, 5, 7, 8]
  • D. [7, 3, 8, 1, 5]

Câu 3: Đối với một mảng có n phần tử đã được sắp xếp theo thứ tự tăng dần, số lượng phép so sánh phần tử cần thiết trong trường hợp tốt nhất của thuật toán sắp xếp chèn là bao nhiêu?

  • A. O(n^2)
  • B. n*(n-1)/2
  • C. 0
  • D. n-1

Câu 4: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. So sánh và hoán đổi các cặp phần tử liền kề nếu sai thứ tự.
  • B. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đưa về đúng vị trí.
  • C. Chèn từng phần tử vào đúng vị trí trong phần mảng con đã sắp xếp.
  • D. Chia mảng thành hai nửa và sắp xếp độc lập.

Câu 5: Cho mảng B = [6, 1, 8, 3, 5]. Sau khi thực hiện xong pass thứ 1 của vòng lặp chính trong thuật toán sắp xếp chọn (sắp xếp tăng dần), mảng B sẽ có trạng thái như thế nào?

  • A. [1, 3, 5, 6, 8]
  • B. [6, 1, 8, 3, 5]
  • C. [1, 6, 8, 3, 5]
  • D. [1, 3, 8, 6, 5]

Câu 6: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn (Selection Sort) là gì?

  • A. O(n)
  • B. O(n^2)
  • C. O(n log n)
  • D. O(1)

Câu 7: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. So sánh và hoán đổi các cặp phần tử liền kề nếu sai thứ tự.
  • B. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đưa về đúng vị trí.
  • C. Chèn từng phần tử vào đúng vị trí trong phần mảng con đã sắp xếp.
  • D. Chia mảng thành hai nửa và sắp xếp độc lập.

Câu 8: Cho mảng C = [4, 2, 7, 1, 5]. Sau khi thực hiện xong pass thứ 1 của vòng lặp chính trong thuật toán sắp xếp nổi bọt (sắp xếp tăng dần), mảng C sẽ có trạng thái như thế nào?

  • A. [1, 2, 4, 5, 7]
  • B. [2, 4, 1, 5, 7]
  • C. [4, 2, 7, 1, 5]
  • D. [2, 1, 4, 5, 7]

Câu 9: Trong trường hợp tốt nhất (mảng đã được sắp xếp), độ phức tạp thời gian của thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

  • A. O(n)
  • B. O(n^2)
  • C. O(n log n)
  • D. O(1)

Câu 10: So sánh giữa thuật toán sắp xếp chèn và sắp xếp chọn về số lượng phép hoán đổi (swap). Phát biểu nào sau đây là đúng?

  • A. Sắp xếp chèn luôn thực hiện ít phép hoán đổi hơn sắp xếp chọn.
  • B. Sắp xếp chọn luôn thực hiện nhiều phép hoán đổi hơn sắp xếp chèn.
  • C. Sắp xếp chọn thực hiện số lượng phép hoán đổi ít hơn đáng kể so với sắp xếp chèn và nổi bọt trong hầu hết các trường hợp.
  • D. Cả hai thuật toán đều thực hiện cùng số lượng phép hoán đổi.

Câu 11: Thuật toán nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) phù hợp nhất để sắp xếp một danh sách dữ liệu gần như đã được sắp xếp?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba đều có hiệu suất tương đương trong trường hợp này.

Câu 12: Phát biểu nào sau đây là SAI về thuật toán sắp xếp chọn (Selection Sort)?

  • A. Luôn có độ phức tạp thời gian O(n^2) trong cả trường hợp tốt nhất và xấu nhất.
  • B. Thực hiện số lượng phép hoán đổi tối thiểu so với Chèn và Nổi bọt.
  • C. Là một thuật toán sắp xếp tại chỗ (in-place).
  • D. Là một thuật toán sắp xếp ổn định (stable).

Câu 13: Thế nào là một thuật toán sắp xếp "ổn định" (stable)?

  • A. Thuật toán luôn chạy trong thời gian O(n log n).
  • B. Thuật toán giữ nguyên thứ tự ban đầu của các phần tử có giá trị bằng nhau.
  • C. Thuật toán chỉ sử dụng một lượng nhỏ bộ nhớ phụ.
  • D. Thuật toán hoàn thành việc sắp xếp sau một số pass cố định.

Câu 14: Trong ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt), thuật toán nào KHÔNG đảm bảo tính ổn định?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba thuật toán đều ổn định.

Câu 15: Một thuật toán sắp xếp được gọi là "tại chỗ" (in-place) nếu...

  • A. Nó chỉ sử dụng một lượng bộ nhớ phụ không đáng kể (thường là O(1)).
  • B. Nó luôn chạy trong thời gian O(n log n).
  • C. Nó giữ nguyên thứ tự ban đầu của các phần tử có giá trị bằng nhau.
  • D. Nó chia mảng thành các phần nhỏ hơn để sắp xếp.

Câu 16: Cả ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) đều là thuật toán "tại chỗ" (in-place). Điều này có ý nghĩa gì đối với việc sử dụng bộ nhớ của chúng?

  • A. Chúng cần bộ nhớ phụ tỷ lệ thuận với số lượng phần tử (O(n)).
  • B. Chúng cần bộ nhớ phụ tỷ lệ thuận với bình phương số lượng phần tử (O(n^2)).
  • C. Chúng chỉ cần một lượng bộ nhớ phụ cố định, không phụ thuộc vào kích thước mảng (O(1)).
  • D. Chúng cần bộ nhớ phụ cho việc đệ quy.

Câu 17: Giả sử bạn cần sắp xếp một mảng rất lớn nhưng bạn biết rằng mảng đó chỉ có một vài phần tử bị sai vị trí so với thứ tự đã sắp xếp. Thuật toán nào trong ba thuật toán đơn giản có khả năng cho hiệu suất tốt nhất trong trường hợp này?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Hiệu suất của cả ba đều như nhau trong trường hợp này.

Câu 18: Trong thuật toán sắp xếp chèn, khi chèn một phần tử vào phần mảng đã sắp xếp, các phần tử lớn hơn nó sẽ được dịch chuyển sang phải. Quá trình dịch chuyển này có mục đích gì?

  • A. Để hoán đổi vị trí phần tử đang xét với phần tử nhỏ nhất.
  • B. Để tạo không gian cho phần tử đang xét được chèn vào đúng vị trí.
  • C. Để đưa phần tử lớn nhất về cuối mảng.
  • D. Để kiểm tra xem mảng đã được sắp xếp hoàn toàn chưa.

Câu 19: Thuật toán sắp xếp nổi bọt được gọi là "nổi bọt" vì...

  • A. Nó sử dụng ít bộ nhớ nhất.
  • B. Nó có hiệu suất tốt nhất trong trường hợp tốt nhất.
  • C. Nó chèn từng phần tử vào vị trí đúng.
  • D. Các phần tử lớn hơn (hoặc nhỏ hơn) dần di chuyển đến vị trí cuối cùng (hoặc đầu tiên) sau mỗi pass.

Câu 20: Cho mảng D = [5, 2, 4, 6, 1, 3]. Áp dụng thuật toán sắp xếp chọn. Sau khi hoàn thành pass thứ 3 (tức là 3 phần tử đầu tiên đã được đặt đúng vị trí), mảng D sẽ trông như thế nào?

  • A. [1, 2, 3, 6, 5, 4]
  • B. [1, 2, 4, 5, 3, 6]
  • C. [1, 2, 3, 4, 5, 6]
  • D. [1, 2, 5, 6, 4, 3]

Câu 21: Mặc dù có độ phức tạp thời gian xấu nhất là O(n^2), thuật toán sắp xếp chèn vẫn có thể được ưu tiên sử dụng trong một số trường hợp thực tế. Trường hợp nào sau đây là ví dụ điển hình?

  • A. Sắp xếp một mảng rất lớn (hàng triệu phần tử) chưa sắp xếp.
  • B. Khi cần đảm bảo độ phức tạp thời gian luôn là O(n log n).
  • C. Khi cần sắp xếp dữ liệu trên các hệ thống phân tán.
  • D. Sắp xếp một tập dữ liệu nhỏ (ví dụ: dưới 20 phần tử) hoặc một tập dữ liệu gần như đã sắp xếp.

Câu 22: Xét mảng E = [8, 5, 2, 6, 9, 3]. Áp dụng thuật toán sắp xếp nổi bọt (sắp xếp tăng dần). Sau khi hoàn thành pass thứ 2 của vòng lặp chính, mảng E sẽ trông như thế nào?

  • A. [2, 3, 5, 6, 8, 9]
  • B. [2, 5, 3, 6, 8, 9]
  • C. [2, 5, 6, 3, 8, 9]
  • D. [5, 2, 6, 8, 3, 9]

Câu 23: Thuật toán nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) có số lượng phép so sánh cố định là n(n-1)/2 trong cả trường hợp tốt nhất và xấu nhất?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Không có thuật toán nào trong ba thuật toán này có tính chất đó.

Câu 24: Tại sao thuật toán sắp xếp chọn (Selection Sort) lại thực hiện ít phép hoán đổi hơn so với sắp xếp chèn (Insertion Sort) và sắp xếp nổi bọt (Bubble Sort) trong trường hợp xấu nhất?

  • A. Vì nó chỉ thực hiện một phép hoán đổi duy nhất sau khi tìm thấy phần tử nhỏ nhất trong mỗi pass.
  • B. Vì nó sử dụng bộ nhớ phụ ít hơn.
  • C. Vì nó có độ phức tạp thời gian tốt hơn.
  • D. Vì nó không cần so sánh các phần tử liền kề.

Câu 25: Bạn được yêu cầu sắp xếp một mảng dữ liệu có các phần tử trùng lặp và điều quan trọng là thứ tự ban đầu của các phần tử bằng nhau phải được giữ nguyên (tức là cần thuật toán ổn định). Thuật toán nào trong ba thuật toán đơn giản nên được ưu tiên?

  • A. Sắp xếp chọn
  • B. Cả ba thuật toán đều không đảm bảo tính ổn định.
  • C. Sắp xếp chọn hoặc Sắp xếp nổi bọt.
  • D. Sắp xếp chèn hoặc Sắp xếp nổi bọt.

Câu 26: Xét thuật toán sắp xếp nổi bọt. Nếu trong một pass của vòng lặp chính, không có bất kỳ cặp phần tử nào được hoán đổi, điều này có ý nghĩa gì?

  • A. Phần tử lớn nhất đã được đưa về cuối mảng.
  • B. Mảng đã được sắp xếp hoàn toàn và thuật toán có thể dừng lại.
  • C. Cần phải thực hiện thêm một pass nữa để kiểm tra.
  • D. Thuật toán đang ở trường hợp xấu nhất.

Câu 27: Thuật toán sắp xếp chèn có thể được coi là mô phỏng cách con người sắp xếp bài trong bộ bài khi chơi. Hãy phân tích sự tương đồng này.

  • A. Giống như việc cầm một bộ bài đã sắp xếp và lần lượt rút từng lá bài mới để chèn vào đúng vị trí trong bộ bài đang cầm.
  • B. Giống như việc tìm lá bài nhỏ nhất trong bộ bài chưa sắp xếp và đặt nó sang một bên.
  • C. Giống như việc so sánh từng cặp lá bài liền kề và đổi chỗ nếu cần.
  • D. Giống như việc chia bộ bài làm đôi và sắp xếp từng nửa.

Câu 28: Phát biểu nào sau đây là đúng khi so sánh hiệu suất của ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) trong trường hợp xấu nhất?

  • A. Sắp xếp chèn luôn nhanh hơn sắp xếp chọn và nổi bọt.
  • B. Cả ba thuật toán đều có độ phức tạp thời gian O(n^2).
  • C. Sắp xếp chọn là nhanh nhất trong ba thuật toán.
  • D. Sắp xếp nổi bọt là nhanh nhất trong ba thuật toán.

Câu 29: Giả sử bạn cần sắp xếp một mảng các đối tượng phức tạp (ví dụ: các bản ghi sinh viên) và chi phí cho mỗi lần hoán đổi (swap) là rất lớn. Thuật toán nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) nên được xem xét ưu tiên để giảm thiểu số lần hoán đổi?

  • A. Sắp xếp chèn
  • B. Sắp xếp chọn
  • C. Sắp xếp nổi bọt
  • D. Cả ba đều thực hiện số lượng hoán đổi tương đương.

Câu 30: Đâu là một trong những lý do chính khiến các thuật toán sắp xếp đơn giản như Chèn, Chọn, Nổi bọt ít được sử dụng cho các tập dữ liệu lớn trong thực tế so với các thuật toán phức tạp hơn (ví dụ: Merge Sort, Quick Sort)?

  • A. Độ phức tạp thời gian O(n^2) trong trường hợp xấu nhất/trung bình khiến chúng chậm với dữ liệu lớn.
  • B. Chúng yêu cầu quá nhiều bộ nhớ phụ.
  • C. Chúng không đảm bảo tính ổn định.
  • D. Chúng rất khó triển khai trên máy tính.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 2: Cho mảng A = [7, 3, 8, 1, 5]. Sau khi thực hiện xong pass thứ 2 của vòng lặp chính (tức là sau khi phần tử '8' đã được xử lý) trong thuật toán sắp xếp chèn (sắp xếp tăng dần), mảng A sẽ có trạng thái như thế nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 3: Đối với một mảng có n phần tử đã được sắp xếp theo thứ tự tăng dần, số lượng phép so sánh phần tử cần thiết trong trường hợp tốt nhất của thuật toán sắp xếp chèn là bao nhiêu?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 4: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 5: Cho mảng B = [6, 1, 8, 3, 5]. Sau khi thực hiện xong pass thứ 1 của vòng lặp chính trong thuật toán sắp xếp chọn (sắp xếp tăng dần), mảng B sẽ có trạng thái như thế nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 6: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn (Selection Sort) là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 7: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 8: Cho mảng C = [4, 2, 7, 1, 5]. Sau khi thực hiện xong pass thứ 1 của vòng lặp chính trong thuật toán sắp xếp nổi bọt (sắp xếp tăng dần), mảng C sẽ có trạng thái như thế nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 9: Trong trường hợp tốt nhất (mảng đã được sắp xếp), độ phức tạp thời gian của thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 10: So sánh giữa thuật toán sắp xếp chèn và sắp xếp chọn về số lượng phép hoán đổi (swap). Phát biểu nào sau đây là đúng?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 11: Thuật toán nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) phù hợp nhất để sắp xếp một danh sách dữ liệu gần như đã được sắp xếp?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 12: Phát biểu nào sau đây là SAI về thuật toán sắp xếp chọn (Selection Sort)?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 13: Thế nào là một thuật toán sắp xếp 'ổn định' (stable)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 14: Trong ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt), thuật toán nào KHÔNG đảm bảo tính ổn định?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 15: Một thuật toán sắp xếp được gọi là 'tại chỗ' (in-place) nếu...

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 16: Cả ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) đều là thuật toán 'tại chỗ' (in-place). Điều này có ý nghĩa gì đối với việc sử dụng bộ nhớ của chúng?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 17: Giả sử bạn cần sắp xếp một mảng rất lớn nhưng bạn biết rằng mảng đó chỉ có một vài phần tử bị sai vị trí so với thứ tự đã sắp xếp. Thuật toán nào trong ba thuật toán đơn giản có khả năng cho hiệu suất tốt nhất trong trường hợp này?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 18: Trong thuật toán sắp xếp chèn, khi chèn một phần tử vào phần mảng đã sắp xếp, các phần tử lớn hơn nó sẽ được dịch chuyển sang phải. Quá trình dịch chuyển này có mục đích gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 19: Thuật toán sắp xếp nổi bọt được gọi là 'nổi bọt' vì...

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 20: Cho mảng D = [5, 2, 4, 6, 1, 3]. Áp dụng thuật toán sắp xếp chọn. Sau khi hoàn thành pass thứ 3 (tức là 3 phần tử đầu tiên đã được đặt đúng vị trí), mảng D sẽ trông như thế nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 21: Mặc dù có độ phức tạp thời gian xấu nhất là O(n^2), thuật toán sắp xếp chèn vẫn có thể được ưu tiên sử dụng trong một số trường hợp thực tế. Trường hợp nào sau đây là ví dụ điển hình?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 22: Xét mảng E = [8, 5, 2, 6, 9, 3]. Áp dụng thuật toán sắp xếp nổi bọt (sắp xếp tăng dần). Sau khi hoàn thành pass thứ 2 của vòng lặp chính, mảng E sẽ trông như thế nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 23: Thuật toán nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) có số lượng phép so sánh cố định là n(n-1)/2 trong cả trường hợp tốt nhất và xấu nhất?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 24: Tại sao thuật toán sắp xếp chọn (Selection Sort) lại thực hiện ít phép hoán đổi hơn so với sắp xếp chèn (Insertion Sort) và sắp xếp nổi bọt (Bubble Sort) trong trường hợp xấu nhất?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 25: Bạn được yêu cầu sắp xếp một mảng dữ liệu có các phần tử trùng lặp và điều quan trọng là thứ tự ban đầu của các phần tử bằng nhau phải được giữ nguyên (tức là cần thuật toán ổn định). Thuật toán nào trong ba thuật toán đơn giản nên được ưu tiên?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 26: Xét thuật toán sắp xếp nổi bọt. Nếu trong một pass của vòng lặp chính, không có bất kỳ cặp phần tử nào được hoán đổi, điều này có ý nghĩa gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 27: Thuật toán sắp xếp chèn có thể được coi là mô phỏng cách con người sắp xếp bài trong bộ bài khi chơi. Hãy phân tích sự tương đồng này.

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 28: Phát biểu nào sau đây là đúng khi so sánh hiệu suất của ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) trong trường hợp xấu nhất?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 29: Giả sử bạn cần sắp xếp một mảng các đối tượng phức tạp (ví dụ: các bản ghi sinh viên) và chi phí cho mỗi lần hoán đổi (swap) là rất lớn. Thuật toán nào trong ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) nên được xem xét ưu tiên để giảm thiểu số lần hoán đổi?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 04

Câu 30: Đâu là một trong những lý do chính khiến các thuật toán sắp xếp đơn giản như Chèn, Chọn, Nổi bọt ít được sử dụng cho các tập dữ liệu lớn trong thực tế so với các thuật toán phức tạp hơn (ví dụ: Merge Sort, Quick Sort)?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 05

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 05 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Khi thực hiện thuật toán sắp xếp chèn (Insertion Sort) trên dãy số [5, 2, 8, 1, 9], sau khi xử lý xong phần tử thứ 3 (số 8), dãy số sẽ có trạng thái như thế nào? (Giả sử dãy con đã sắp xếp ban đầu chỉ gồm phần tử đầu tiên)

  • A. [2, 5, 1, 8, 9]
  • B. [1, 2, 5, 8, 9]
  • C. [2, 5, 8, 1, 9]
  • D. [5, 2, 8, 1, 9]

Câu 2: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. So sánh các phần tử kề nhau và hoán đổi nếu sai thứ tự.
  • B. Tìm phần tử nhỏ nhất (hoặc lớn nhất) trong phần chưa được sắp xếp và đưa về đúng vị trí.
  • C. Chèn từng phần tử vào vị trí thích hợp trong dãy con đã sắp xếp.
  • D. Chia dãy thành hai nửa và sắp xếp đệ quy từng nửa.

Câu 3: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp nổi bọt (Bubble Sort) là O(n^2). Điều này có ý nghĩa gì đối với hiệu suất của thuật toán khi xử lý một dãy dữ liệu rất lớn?

  • A. Thời gian chạy tăng lên rất nhanh (tỉ lệ với bình phương số lượng phần tử), khiến thuật toán trở nên chậm chạp.
  • B. Thời gian chạy tăng tuyến tính với số lượng phần tử, thuật toán vẫn hiệu quả.
  • C. Thuật toán đạt hiệu suất cao nhất khi dữ liệu lớn.
  • D. Độ phức tạp O(n^2) chỉ xảy ra trong trường hợp dữ liệu đã được sắp xếp.

Câu 4: Giả sử bạn có một dãy dữ liệu gần như đã được sắp xếp. Thuật toán sắp xếp đơn giản nào sau đây có khả năng cho hiệu suất tốt nhất trong trường hợp này?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp nổi bọt (Bubble Sort) mà không có cờ tối ưu hóa
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Tất cả đều có hiệu suất tương đương O(n^2).

Câu 5: Khi sắp xếp dãy số [7, 4, 1, 9, 3] bằng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, trạng thái của dãy sau khi hoàn thành vòng lặp ngoài thứ nhất (tức là sau khi phần tử nhỏ nhất được đưa về vị trí đầu tiên) là gì?

  • A. [4, 7, 1, 9, 3]
  • B. [1, 4, 7, 9, 3]
  • C. [1, 7, 4, 9, 3]
  • D. [3, 4, 1, 9, 7]

Câu 6: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) được coi là "ổn định" (stable)? (Thuật toán ổn định giữ nguyên thứ tự tương đối của các phần tử bằng nhau).

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp nổi bọt (Bubble Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Sắp xếp nổi bọt và Sắp xếp chèn.

Câu 7: Xét thuật toán sắp xếp nổi bọt (Bubble Sort). Phát biểu nào sau đây mô tả đúng nhất công việc của vòng lặp bên trong (inner loop) trong mỗi bước của vòng lặp bên ngoài (outer loop)?

  • A. Duyệt qua phần chưa sắp xếp của dãy, so sánh các cặp phần tử liền kề và đưa phần tử lớn nhất về cuối phần chưa sắp xếp.
  • B. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và hoán đổi nó với phần tử đầu tiên của phần chưa sắp xếp.
  • C. Chèn phần tử hiện tại vào vị trí đúng trong phần đã sắp xếp.
  • D. Chia dãy thành hai nửa và sắp xếp từng nửa.

Câu 8: Tại sao thuật toán sắp xếp chọn (Selection Sort) luôn có độ phức tạp thời gian O(n^2) ở cả trường hợp tốt nhất, xấu nhất và trung bình?

  • A. Vì số lần hoán đổi luôn là n-1.
  • B. Vì thuật toán sử dụng kỹ thuật chia để trị.
  • C. Vì thuật toán luôn phải duyệt qua toàn bộ phần chưa sắp xếp để tìm phần tử nhỏ nhất trong mỗi bước, bất kể trạng thái ban đầu của dãy.
  • D. Vì nó là thuật toán ổn định.

Câu 9: Thuật toán sắp xếp chèn (Insertion Sort) có thể được triển khai để dừng sớm nếu dãy đã được sắp xếp. Điều này dẫn đến độ phức tạp thời gian tốt nhất là O(n). Điều kiện để thuật toán dừng sớm (với cờ tối ưu hóa) là gì?

  • A. Khi vòng lặp bên ngoài hoàn thành.
  • B. Khi trong một lần duyệt qua phần chưa sắp xếp, không có bất kỳ sự dịch chuyển hoặc hoán đổi nào được thực hiện.
  • C. Khi phần tử đang chèn nhỏ hơn tất cả các phần tử trong phần đã sắp xếp.
  • D. Khi số lần so sánh đạt đến n-1.

Câu 10: So sánh sắp xếp nổi bọt (Bubble Sort) và sắp xếp chèn (Insertion Sort). Điểm khác biệt cơ bản trong cách chúng xử lý các phần tử để đưa về đúng vị trí là gì?

  • A. Bubble Sort sử dụng hoán đổi, còn Insertion Sort sử dụng dịch chuyển.
  • B. Bubble Sort đưa phần tử lớn nhất về cuối, còn Insertion Sort đưa phần tử nhỏ nhất về đầu.
  • C. Bubble Sort tập trung vào việc đẩy phần tử lớn nhất (hoặc nhỏ nhất) đến đúng vị trí bằng cách so sánh kề nhau, trong khi Insertion Sort tập trung vào việc đặt từng phần tử vào vị trí thích hợp trong dãy con đã sắp xếp.
  • D. Bubble Sort hiệu quả với dữ liệu gần sắp xếp, còn Insertion Sort không.

Câu 11: Cho dãy số [6, 3, 8, 2]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần. Trạng thái của dãy sau khi hoàn thành lần duyệt đầu tiên của vòng lặp bên ngoài là gì?

  • A. [3, 6, 2, 8]
  • B. [6, 3, 8, 2]
  • C. [2, 3, 6, 8]
  • D. [3, 2, 6, 8]

Câu 12: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) thực hiện số lượng phép hoán đổi (swap) ít nhất trong trường hợp trung bình và xấu nhất?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp nổi bọt (Bubble Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba đều thực hiện số lượng hoán đổi tương đương.

Câu 13: Tại sao thuật toán sắp xếp chèn (Insertion Sort) lại được coi là hiệu quả cho các dãy dữ liệu có kích thước nhỏ, mặc dù độ phức tạp thời gian xấu nhất là O(n^2)?

  • A. Vì nó có độ phức tạp không gian O(1).
  • B. Vì số phép so sánh luôn ít hơn các thuật toán khác.
  • C. Vì nó luôn ổn định.
  • D. Vì hằng số ẩn trong ký hiệu O lớn (big O) nhỏ, và số phép so sánh/dịch chuyển thực tế ít hơn O(n^2) đáng kể trong trường hợp trung bình hoặc gần sắp xếp, làm cho nó nhanh hơn các thuật toán O(n^2) khác trên dữ liệu nhỏ.

Câu 14: Trong thuật toán sắp xếp chèn (Insertion Sort), khi chèn một phần tử vào dãy con đã sắp xếp, các phần tử lớn hơn nó sẽ được xử lý như thế nào để tạo chỗ trống?

  • A. Chúng bị loại bỏ.
  • B. Chúng được dịch chuyển sang phải một vị trí.
  • C. Chúng được hoán đổi với phần tử đang chèn.
  • D. Chúng được dịch chuyển sang trái một vị trí.

Câu 15: Một nhà phát triển cần chọn một thuật toán sắp xếp đơn giản để sử dụng trong một ứng dụng nhúng trên thiết bị có bộ nhớ rất hạn chế. Tiêu chí quan trọng nhất là bộ nhớ phụ sử dụng phải tối thiểu. Thuật toán nào trong ba thuật toán đơn giản là phù hợp nhất?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba thuật toán (Nổi bọt, Chọn, Chèn) đều là thuật toán "tại chỗ" (in-place) và sử dụng bộ nhớ phụ O(1), nên đều phù hợp về mặt không gian bộ nhớ.

Câu 16: Xét dãy số [10, 9, 8, 7]. Nếu sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort) có cờ tối ưu hóa để sắp xếp tăng dần, thuật toán sẽ dừng lại sau bao nhiêu lần duyệt qua toàn bộ dãy (vòng lặp bên ngoài)?

  • A. 1 lần
  • B. 3 lần
  • C. 4 lần
  • D. 6 lần

Câu 17: Trong thuật toán sắp xếp chọn (Selection Sort), tại sao phần tử nhỏ nhất của phần chưa sắp xếp luôn được đặt ở vị trí đầu tiên của phần đó trong mỗi bước lặp?

  • A. Vì nó được so sánh với tất cả các phần tử khác và hoán đổi nếu nhỏ hơn.
  • B. Vì nó được chèn vào vị trí đầu tiên của dãy.
  • C. Vì vị trí đầu tiên của phần chưa sắp xếp chính là vị trí đúng của phần tử nhỏ nhất trong toàn bộ dãy sau khi hoàn thành bước đó.
  • D. Vì thuật toán luôn hoán đổi phần tử đầu tiên với phần tử cuối cùng của phần chưa sắp xếp.

Câu 18: Sự khác biệt chính về hiệu suất giữa sắp xếp chèn (Insertion Sort) và sắp xếp chọn (Selection Sort) nằm ở đâu?

  • A. Sắp xếp chèn có thể có hiệu suất tốt hơn đáng kể (O(n)) trong trường hợp tốt nhất (dãy gần sắp xếp), trong khi sắp xếp chọn luôn là O(n^2).
  • B. Sắp xếp chọn sử dụng ít bộ nhớ hơn sắp xếp chèn.
  • C. Sắp xếp chèn thực hiện ít phép so sánh hơn sắp xếp chọn trong mọi trường hợp.
  • D. Sắp xếp chọn là thuật toán ổn định, còn sắp xếp chèn thì không.

Câu 19: Khi phân tích độ phức tạp của thuật toán sắp xếp chèn (Insertion Sort), số lượng phép so sánh trong trường hợp xấu nhất (dãy sắp xếp ngược) là bao nhiêu?

  • A. O(n)
  • B. Khoảng n(n-1)/2, tức là O(n^2)
  • C. O(n log n)
  • D. O(1)

Câu 20: Xét dãy số [4, 1, 3, 2]. Sau khi thực hiện 2 lần duyệt đầu tiên của vòng lặp bên ngoài bằng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần, dãy số sẽ trông như thế nào?

  • A. [1, 2, 3, 4]
  • B. [1, 3, 2, 4]
  • C. [1, 3, 2, 4] (sau lần 1: [1, 3, 2, 4], sau lần 2: [1, 3, 2, 4])
  • D. [4, 1, 3, 2]

Câu 21: Giả sử bạn cần sắp xếp một danh sách các đối tượng phức tạp (ví dụ: hồ sơ sinh viên), mà việc hoán đổi chúng tốn kém nhiều thời gian và tài nguyên hơn việc so sánh. Thuật toán sắp xếp đơn giản nào trong ba loại có lợi thế hơn về số lượng phép hoán đổi?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp nổi bọt (Bubble Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba đều thực hiện số lượng hoán đổi tương đương trong trường hợp xấu nhất.

Câu 22: Phát biểu nào sau đây SAI về thuật toán sắp xếp chèn (Insertion Sort)?

  • A. Nó là thuật toán ổn định (stable).
  • B. Nó là thuật toán tại chỗ (in-place).
  • C. Độ phức tạp thời gian tốt nhất là O(n).
  • D. Số lượng phép hoán đổi luôn là O(n^2) trong trường hợp xấu nhất.

Câu 23: Khi áp dụng thuật toán sắp xếp chèn (Insertion Sort) trên dãy [5, 1, 4, 2, 8] để sắp xếp tăng dần, sau khi xử lý xong phần tử thứ 4 (số 2), dãy con đã sắp xếp (từ đầu đến vị trí hiện tại) sẽ là:

  • A. [1, 4, 5, 2, 8]
  • B. [1, 2, 4, 5, 8]
  • C. [1, 4, 2, 5, 8]
  • D. [2, 1, 4, 5, 8]

Câu 24: Tại sao thuật toán sắp xếp nổi bọt (Bubble Sort) lại được gọi là "nổi bọt"?

  • A. Vì các phần tử nhỏ nhất dần "nổi" lên đầu dãy.
  • B. Vì nó sử dụng bọt khí để sắp xếp.
  • C. Vì các phần tử lớn nhất dần "nổi" (di chuyển) lên vị trí cuối cùng của phần chưa sắp xếp sau mỗi lần duyệt.
  • D. Vì nó có độ phức tạp thời gian "nổi" rất nhanh khi dữ liệu lớn.

Câu 25: Trong các trường hợp nào sau đây, thuật toán sắp xếp chèn (Insertion Sort) có thể là lựa chọn tốt hơn so với sắp xếp chọn (Selection Sort) hoặc nổi bọt (Bubble Sort)?

  • A. Khi cần đảm bảo số lượng hoán đổi là tối thiểu.
  • B. Khi dữ liệu hoàn toàn ngẫu nhiên và kích thước rất lớn.
  • C. Khi tốc độ là yếu tố quan trọng nhất và bộ nhớ không hạn chế.
  • D. Khi dữ liệu đầu vào được đảm bảo là gần như đã được sắp xếp.

Câu 26: Xét dãy số [9, 5, 2, 7]. Áp dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần. Trạng thái của dãy sau khi hoàn thành vòng lặp ngoài thứ hai là gì?

  • A. [2, 5, 9, 7]
  • B. [2, 5, 7, 9]
  • C. [2, 9, 5, 7]
  • D. [5, 2, 9, 7]

Câu 27: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) có thể được mô tả là xây dựng dần một dãy con đã sắp xếp từ đầu dãy?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba đều làm như vậy.

Câu 28: Phát biểu nào sau đây là một nhược điểm đáng kể của thuật toán sắp xếp nổi bọt (Bubble Sort) so với các thuật toán sắp xếp hiệu quả hơn (như Quick Sort, Merge Sort - dù không thuộc bài này)?

  • A. Hiệu suất kém (O(n^2) trong trường hợp xấu nhất và trung bình) trên các tập dữ liệu lớn.
  • B. Sử dụng quá nhiều bộ nhớ phụ.
  • C. Không phải là thuật toán ổn định.
  • D. Rất khó cài đặt.

Câu 29: Khi so sánh thuật toán sắp xếp chọn (Selection Sort) và sắp xếp nổi bọt (Bubble Sort) trên một dãy ngẫu nhiên có kích thước N, số lượng phép so sánh mà chúng thực hiện trong trường hợp trung bình là:

  • A. Selection Sort ít hơn Bubble Sort.
  • B. Bubble Sort ít hơn Selection Sort.
  • C. Cả hai đều thực hiện số lượng phép so sánh tương đương O(N log N).
  • D. Cả hai đều thực hiện số lượng phép so sánh tương đương O(N^2).

Câu 30: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) luôn đảm bảo rằng sau mỗi bước lặp của vòng lặp bên ngoài, phần tử ở vị trí cuối cùng của phần đã được xử lý (phần bên trái) là phần tử nhỏ nhất trong toàn bộ dãy?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Không có thuật toán nào trong ba loại này đảm bảo điều đó.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 1: Khi thực hiện thuật toán sắp xếp chèn (Insertion Sort) trên dãy số [5, 2, 8, 1, 9], sau khi xử lý xong phần tử thứ 3 (số 8), dãy số sẽ có trạng thái như thế nào? (Giả sử dãy con đã sắp xếp ban đầu chỉ gồm phần tử đầu tiên)

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 2: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 3: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp nổi bọt (Bubble Sort) là O(n^2). Điều này có ý nghĩa gì đối với hiệu suất của thuật toán khi xử lý một dãy dữ liệu rất lớn?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 4: Giả sử bạn có một dãy dữ liệu gần như đã được sắp xếp. Thuật toán sắp xếp đơn giản nào sau đây có khả năng cho hiệu suất tốt nhất trong trường hợp này?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 5: Khi sắp xếp dãy số [7, 4, 1, 9, 3] bằng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, trạng thái của dãy sau khi hoàn thành vòng lặp ngoài thứ nhất (tức là sau khi phần tử nhỏ nhất được đưa về vị trí đầu tiên) là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 6: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) được coi là 'ổn định' (stable)? (Thuật toán ổn định giữ nguyên thứ tự tương đối của các phần tử bằng nhau).

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 7: Xét thuật toán sắp xếp nổi bọt (Bubble Sort). Phát biểu nào sau đây mô tả đúng nhất công việc của vòng lặp bên trong (inner loop) trong mỗi bước của vòng lặp bên ngoài (outer loop)?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 8: Tại sao thuật toán sắp xếp chọn (Selection Sort) luôn có độ phức tạp thời gian O(n^2) ở cả trường hợp tốt nhất, xấu nhất và trung bình?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 9: Thuật toán sắp xếp chèn (Insertion Sort) có thể được triển khai để dừng sớm nếu dãy đã được sắp xếp. Điều này dẫn đến độ phức tạp thời gian tốt nhất là O(n). Điều kiện để thuật toán dừng sớm (với cờ tối ưu hóa) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 10: So sánh sắp xếp nổi bọt (Bubble Sort) và sắp xếp chèn (Insertion Sort). Điểm khác biệt cơ bản trong cách chúng xử lý các phần tử để đưa về đúng vị trí là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 11: Cho dãy số [6, 3, 8, 2]. Áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần. Trạng thái của dãy sau khi hoàn thành *lần duyệt đầu tiên* của vòng lặp bên ngoài là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 12: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) thực hiện số lượng phép hoán đổi (swap) ít nhất trong trường hợp trung bình và xấu nhất?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 13: Tại sao thuật toán sắp xếp chèn (Insertion Sort) lại được coi là hiệu quả cho các dãy dữ liệu có kích thước nhỏ, mặc dù độ phức tạp thời gian xấu nhất là O(n^2)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 14: Trong thuật toán sắp xếp chèn (Insertion Sort), khi chèn một phần tử vào dãy con đã sắp xếp, các phần tử lớn hơn nó sẽ được xử lý như thế nào để tạo chỗ trống?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 15: Một nhà phát triển cần chọn một thuật toán sắp xếp đơn giản để sử dụng trong một ứng dụng nhúng trên thiết bị có bộ nhớ rất hạn chế. Tiêu chí quan trọng nhất là bộ nhớ phụ sử dụng phải tối thiểu. Thuật toán nào trong ba thuật toán đơn giản là phù hợp nhất?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 16: Xét dãy số [10, 9, 8, 7]. Nếu sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort) có cờ tối ưu hóa để sắp xếp tăng dần, thuật toán sẽ dừng lại sau bao nhiêu lần duyệt qua toàn bộ dãy (vòng lặp bên ngoài)?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 17: Trong thuật toán sắp xếp chọn (Selection Sort), tại sao phần tử nhỏ nhất của phần chưa sắp xếp luôn được đặt ở vị trí đầu tiên của phần đó trong mỗi bước lặp?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 18: Sự khác biệt chính về hiệu suất giữa sắp xếp chèn (Insertion Sort) và sắp xếp chọn (Selection Sort) nằm ở đâu?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 19: Khi phân tích độ phức tạp của thuật toán sắp xếp chèn (Insertion Sort), số lượng phép so sánh trong trường hợp xấu nhất (dãy sắp xếp ngược) là bao nhiêu?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 20: Xét dãy số [4, 1, 3, 2]. Sau khi thực hiện 2 lần duyệt đầu tiên của vòng lặp bên ngoài bằng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần, dãy số sẽ trông như thế nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 21: Giả sử bạn cần sắp xếp một danh sách các đối tượng phức tạp (ví dụ: hồ sơ sinh viên), mà việc hoán đổi chúng tốn kém nhiều thời gian và tài nguyên hơn việc so sánh. Thuật toán sắp xếp đơn giản nào trong ba loại có lợi thế hơn về số lượng phép hoán đổi?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 22: Phát biểu nào sau đây SAI về thuật toán sắp xếp chèn (Insertion Sort)?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 23: Khi áp dụng thuật toán sắp xếp chèn (Insertion Sort) trên dãy [5, 1, 4, 2, 8] để sắp xếp tăng dần, sau khi xử lý xong phần tử thứ 4 (số 2), dãy con đã sắp xếp (từ đầu đến vị trí hiện tại) sẽ là:

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 24: Tại sao thuật toán sắp xếp nổi bọt (Bubble Sort) lại được gọi là 'nổi bọt'?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 25: Trong các trường hợp nào sau đây, thuật toán sắp xếp chèn (Insertion Sort) có thể là lựa chọn tốt hơn so với sắp xếp chọn (Selection Sort) hoặc nổi bọt (Bubble Sort)?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 26: Xét dãy số [9, 5, 2, 7]. Áp dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần. Trạng thái của dãy sau khi hoàn thành vòng lặp ngoài thứ hai là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 27: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) có thể được mô tả là xây dựng dần một dãy con đã sắp xếp từ đầu dãy?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 28: Phát biểu nào sau đây là một nhược điểm đáng kể của thuật toán sắp xếp nổi bọt (Bubble Sort) so với các thuật toán sắp xếp hiệu quả hơn (như Quick Sort, Merge Sort - dù không thuộc bài này)?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 29: Khi so sánh thuật toán sắp xếp chọn (Selection Sort) và sắp xếp nổi bọt (Bubble Sort) trên một dãy ngẫu nhiên có kích thước N, số lượng phép so sánh mà chúng thực hiện trong trường hợp trung bình là:

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 05

Câu 30: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) luôn đảm bảo rằng sau mỗi bước lặp của vòng lặp bên ngoài, phần tử ở vị trí cuối cùng của phần đã được xử lý (phần bên trái) là phần tử nhỏ nhất trong toàn bộ dãy?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 06

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 06 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Ý tưởng cốt lõi của thuật toán sắp xếp chèn (Insertion Sort) là gì?

  • A. Tìm phần tử nhỏ nhất trong mảng chưa sắp xếp và đổi chỗ với phần tử đầu tiên của mảng chưa sắp xếp.
  • B. So sánh các phần tử liền kề và đổi chỗ nếu chúng sai thứ tự, lặp lại cho đến khi không còn cần đổi chỗ.
  • C. Xây dựng mảng đã sắp xếp từng bước bằng cách chèn mỗi phần tử từ mảng đầu vào vào đúng vị trí của nó trong phần đã sắp xếp.
  • D. Chia mảng thành hai nửa, sắp xếp từng nửa, sau đó trộn hai nửa đã sắp xếp lại.

Câu 2: Khi áp dụng thuật toán sắp xếp chèn cho mảng A = [5, 2, 8, 1, 9], sau khi phần tử "2" được chèn vào đúng vị trí, mảng A sẽ có trạng thái như thế nào?

  • A. [2, 5, 8, 1, 9]
  • B. [2, 5, 8, 1, 9]
  • C. [5, 2, 8, 1, 9]
  • D. [1, 2, 5, 8, 9]

Câu 3: Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp chèn là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 4: Điều kiện nào của mảng đầu vào dẫn đến trường hợp xấu nhất về thời gian thực hiện của thuật toán sắp xếp chèn?

  • A. Mảng đã được sắp xếp theo thứ tự tăng dần.
  • B. Tất cả các phần tử trong mảng đều giống nhau.
  • C. Mảng là ngẫu nhiên hoàn toàn.
  • D. Mảng đã được sắp xếp theo thứ tự giảm dần.

Câu 5: Ý tưởng cốt lõi của thuật toán sắp xếp chọn (Selection Sort) là gì?

  • A. Tại mỗi bước, tìm phần tử nhỏ nhất trong phần mảng chưa được sắp xếp và đổi chỗ nó với phần tử đầu tiên của phần mảng chưa sắp xếp đó.
  • B. Tại mỗi bước, chèn phần tử hiện tại vào đúng vị trí trong phần mảng đã được sắp xếp.
  • C. Lặp đi lặp lại việc so sánh và đổi chỗ các phần tử liền kề nếu chúng sai thứ tự.
  • D. Chia mảng thành các mảng con nhỏ hơn và sắp xếp chúng một cách đệ quy.

Câu 6: Khi áp dụng thuật toán sắp xếp chọn cho mảng A = [6, 4, 1, 8, 3], sau vòng lặp đầu tiên (khi phần tử nhỏ nhất đã được đưa về đầu mảng), mảng A sẽ có trạng thái như thế nào?

  • A. [1, 3, 4, 6, 8]
  • B. [6, 4, 1, 8, 3]
  • C. [1, 4, 6, 8, 3]
  • D. [1, 4, 3, 8, 6]

Câu 7: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(n!)

Câu 8: Số lượng phép so sánh của thuật toán sắp xếp chọn trên một mảng có n phần tử là bao nhiêu trong trường hợp tổng quát?

  • A. n - 1
  • B. n * log(n)
  • C. n^2
  • D. Khoảng n^2 / 2

Câu 9: Ý tưởng cốt lõi của thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

  • A. Tìm phần tử nhỏ nhất và đưa về đầu mảng.
  • B. Chèn phần tử vào đúng vị trí trong mảng con đã sắp xếp.
  • C. Chia mảng và trộn các mảng con đã sắp xếp.
  • D. Lặp đi lặp lại việc so sánh và đổi chỗ các phần tử liền kề sai thứ tự.

Câu 10: Khi áp dụng thuật toán sắp xếp nổi bọt cho mảng A = [7, 1, 5, 2, 4], sau pass (lượt duyệt) đầu tiên, mảng A sẽ có trạng thái như thế nào?

  • A. [1, 5, 2, 4, 7]
  • B. [1, 2, 4, 5, 7]
  • C. [7, 1, 5, 2, 4]
  • D. [1, 7, 5, 2, 4]

Câu 11: Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp nổi bọt có sử dụng cờ hiệu (flag) để dừng sớm là gì?

  • A. O(n log n)
  • B. O(n)
  • C. O(n^2)
  • D. O(1)

Câu 12: Thuật toán sắp xếp nào trong số các thuật toán đơn giản (chèn, chọn, nổi bọt) luôn có độ phức tạp thời gian O(n^2) bất kể dữ liệu đầu vào?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán.

Câu 13: Thuật toán sắp xếp nào trong ba thuật toán đơn giản được coi là "ổn định" (stable), tức là giữ nguyên thứ tự tương đối của các phần tử bằng nhau?

  • A. Chỉ Sắp xếp chọn.
  • B. Chỉ Sắp xếp nổi bọt.
  • C. Chỉ Sắp xếp chèn.
  • D. Sắp xếp chèn và Sắp xếp nổi bọt.

Câu 14: Khi sắp xếp một mảng có kích thước nhỏ (ví dụ n < 20), thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) thường cho hiệu quả tốt nhất trong thực tế và tại sao?

  • A. Sắp xếp chèn, vì chi phí hằng số nhỏ.
  • B. Sắp xếp chọn, vì số lần đổi chỗ ít nhất.
  • C. Sắp xếp nổi bọt, vì ý tưởng đơn giản dễ cài đặt.
  • D. Cả ba đều có hiệu quả tương đương nhau với mảng nhỏ.

Câu 15: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) thực hiện số lượng phép đổi chỗ (swap) ít nhất trong trường hợp tổng quát?

  • A. Sắp xếp chèn.
  • B. Sắp xếp nổi bọt.
  • C. Sắp xếp chọn.
  • D. Cả ba đều thực hiện số lượng đổi chỗ tương đương.

Câu 16: Cho mảng A = [4, 1, 3, 2]. Hãy mô tả trạng thái của mảng A sau khi thuật toán sắp xếp chèn hoàn thành bước chèn phần tử thứ 3 (giá trị 3) vào đúng vị trí trong phần đã sắp xếp.

  • A. [1, 4, 3, 2]
  • B. [1, 3, 4, 2]
  • C. [3, 1, 4, 2]
  • D. [1, 2, 3, 4]

Câu 17: Cho mảng A = [9, 5, 2, 7]. Hãy mô tả trạng thái của mảng A sau khi thuật toán sắp xếp chọn hoàn thành bước thứ hai (tìm phần tử nhỏ nhất trong phần còn lại và đổi chỗ).

  • A. [2, 5, 9, 7]
  • B. [2, 5, 7, 9]
  • C. [2, 9, 5, 7]
  • D. [5, 2, 9, 7]

Câu 18: Cho mảng A = [3, 1, 4, 2]. Hãy mô tả trạng thái của mảng A sau khi thuật toán sắp xếp nổi bọt hoàn thành pass thứ hai.

  • A. [1, 3, 2, 4]
  • B. [1, 2, 3, 4]
  • C. [1, 2, 3, 4]
  • D. [3, 1, 2, 4]

Câu 19: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) là thuật toán "tại chỗ" (in-place), nghĩa là không yêu cầu bộ nhớ phụ đáng kể ngoài mảng đầu vào?

  • A. Chỉ Sắp xếp chèn.
  • B. Chỉ Sắp xếp chọn.
  • C. Chỉ Sắp xếp nổi bọt.
  • D. Cả ba thuật toán.

Câu 20: Giả sử bạn cần sắp xếp một danh sách các đối tượng phức tạp mà chi phí cho mỗi lần đổi chỗ (swap) rất cao. Thuật toán nào trong ba thuật toán đơn giản nên được ưu tiên sử dụng để giảm thiểu số lần đổi chỗ?

  • A. Sắp xếp chèn.
  • B. Sắp xếp chọn.
  • C. Sắp xếp nổi bọt.
  • D. Không có thuật toán nào trong ba loại này phù hợp.

Câu 21: Cho một mảng có n phần tử. Trong trường hợp xấu nhất, thuật toán sắp xếp chèn thực hiện khoảng bao nhiêu phép so sánh?

  • A. n - 1
  • B. n * log(n)
  • C. (n * (n - 1)) / 2
  • D. n

Câu 22: Cho một mảng có n phần tử. Thuật toán sắp xếp chọn thực hiện khoảng bao nhiêu phép đổi chỗ (swap) trong trường hợp tổng quát?

  • A. n - 1
  • B. n * log(n)
  • C. (n * (n - 1)) / 2
  • D. n^2

Câu 23: Tại sao thuật toán sắp xếp nổi bọt (không có cờ hiệu tối ưu) luôn có độ phức tạp thời gian O(n^2) trong trường hợp xấu nhất?

  • A. Vì nó chỉ thực hiện n-1 lần đổi chỗ.
  • B. Vì số lần so sánh giảm dần sau mỗi pass.
  • C. Vì nó chỉ cần một pass duy nhất.
  • D. Vì nó phải thực hiện khoảng n/2 pass, mỗi pass thực hiện khoảng n lần so sánh.

Câu 24: Giả sử bạn có một mảng rất lớn nhưng đã được sắp xếp gần hết, chỉ có một vài phần tử nằm sai vị trí. Thuật toán nào trong ba thuật toán đơn giản có khả năng hoạt động hiệu quả nhất trong trường hợp này?

  • A. Sắp xếp chèn.
  • B. Sắp xếp chọn.
  • C. Sắp xếp nổi bọt (không có cờ hiệu).
  • D. Cả ba đều có hiệu quả như nhau.

Câu 25: Phát biểu nào sau đây là SAI về thuật toán sắp xếp chọn?

  • A. Nó luôn thực hiện n-1 lần đổi chỗ.
  • B. Số lượng phép so sánh của nó không phụ thuộc vào thứ tự ban đầu của các phần tử.
  • C. Nó là một thuật toán sắp xếp ổn định (stable).
  • D. Độ phức tạp thời gian của nó là O(n^2).

Câu 26: Hãy phân tích tại sao sắp xếp chèn lại hiệu quả hơn sắp xếp nổi bọt đối với mảng có ít phần tử hoặc gần như đã sắp xếp.

  • A. Sắp xếp chèn thực hiện ít phép so sánh hơn trong mọi trường hợp.
  • B. Sắp xếp chèn thực hiện ít phép đổi chỗ hơn (hoặc chỉ dịch chuyển) khi mảng gần sắp xếp, trong khi nổi bọt vẫn có thể cần nhiều đổi chỗ.
  • C. Sắp xếp chèn có độ phức tạp không gian tốt hơn.
  • D. Sắp xếp chèn là thuật toán không dựa trên so sánh.

Câu 27: Điều gì xảy ra với phần tử lớn nhất trong mảng sau mỗi pass (lượt duyệt) của thuật toán sắp xếp nổi bọt?

  • A. Nó được đưa về đúng vị trí cuối cùng trong phần mảng chưa sắp xếp.
  • B. Nó được đổi chỗ với phần tử nhỏ nhất trong mảng.
  • C. Nó vẫn giữ nguyên vị trí ban đầu.
  • D. Nó được chèn vào đầu mảng.

Câu 28: So sánh Sắp xếp chèn và Sắp xếp chọn về số lượng phép đổi chỗ. Phát biểu nào sau đây là đúng?

  • A. Sắp xếp chèn luôn thực hiện ít đổi chỗ hơn Sắp xếp chọn.
  • B. Sắp xếp chọn luôn thực hiện nhiều đổi chỗ hơn Sắp xếp chèn.
  • C. Sắp xếp chọn thực hiện số lần đổi chỗ cố định (n-1), trong khi Sắp xếp chèn có thể thực hiện nhiều hoặc ít hơn tùy thuộc vào dữ liệu đầu vào (chủ yếu là dịch chuyển).
  • D. Số lần đổi chỗ của cả hai thuật toán là tương đương nhau.

Câu 29: Sau một số bước thực hiện thuật toán sắp xếp trên mảng [5, 2, 8, 1, 9], ta thu được trạng thái mảng là [1, 2, 5, 8, 9]. Dựa vào trạng thái cuối cùng này, thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) chắc chắn ĐÚNG là thuật toán đã được sử dụng?

  • A. Chỉ Sắp xếp chèn.
  • B. Chỉ Sắp xếp chọn.
  • C. Chỉ Sắp xếp nổi bọt.
  • D. Cả ba thuật toán đơn giản đều có thể cho kết quả cuối cùng này khi hoàn thành.

Câu 30: Tại sao các thuật toán sắp xếp đơn giản như Sắp xếp chèn, Sắp xếp chọn, Sắp xếp nổi bọt thường được giới thiệu đầu tiên trong môn học về thuật toán, mặc dù chúng có độ phức tạp thời gian O(n^2) không tối ưu cho mảng lớn?

  • A. Vì chúng là các thuật toán nhanh nhất cho mọi loại dữ liệu.
  • B. Vì chúng có ý tưởng đơn giản, dễ hiểu và dễ cài đặt, giúp người học làm quen với khái niệm thuật toán sắp xếp và phân tích hiệu quả cơ bản.
  • C. Vì chúng là các thuật toán duy nhất có thể sắp xếp dữ liệu tại chỗ (in-place).
  • D. Vì chúng là nền tảng cho tất cả các thuật toán sắp xếp nâng cao khác.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 1: Ý tưởng cốt lõi của thuật toán sắp xếp chèn (Insertion Sort) là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 2: Khi áp dụng thuật toán sắp xếp chèn cho mảng A = [5, 2, 8, 1, 9], sau khi phần tử '2' được chèn vào đúng vị trí, mảng A sẽ có trạng thái như thế nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 3: Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp chèn là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 4: Điều kiện nào của mảng đầu vào dẫn đến trường hợp xấu nhất về thời gian thực hiện của thuật toán sắp xếp chèn?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 5: Ý tưởng cốt lõi của thuật toán sắp xếp chọn (Selection Sort) là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 6: Khi áp dụng thuật toán sắp xếp chọn cho mảng A = [6, 4, 1, 8, 3], sau vòng lặp đầu tiên (khi phần tử nhỏ nhất đã được đưa về đầu mảng), mảng A sẽ có trạng thái như thế nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 7: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 8: Số lượng phép so sánh của thuật toán sắp xếp chọn trên một mảng có n phần tử là bao nhiêu trong trường hợp tổng quát?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 9: Ý tưởng cốt lõi của thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 10: Khi áp dụng thuật toán sắp xếp nổi bọt cho mảng A = [7, 1, 5, 2, 4], sau pass (lượt duyệt) đầu tiên, mảng A sẽ có trạng thái như thế nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 11: Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp nổi bọt có sử dụng cờ hiệu (flag) để dừng sớm là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 12: Thuật toán sắp xếp nào trong số các thuật toán đơn giản (chèn, chọn, nổi bọt) luôn có độ phức tạp thời gian O(n^2) bất kể dữ liệu đầu vào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 13: Thuật toán sắp xếp nào trong ba thuật toán đơn giản được coi là 'ổn định' (stable), tức là giữ nguyên thứ tự tương đối của các phần tử bằng nhau?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 14: Khi sắp xếp một mảng có kích thước nhỏ (ví dụ n < 20), thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) thường cho hiệu quả tốt nhất trong thực tế và tại sao?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 15: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) thực hiện số lượng phép đổi chỗ (swap) ít nhất trong trường hợp tổng quát?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 16: Cho mảng A = [4, 1, 3, 2]. Hãy mô tả trạng thái của mảng A sau khi thuật toán sắp xếp chèn hoàn thành bước chèn phần tử thứ 3 (giá trị 3) vào đúng vị trí trong phần đã sắp xếp.

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 17: Cho mảng A = [9, 5, 2, 7]. Hãy mô tả trạng thái của mảng A sau khi thuật toán sắp xếp chọn hoàn thành bước thứ hai (tìm phần tử nhỏ nhất trong phần còn lại và đổi chỗ).

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 18: Cho mảng A = [3, 1, 4, 2]. Hãy mô tả trạng thái của mảng A sau khi thuật toán sắp xếp nổi bọt hoàn thành pass thứ hai.

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 19: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) là thuật toán 'tại chỗ' (in-place), nghĩa là không yêu cầu bộ nhớ phụ đáng kể ngoài mảng đầu vào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 20: Giả sử bạn cần sắp xếp một danh sách các đối tượng phức tạp mà chi phí cho mỗi lần đổi chỗ (swap) rất cao. Thuật toán nào trong ba thuật toán đơn giản nên được ưu tiên sử dụng để giảm thiểu số lần đổi chỗ?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 21: Cho một mảng có n phần tử. Trong trường hợp xấu nhất, thuật toán sắp xếp chèn thực hiện khoảng bao nhiêu phép so sánh?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 22: Cho một mảng có n phần tử. Thuật toán sắp xếp chọn thực hiện khoảng bao nhiêu phép đổi chỗ (swap) trong trường hợp tổng quát?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 23: Tại sao thuật toán sắp xếp nổi bọt (không có cờ hiệu tối ưu) luôn có độ phức tạp thời gian O(n^2) trong trường hợp xấu nhất?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 24: Giả sử bạn có một mảng rất lớn nhưng đã được sắp xếp gần hết, chỉ có một vài phần tử nằm sai vị trí. Thuật toán nào trong ba thuật toán đơn giản có khả năng hoạt động hiệu quả nhất trong trường hợp này?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 25: Phát biểu nào sau đây là SAI về thuật toán sắp xếp chọn?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 26: Hãy phân tích tại sao sắp xếp chèn lại hiệu quả hơn sắp xếp nổi bọt đối với mảng có ít phần tử hoặc gần như đã sắp xếp.

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 27: Điều gì xảy ra với phần tử lớn nhất trong mảng sau mỗi pass (lượt duyệt) của thuật toán sắp xếp nổi bọt?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 28: So sánh Sắp xếp chèn và Sắp xếp chọn về số lượng phép đổi chỗ. Phát biểu nào sau đây là đúng?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 29: Sau một số bước thực hiện thuật toán sắp xếp trên mảng [5, 2, 8, 1, 9], ta thu được trạng thái mảng là [1, 2, 5, 8, 9]. Dựa vào trạng thái cuối cùng này, thuật toán nào trong ba thuật toán đơn giản (chèn, chọn, nổi bọt) chắc chắn ĐÚNG là thuật toán đã được sử dụng?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 06

Câu 30: Tại sao các thuật toán sắp xếp đơn giản như Sắp xếp chèn, Sắp xếp chọn, Sắp xếp nổi bọt thường được giới thiệu đầu tiên trong môn học về thuật toán, mặc dù chúng có độ phức tạp thời gian O(n^2) không tối ưu cho mảng lớn?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 07

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 07 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Thuật toán sắp xếp nào trong số các thuật toán đơn giản (Nổi bọt, Chọn, Chèn) có đặc điểm là ở mỗi bước lặp, nó tìm phần tử nhỏ nhất trong phần mảng chưa được sắp xếp và đặt nó vào vị trí đúng của nó?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba thuật toán đều có đặc điểm này.

Câu 2: Xét mảng A = [7, 3, 8, 1, 5]. Sau khi áp dụng thuật toán Sắp xếp nổi bọt (Bubble Sort) và hoàn thành lượt duyệt đầu tiên (tức là vòng lặp ngoài chạy 1 lần, vòng lặp trong chạy hết), mảng A sẽ có dạng như thế nào?

  • A. [1, 3, 5, 7, 8]
  • B. [3, 1, 5, 7, 8]
  • C. [7, 3, 8, 1, 5]
  • D. [3, 7, 1, 5, 8]

Câu 3: Độ phức tạp thời gian trong trường hợp tốt nhất (best-case time complexity) của thuật toán Sắp xếp chèn (Insertion Sort) là gì? Giải thích tại sao.

  • A. O(n), vì mỗi phần tử chỉ cần so sánh với phần tử đứng trước nó một lần.
  • B. O(n), vì số lần hoán đổi là tối thiểu.
  • C. O(n^2), vì vẫn cần các vòng lặp lồng nhau.
  • D. O(n log n), vì số bước giảm đi đáng kể.

Câu 4: Điều nào sau đây là một nhược điểm của thuật toán Sắp xếp chọn (Selection Sort) so với Sắp xếp chèn (Insertion Sort) và Sắp xếp nổi bọt (Bubble Sort) khi xét về số lượng phép hoán đổi (swap) trong trường hợp xấu nhất?

  • A. Sắp xếp chọn thực hiện ít phép hoán đổi hơn, điều này không phải là nhược điểm.
  • B. Sắp xếp chọn thực hiện nhiều phép hoán đổi hơn.
  • C. Sắp xếp chọn có độ phức tạp thời gian xấu nhất cao hơn.
  • D. Sắp xếp chọn không ổn định, điều này không liên quan trực tiếp đến số phép hoán đổi.

Câu 5: Thuật toán Sắp xếp chèn (Insertion Sort) được mô tả là "ổn định" (stable). Tính chất "ổn định" của thuật toán sắp xếp có ý nghĩa gì?

  • A. Thuật toán luôn hoàn thành trong thời gian O(n).
  • B. Thuật toán sử dụng không gian bộ nhớ phụ không đáng kể (in-place).
  • C. Các phần tử có giá trị bằng nhau sẽ giữ nguyên thứ tự tương đối của chúng so với thứ tự ban đầu.
  • D. Thuật toán hoạt động hiệu quả trên các mảng đã được sắp xếp một phần.

Câu 6: Xét mảng B = [10, 4, 6, 1, 8]. Áp dụng thuật toán Sắp xếp chọn (Selection Sort) để sắp xếp mảng theo thứ tự tăng dần. Sau khi hoàn thành bước lặp thứ hai (tức là đã đặt đúng vị trí cho 2 phần tử đầu tiên), mảng B sẽ có dạng như thế nào?

  • A. [1, 4, 6, 8, 10]
  • B. [1, 4, 10, 6, 8]
  • C. [1, 4, 6, 10, 8]
  • D. [1, 6, 4, 10, 8]

Câu 7: Tại sao cả ba thuật toán Sắp xếp nổi bọt, Sắp xếp chọn và Sắp xếp chèn đều có độ phức tạp thời gian trường hợp xấu nhất là O(n^2)?

  • A. Chúng đều có cấu trúc vòng lặp lồng nhau, trong đó mỗi vòng lặp chạy khoảng n lần.
  • B. Chúng đều thực hiện số lượng phép hoán đổi lớn trong trường hợp xấu nhất.
  • C. Chúng không sử dụng kỹ thuật chia để trị.
  • D. Chúng yêu cầu bộ nhớ phụ O(n).

Câu 8: Xét mảng C = [6, 2, 5, 1, 4]. Áp dụng thuật toán Sắp xếp chèn (Insertion Sort) để sắp xếp mảng theo thứ tự tăng dần. Sau khi phần tử thứ ba (giá trị 5) được chèn vào đúng vị trí trong mảng con đã sắp xếp, mảng C sẽ có dạng như thế nào?

  • A. [1, 2, 4, 5, 6]
  • B. [2, 5, 6, 1, 4]
  • C. [2, 6, 5, 1, 4]
  • D. [6, 2, 5, 1, 4]

Câu 9: Giả sử bạn cần sắp xếp một danh sách liên kết (linked list). Thuật toán sắp xếp đơn giản nào sẽ gặp khó khăn ít nhất khi áp dụng trực tiếp trên cấu trúc dữ liệu này mà không cần chuyển đổi sang mảng?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba đều gặp khó khăn tương đương.

Câu 10: Trong thuật toán Sắp xếp nổi bọt (Bubble Sort), điều gì xảy ra với phần tử lớn nhất trong phần mảng chưa sắp xếp sau mỗi lần lượt duyệt (pass) của vòng lặp ngoài?

  • A. Nó được đưa về vị trí cuối cùng của phần mảng chưa sắp xếp.
  • B. Nó được đưa về vị trí đầu tiên của phần mảng chưa sắp xếp.
  • C. Nó được chèn vào đúng vị trí trong phần mảng đã sắp xếp.
  • D. Nó được hoán đổi với phần tử nhỏ nhất trong phần mảng chưa sắp xếp.

Câu 11: Thuật toán sắp xếp đơn giản nào luôn thực hiện cùng một số lượng phép so sánh (khoảng n^2/2), bất kể dữ liệu đầu vào được sắp xếp như thế nào?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Không có thuật toán nào trong số này.

Câu 12: Xét mảng D = [4, 1, 3, 2]. Áp dụng thuật toán Sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần. Thuật toán sẽ dừng lại sau bao nhiêu lượt duyệt (pass) tối thiểu nếu không có cặp nào cần hoán đổi trong một lượt duyệt?

  • A. 1
  • B. 2
  • C. 3 (hoàn thành sắp xếp nhưng cần 1 lượt kiểm tra nữa)
  • D. 3 (lượt thứ 3 không có hoán đổi, thuật toán dừng)

Câu 13: Khi nào thì thuật toán Sắp xếp chèn (Insertion Sort) hoạt động hiệu quả nhất trong các trường hợp của O(n^2)?

  • A. Khi mảng đầu vào đã gần được sắp xếp.
  • B. Khi mảng đầu vào được sắp xếp ngược lại.
  • C. Khi mảng đầu vào chứa nhiều phần tử trùng lặp.
  • D. Hiệu quả không phụ thuộc vào trạng thái ban đầu của mảng.

Câu 14: Thuật toán Sắp xếp chọn (Selection Sort) có tính chất là không ổn định (unstable). Điều này có nghĩa là gì?

  • A. Độ phức tạp thời gian của nó thay đổi đáng kể tùy thuộc vào đầu vào.
  • B. Thứ tự tương đối của các phần tử có giá trị bằng nhau có thể bị thay đổi sau khi sắp xếp.
  • C. Nó yêu cầu thêm một lượng lớn bộ nhớ phụ.
  • D. Số lần hoán đổi của nó là cố định.

Câu 15: Giả sử bạn có một mảng rất nhỏ (ví dụ, dưới 10 phần tử). Thuật toán sắp xếp đơn giản nào thường được coi là lựa chọn tốt nhất trong trường hợp này và tại sao?

  • A. Sắp xếp nổi bọt, vì nó dễ hiểu nhất.
  • B. Sắp xếp chọn, vì nó có số lần hoán đổi ít nhất.
  • C. Sắp xếp chèn, vì nó có chi phí cố định thấp và hiệu quả trên mảng nhỏ.
  • D. Cả ba đều có hiệu quả tương đương nhau trên mảng rất nhỏ.

Câu 16: Điều nào sau đây không phải là đặc điểm chung của ba thuật toán sắp xếp đơn giản (Nổi bọt, Chọn, Chèn)?

  • A. Độ phức tạp thời gian trường hợp xấu nhất là O(n^2).
  • B. Đều là thuật toán ổn định (stable).
  • C. Đều là thuật toán tại chỗ (in-place).
  • D. Đều dựa trên việc so sánh các phần tử.

Câu 17: Xét mảng E = [2, 8, 5, 3, 9, 4]. Áp dụng Sắp xếp chèn (Insertion Sort). Mảng con đã sắp xếp ban đầu là [2]. Sau khi chèn phần tử 8, mảng con đã sắp xếp là [2, 8]. Sau khi chèn phần tử 5, mảng con đã sắp xếp là [2, 5, 8]. Tiếp tục quá trình này. Sau khi chèn phần tử cuối cùng (giá trị 4), mảng E sẽ có dạng như thế nào?

  • A. [2, 3, 4, 5, 8, 9]
  • B. [2, 8, 5, 3, 9, 4]
  • C. [2, 3, 5, 8, 9, 4]
  • D. [2, 5, 8, 3, 9, 4]

Câu 18: Trong trường hợp xấu nhất, thuật toán Sắp xếp nổi bọt (Bubble Sort) thực hiện bao nhiêu phép hoán đổi (swap)?

  • A. O(n)
  • B. O(n log n)
  • C. O(1)
  • D. O(n^2)

Câu 19: Thuật toán sắp xếp nào trong số các thuật toán đơn giản có độ phức tạp thời gian trường hợp tốt nhất là O(n), trong khi trường hợp xấu nhất là O(n^2)?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Không có thuật toán nào trong số này.

Câu 20: Điều nào sau đây miêu tả không chính xác về thuật toán Sắp xếp chèn (Insertion Sort)?

  • A. Ở mỗi bước, nó lấy một phần tử từ phần chưa sắp xếp và chèn vào đúng vị trí trong phần đã sắp xếp.
  • B. Nó là một thuật toán sắp xếp tại chỗ (in-place).
  • C. Nó là một thuật toán sắp xếp ổn định (stable).
  • D. Độ phức tạp thời gian trường hợp tốt nhất của nó là O(n^2).

Câu 21: Xét mảng F = [5, 2, 4, 6, 1, 3]. Áp dụng Sắp xếp chọn (Selection Sort). Sau khi hoàn thành bước lặp thứ ba (đã đặt đúng vị trí cho 3 phần tử đầu tiên), mảng F sẽ có dạng như thế nào?

  • A. [1, 2, 3, 4, 5, 6]
  • B. [1, 2, 4, 6, 5, 3]
  • C. [1, 2, 3, 6, 5, 4]
  • D. [1, 2, 3, 5, 6, 4]

Câu 22: Thuật toán sắp xếp đơn giản nào được coi là kém hiệu quả nhất trong thực tế cho hầu hết các trường hợp, mặc dù nó dễ hiểu và cài đặt?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba đều kém hiệu quả như nhau.

Câu 23: Điều gì xảy ra trong vòng lặp bên trong của thuật toán Sắp xếp nổi bọt (Bubble Sort)?

  • A. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp.
  • B. So sánh và hoán đổi các phần tử liền kề nếu không đúng thứ tự.
  • C. Chèn phần tử hiện tại vào đúng vị trí trong phần đã sắp xếp.
  • D. Chia mảng thành hai nửa.

Câu 24: Thuật toán sắp xếp đơn giản nào không có khả năng dừng sớm (tức là không thể nhận biết mảng đã sắp xếp trước khi hoàn thành tất cả các bước lặp cần thiết theo công thức O(n^2))?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba đều có khả năng dừng sớm.

Câu 25: Xét mảng G = [9, 7, 5, 3, 1]. Đây là trường hợp xấu nhất cho thuật toán Sắp xếp nổi bọt (Bubble Sort) khi sắp xếp tăng dần. Tại sao?

  • A. Mảng được sắp xếp ngược lại, đòi hỏi số lượng hoán đổi và so sánh tối đa.
  • B. Mảng đã được sắp xếp hoàn toàn.
  • C. Mảng chứa nhiều phần tử trùng lặp.
  • D. Mảng chỉ có một phần tử duy nhất.

Câu 26: Bạn được yêu cầu sắp xếp một mảng dữ liệu mà bạn biết chắc chắn rằng nó đã được sắp xếp gần hết. Thuật toán sắp xếp đơn giản nào là lựa chọn tối ưu nhất về mặt hiệu suất trong tình huống này?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Không có thuật toán đơn giản nào hiệu quả hơn thuật toán khác trong trường hợp này.

Câu 27: Điểm khác biệt chính trong cơ chế hoạt động giữa Sắp xếp nổi bọt (Bubble Sort) và Sắp xếp chèn (Insertion Sort) là gì?

  • A. Sắp xếp nổi bọt so sánh và hoán đổi các phần tử liền kề, trong khi Sắp xếp chèn chèn phần tử vào đúng vị trí trong mảng con đã sắp xếp.
  • B. Sắp xếp nổi bọt tìm phần tử nhỏ nhất, trong khi Sắp xếp chèn tìm phần tử lớn nhất.
  • C. Sắp xếp nổi bọt sử dụng đệ quy, trong khi Sắp xếp chèn sử dụng lặp.
  • D. Sắp xếp nổi bọt là tại chỗ, còn Sắp xếp chèn yêu cầu bộ nhớ phụ O(n).

Câu 28: Xét mảng H = [8, 1, 3, 6, 2]. Áp dụng Sắp xếp chèn (Insertion Sort). Sau khi phần tử có giá trị 6 được chèn vào đúng vị trí, mảng H sẽ có dạng như thế nào?

  • A. [1, 2, 3, 6, 8]
  • B. [1, 3, 8, 6, 2]
  • C. [8, 1, 3, 6, 2]
  • D. [1, 3, 6, 8, 2]

Câu 29: Thuật toán nào trong các thuật toán đơn giản (Nổi bọt, Chọn, Chèn) không phù hợp để sắp xếp các tập dữ liệu rất lớn (ví dụ: hàng triệu phần tử) trong thực tế?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Cả ba thuật toán trên đều không phù hợp cho dữ liệu rất lớn.

Câu 30: Trong một bài kiểm tra, bạn thấy một câu hỏi yêu cầu sắp xếp mảng [4, 2, 5, 1, 3] bằng một thuật toán mà bạn không nhận ra tên. Mô tả thuật toán như sau: "Lặp đi lặp lại, duyệt qua mảng, so sánh từng cặp phần tử liền kề và hoán đổi chúng nếu chúng không đúng thứ tự. Sau mỗi lượt duyệt, phần tử lớn nhất chưa được sắp xếp sẽ ở đúng vị trí của nó." Thuật toán này là gì?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Sắp xếp nhanh (Quick Sort)

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 1: Thuật toán sắp xếp nào trong số các thuật toán đơn giản (Nổi bọt, Chọn, Chèn) có đặc điểm là ở mỗi bước lặp, nó tìm phần tử nhỏ nhất trong phần mảng chưa được sắp xếp và đặt nó vào vị trí đúng của nó?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 2: Xét mảng A = [7, 3, 8, 1, 5]. Sau khi áp dụng thuật toán Sắp xếp nổi bọt (Bubble Sort) và hoàn thành *lượt duyệt đầu tiên* (tức là vòng lặp ngoài chạy 1 lần, vòng lặp trong chạy hết), mảng A sẽ có dạng như thế nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 3: Độ phức tạp thời gian trong trường hợp tốt nhất (best-case time complexity) của thuật toán Sắp xếp chèn (Insertion Sort) là gì? Giải thích tại sao.

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 4: Điều nào sau đây là một *nhược điểm* của thuật toán Sắp xếp chọn (Selection Sort) so với Sắp xếp chèn (Insertion Sort) và Sắp xếp nổi bọt (Bubble Sort) khi xét về số lượng phép hoán đổi (swap) trong trường hợp xấu nhất?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 5: Thuật toán Sắp xếp chèn (Insertion Sort) được mô tả là 'ổn định' (stable). Tính chất 'ổn định' của thuật toán sắp xếp có ý nghĩa gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 6: Xét mảng B = [10, 4, 6, 1, 8]. Áp dụng thuật toán Sắp xếp chọn (Selection Sort) để sắp xếp mảng theo thứ tự tăng dần. Sau khi hoàn thành *bước lặp thứ hai* (tức là đã đặt đúng vị trí cho 2 phần tử đầu tiên), mảng B sẽ có dạng như thế nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 7: Tại sao cả ba thuật toán Sắp xếp nổi bọt, Sắp xếp chọn và Sắp xếp chèn đều có độ phức tạp thời gian trường hợp xấu nhất là O(n^2)?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 8: Xét mảng C = [6, 2, 5, 1, 4]. Áp dụng thuật toán Sắp xếp chèn (Insertion Sort) để sắp xếp mảng theo thứ tự tăng dần. Sau khi phần tử *thứ ba* (giá trị 5) được chèn vào đúng vị trí trong mảng con đã sắp xếp, mảng C sẽ có dạng như thế nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 9: Giả sử bạn cần sắp xếp một danh sách liên kết (linked list). Thuật toán sắp xếp đơn giản nào sẽ gặp khó khăn *ít nhất* khi áp dụng trực tiếp trên cấu trúc dữ liệu này mà không cần chuyển đổi sang mảng?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 10: Trong thuật toán Sắp xếp nổi bọt (Bubble Sort), điều gì xảy ra với phần tử lớn nhất trong phần mảng chưa sắp xếp sau mỗi lần *lượt duyệt* (pass) của vòng lặp ngoài?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 11: Thuật toán sắp xếp đơn giản nào luôn thực hiện cùng một số lượng phép so sánh (khoảng n^2/2), bất kể dữ liệu đầu vào được sắp xếp như thế nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 12: Xét mảng D = [4, 1, 3, 2]. Áp dụng thuật toán Sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần. Thuật toán sẽ dừng lại sau bao nhiêu lượt duyệt (pass) tối thiểu nếu không có cặp nào cần hoán đổi trong một lượt duyệt?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 13: Khi nào thì thuật toán Sắp xếp chèn (Insertion Sort) hoạt động hiệu quả nhất trong các trường hợp của O(n^2)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 14: Thuật toán Sắp xếp chọn (Selection Sort) có tính chất là *không ổn định* (unstable). Điều này có nghĩa là gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 15: Giả sử bạn có một mảng rất nhỏ (ví dụ, dưới 10 phần tử). Thuật toán sắp xếp đơn giản nào thường được coi là lựa chọn tốt nhất trong trường hợp này và tại sao?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 16: Điều nào sau đây *không phải* là đặc điểm chung của ba thuật toán sắp xếp đơn giản (Nổi bọt, Chọn, Chèn)?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 17: Xét mảng E = [2, 8, 5, 3, 9, 4]. Áp dụng Sắp xếp chèn (Insertion Sort). Mảng con đã sắp xếp ban đầu là [2]. Sau khi chèn phần tử 8, mảng con đã sắp xếp là [2, 8]. Sau khi chèn phần tử 5, mảng con đã sắp xếp là [2, 5, 8]. Tiếp tục quá trình này. Sau khi chèn *phần tử cuối cùng* (giá trị 4), mảng E sẽ có dạng như thế nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 18: Trong trường hợp xấu nhất, thuật toán Sắp xếp nổi bọt (Bubble Sort) thực hiện bao nhiêu phép hoán đổi (swap)?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 19: Thuật toán sắp xếp nào trong số các thuật toán đơn giản có độ phức tạp thời gian trường hợp tốt nhất là O(n), trong khi trường hợp xấu nhất là O(n^2)?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 20: Điều nào sau đây miêu tả *không chính xác* về thuật toán Sắp xếp chèn (Insertion Sort)?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 21: Xét mảng F = [5, 2, 4, 6, 1, 3]. Áp dụng Sắp xếp chọn (Selection Sort). Sau khi hoàn thành *bước lặp thứ ba* (đã đặt đúng vị trí cho 3 phần tử đầu tiên), mảng F sẽ có dạng như thế nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 22: Thuật toán sắp xếp đơn giản nào được coi là kém hiệu quả nhất trong thực tế cho hầu hết các trường hợp, mặc dù nó dễ hiểu và cài đặt?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 23: Điều gì xảy ra trong *vòng lặp bên trong* của thuật toán Sắp xếp nổi bọt (Bubble Sort)?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 24: Thuật toán sắp xếp đơn giản nào *không* có khả năng dừng sớm (tức là không thể nhận biết mảng đã sắp xếp trước khi hoàn thành tất cả các bước lặp cần thiết theo công thức O(n^2))?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 25: Xét mảng G = [9, 7, 5, 3, 1]. Đây là trường hợp xấu nhất cho thuật toán Sắp xếp nổi bọt (Bubble Sort) khi sắp xếp tăng dần. Tại sao?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 26: Bạn được yêu cầu sắp xếp một mảng dữ liệu mà bạn biết chắc chắn rằng nó đã được sắp xếp gần hết. Thuật toán sắp xếp đơn giản nào là lựa chọn tối ưu nhất về mặt hiệu suất trong tình huống này?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 27: Điểm khác biệt chính trong cơ chế hoạt động giữa Sắp xếp nổi bọt (Bubble Sort) và Sắp xếp chèn (Insertion Sort) là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 28: Xét mảng H = [8, 1, 3, 6, 2]. Áp dụng Sắp xếp chèn (Insertion Sort). Sau khi phần tử có giá trị 6 được chèn vào đúng vị trí, mảng H sẽ có dạng như thế nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 29: Thuật toán nào trong các thuật toán đơn giản (Nổi bọt, Chọn, Chèn) *không* phù hợp để sắp xếp các tập dữ liệu rất lớn (ví dụ: hàng triệu phần tử) trong thực tế?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 07

Câu 30: Trong một bài kiểm tra, bạn thấy một câu hỏi yêu cầu sắp xếp mảng [4, 2, 5, 1, 3] bằng một thuật toán mà bạn không nhận ra tên. Mô tả thuật toán như sau: 'Lặp đi lặp lại, duyệt qua mảng, so sánh từng cặp phần tử liền kề và hoán đổi chúng nếu chúng không đúng thứ tự. Sau mỗi lượt duyệt, phần tử lớn nhất chưa được sắp xếp sẽ ở đúng vị trí của nó.' Thuật toán này là gì?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 08

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 08 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Ý tưởng chính của thuật toán sắp xếp chèn (Insertion Sort) là gì?

  • A. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đổi chỗ với phần tử đầu tiên của phần đó.
  • B. So sánh và hoán đổi các cặp phần tử liền kề nếu chúng không đúng thứ tự, lặp lại cho đến khi mảng được sắp xếp.
  • C. Duyệt qua từng phần tử của mảng chưa sắp xếp, chèn nó vào vị trí đúng trong phần mảng đã sắp xếp (ban đầu là phần tử đầu tiên).
  • D. Chia mảng thành hai nửa, sắp xếp riêng từng nửa rồi trộn lại.

Câu 2: Khi áp dụng thuật toán sắp xếp chèn cho mảng [5, 2, 8, 1, 9] để sắp xếp tăng dần, trạng thái của mảng sau khi phần tử "2" được xử lý (chèn vào phần đã sắp xếp) là gì?

  • A. [2, 5, 8, 1, 9]
  • B. [2, 5, 8, 1, 9]
  • C. [5, 2, 8, 1, 9]
  • D. [1, 2, 5, 8, 9]

Câu 3: Trường hợp nào sau đây thể hiện trường hợp tốt nhất về độ phức tạp thời gian cho thuật toán sắp xếp chèn?

  • A. Mảng đầu vào đã được sắp xếp tăng dần.
  • B. Mảng đầu vào được sắp xếp ngược (giảm dần).
  • C. Mảng đầu vào chứa tất cả các phần tử giống nhau.
  • D. Mảng đầu vào có kích thước rất lớn.

Câu 4: Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chèn là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(log n)

Câu 5: Ý tưởng chính của thuật toán sắp xếp chọn (Selection Sort) là gì?

  • A. Tìm phần tử nhỏ nhất (hoặc lớn nhất) trong phần chưa sắp xếp và đổi chỗ nó với phần tử đầu tiên của phần đó.
  • B. So sánh và hoán đổi các cặp phần tử liền kề nếu chúng không đúng thứ tự, lặp lại cho đến khi mảng được sắp xếp.
  • C. Duyệt qua từng phần tử của mảng chưa sắp xếp, chèn nó vào vị trí đúng trong phần mảng đã sắp xếp.
  • D. Chia mảng thành hai nửa, sắp xếp riêng từng nửa rồi trộn lại.

Câu 6: Khi áp dụng thuật toán sắp xếp chọn cho mảng [5, 2, 8, 1, 9] để sắp xếp tăng dần, trạng thái của mảng sau khi vòng lặp ngoài đầu tiên hoàn thành (phần tử nhỏ nhất được đưa về đầu) là gì?

  • A. [2, 5, 8, 1, 9]
  • B. [1, 2, 5, 8, 9]
  • C. [5, 1, 8, 2, 9]
  • D. [1, 2, 8, 5, 9]

Câu 7: Độ phức tạp thời gian của thuật toán sắp xếp chọn trong trường hợp tốt nhất, xấu nhất và trung bình đều là O(n^2). Điều này chủ yếu là do thao tác nào chiếm ưu thế?

  • A. Phép hoán đổi (swap).
  • B. Phép so sánh (comparison) để tìm phần tử nhỏ nhất.
  • C. Phép chèn (insertion).
  • D. Phép chia mảng.

Câu 8: Thuật toán sắp xếp chọn có đặc điểm gì về tính ổn định (stability)?

  • A. Luôn luôn ổn định.
  • B. Không ổn định.
  • C. Ổn định trong trường hợp tốt nhất.
  • D. Ổn định trong trường hợp xấu nhất.

Câu 9: Ý tưởng chính của thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

  • A. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đổi chỗ với phần tử đầu tiên của phần đó.
  • B. Lặp đi lặp lại việc so sánh và hoán đổi các cặp phần tử liền kề nếu chúng không đúng thứ tự, khiến các phần tử lớn hơn
  • C. Duyệt qua từng phần tử của mảng chưa sắp xếp, chèn nó vào vị trí đúng trong phần mảng đã sắp xếp.
  • D. Chia mảng thành hai nửa, sắp xếp riêng từng nửa rồi trộn lại.

Câu 10: Khi áp dụng thuật toán sắp xếp nổi bọt cho mảng [5, 2, 8, 1, 9] để sắp xếp tăng dần, trạng thái của mảng sau khi vòng lặp trong đầu tiên (duyệt từ đầu đến cuối lần 1) hoàn thành là gì?

  • A. [2, 5, 1, 8, 9]
  • B. [1, 2, 5, 8, 9]
  • C. [5, 2, 8, 1, 9]
  • D. [2, 8, 5, 1, 9]

Câu 11: Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp nổi bọt (có sử dụng cờ báo hiệu không có hoán đổi) là gì?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 12: Thuật toán sắp xếp nào trong số ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) thường được coi là hiệu quả nhất trên thực tế đối với các mảng có kích thước nhỏ hoặc mảng gần như đã được sắp xếp?

  • A. Sắp xếp chèn (Insertion Sort).
  • B. Sắp xếp chọn (Selection Sort).
  • C. Sắp xếp nổi bọt (Bubble Sort).
  • D. Cả ba đều có hiệu quả tương đương trong trường hợp này.

Câu 13: Thuật toán sắp xếp nào sau đây là thuật toán "tại chỗ" (in-place), nghĩa là nó chỉ yêu cầu một lượng bộ nhớ phụ nhỏ không đáng kể so với kích thước dữ liệu đầu vào?

  • A. Chỉ sắp xếp chèn.
  • B. Chỉ sắp xếp chọn.
  • C. Chỉ sắp xếp nổi bọt.
  • D. Cả sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt.

Câu 14: Tính chất "ổn định" (stable) của một thuật toán sắp xếp có nghĩa là gì?

  • A. Thuật toán luôn hoàn thành trong thời gian O(n log n).
  • B. Thuật toán không sử dụng bộ nhớ phụ đáng kể.
  • C. Thuật toán giữ nguyên thứ tự tương đối của các phần tử có giá trị bằng nhau như trong mảng ban đầu.
  • D. Thuật toán hoạt động hiệu quả trên mọi loại dữ liệu đầu vào.

Câu 15: Trong ba thuật toán sắp xếp đơn giản đã học, thuật toán nào không đảm bảo tính ổn định (stable)?

  • A. Sắp xếp chèn (Insertion Sort).
  • B. Sắp xếp chọn (Selection Sort).
  • C. Sắp xếp nổi bọt (Bubble Sort).
  • D. Cả ba đều không ổn định.

Câu 16: Khi so sánh thuật toán sắp xếp chèn và sắp xếp chọn, điểm khác biệt cơ bản trong cách chúng xây dựng phần mảng đã sắp xếp là gì?

  • A. Chèn: Lấy phần tử tiếp theo và chèn vào đúng vị trí trong phần đã sắp xếp. Chọn: Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đổi chỗ với phần tử đầu tiên của phần đó.
  • B. Chèn: Đổi chỗ các phần tử liền kề. Chọn: Tìm phần tử lớn nhất và đưa về cuối.
  • C. Chèn: Chia mảng đệ quy. Chọn: Duyệt và chèn.
  • D. Cả hai đều tìm phần tử nhỏ nhất và đổi chỗ.

Câu 17: Xét mảng [4, 1, 3, 2]. Sau khi hoàn thành pass thứ hai của thuật toán sắp xếp nổi bọt (không tối ưu), mảng sẽ ở trạng thái nào?

  • A. [1, 2, 3, 4]
  • B. [1, 3, 2, 4]
  • C. [1, 3, 2, 4]
  • D. [4, 1, 3, 2]

Câu 18: Xét mảng [4, 1, 3, 2]. Sau khi hoàn thành bước thứ hai của thuật toán sắp xếp chèn (chèn phần tử "3" vào phần đã sắp xếp [1, 4]), mảng sẽ ở trạng thái nào?

  • A. [1, 4, 3, 2]
  • B. [1, 3, 4, 2]
  • C. [4, 1, 3, 2]
  • D. [1, 2, 3, 4]

Câu 19: Xét mảng [4, 1, 3, 2]. Sau khi hoàn thành bước thứ hai của thuật toán sắp xếp chọn (tìm phần tử nhỏ nhất trong phần còn lại và đổi chỗ với phần tử ở vị trí thứ hai), mảng sẽ ở trạng thái nào?

  • A. [1, 2, 3, 4]
  • B. [1, 3, 4, 2]
  • C. [1, 4, 3, 2]
  • D. [1, 2, 3, 4]

Câu 20: Điều nào sau đây là sai khi nói về thuật toán sắp xếp chọn?

  • A. Số lần hoán đổi ít hơn đáng kể so với sắp xếp nổi bọt trong trường hợp xấu nhất.
  • B. Độ phức tạp thời gian luôn là O(n^2) bất kể dữ liệu đầu vào.
  • C. Nó là một thuật toán sắp xếp ổn định (stable).
  • D. Nó là một thuật toán sắp xếp tại chỗ (in-place).

Câu 21: Trong thuật toán sắp xếp chèn, tại mỗi bước, phần tử đang xét được chèn vào phần mảng đã sắp xếp. Quá trình tìm vị trí và chèn này được thực hiện như thế nào?

  • A. So sánh phần tử đang xét với các phần tử trong phần đã sắp xếp từ phải sang trái và dịch chuyển các phần tử lớn hơn nó sang phải để tạo chỗ trống.
  • B. So sánh phần tử đang xét với phần tử đầu tiên của phần đã sắp xếp và đổi chỗ nếu nhỏ hơn.
  • C. Chia đôi phần đã sắp xếp để tìm vị trí chèn nhanh hơn.
  • D. Luôn chèn vào cuối phần đã sắp xếp.

Câu 22: Tại sao thuật toán sắp xếp nổi bọt (Bubble Sort) lại có tên gọi như vậy?

  • A. Vì nó sử dụng bọt biển để làm sạch dữ liệu.
  • B. Vì các phần tử lớn hơn dần dần "nổi" lên (di chuyển) đến cuối mảng sau mỗi lần duyệt.
  • C. Vì nó tạo ra các "bọt" (nhóm) các phần tử đã sắp xếp.
  • D. Vì nó hoạt động rất nhanh như bọt nước vỡ.

Câu 23: Xét mảng [10, 20, 30, 40, 50]. Thuật toán sắp xếp nổi bọt (có tối ưu) sẽ cần bao nhiêu lần duyệt toàn bộ mảng (pass) để xác định rằng mảng đã được sắp xếp?

  • A. 1 lần duyệt (pass).
  • B. 2 lần duyệt (pass).
  • C. n-1 lần duyệt (pass) với n là kích thước mảng.
  • D. n/2 lần duyệt (pass).

Câu 24: Độ phức tạp không gian (space complexity) của ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) là gì?

  • A. O(1) (không gian phụ cố định).
  • B. O(n) (không gian phụ tỉ lệ với kích thước mảng).
  • C. O(n log n).
  • D. O(n^2).

Câu 25: Ưu điểm chính của các thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) so với các thuật toán phức tạp hơn (như Merge Sort, Quick Sort) là gì?

  • A. Độ phức tạp thời gian luôn tốt hơn.
  • B. Luôn đảm bảo tính ổn định.
  • C. Dễ hiểu, dễ cài đặt và hiệu quả cho các mảng có kích thước nhỏ.
  • D. Sử dụng ít phép so sánh hơn.

Câu 26: Khi nào thì thuật toán sắp xếp chèn hoạt động kém hiệu quả nhất?

  • A. Khi mảng đã được sắp xếp.
  • B. Khi mảng chứa các phần tử lặp lại.
  • C. Khi mảng có kích thước nhỏ.
  • D. Khi mảng được sắp xếp ngược lại (giảm dần).

Câu 27: Số lần hoán đổi (swap) trong thuật toán sắp xếp chọn là bao nhiêu trong trường hợp xấu nhất (mảng sắp xếp ngược)?

  • A. O(n^2)
  • B. O(n log n)
  • C. O(n)
  • D. O(1)

Câu 28: Thuật toán sắp xếp nào sau đây thực hiện số lượng phép so sánh gần như không đổi (luôn là O(n^2)) bất kể trạng thái ban đầu của mảng?

  • A. Sắp xếp chèn.
  • B. Sắp xếp chọn.
  • C. Sắp xếp nổi bọt.
  • D. Cả ba thuật toán.

Câu 29: Một thuật toán sắp xếp được mô tả như sau: "Trong mỗi bước, thuật toán tìm phần tử nhỏ nhất trong phần mảng chưa được sắp xếp và đặt nó vào vị trí đầu tiên của phần chưa sắp xếp đó." Đây là mô tả của thuật toán nào?

  • A. Sắp xếp chèn.
  • B. Sắp xếp chọn.
  • C. Sắp xếp nổi bọt.
  • D. Sắp xếp trộn.

Câu 30: Khi áp dụng thuật toán sắp xếp nổi bọt (có tối ưu) cho mảng [3, 1, 4, 1, 5, 9, 2, 6], sau khi hoàn thành pass đầu tiên, mảng sẽ ở trạng thái nào?

  • A. [1, 3, 1, 4, 5, 2, 6, 9]
  • B. [1, 1, 2, 3, 4, 5, 6, 9]
  • C. [3, 1, 4, 1, 5, 2, 6, 9]
  • D. [1, 3, 4, 1, 5, 9, 2, 6]

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Câu 1: Ý tưởng chính của thuật toán sắp xếp chèn (Insertion Sort) là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Khi áp dụng thuật toán sắp xếp chèn cho mảng [5, 2, 8, 1, 9] để sắp xếp tăng dần, trạng thái của mảng sau khi phần tử '2' được xử lý (chèn vào phần đã sắp xếp) là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Trường hợp nào sau đây thể hiện trường hợp tốt nhất về độ phức tạp thời gian cho thuật toán sắp xếp chèn?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chèn là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Ý tưởng chính của thuật toán sắp xếp chọn (Selection Sort) là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Khi áp dụng thuật toán sắp xếp chọn cho mảng [5, 2, 8, 1, 9] để sắp xếp tăng dần, trạng thái của mảng sau khi *vòng lặp ngoài đầu tiên* hoàn thành (phần tử nhỏ nhất được đưa về đầu) là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Độ phức tạp thời gian của thuật toán sắp xếp chọn trong trường hợp tốt nhất, xấu nhất và trung bình đều là O(n^2). Điều này chủ yếu là do thao tác nào chiếm ưu thế?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Thuật toán sắp xếp chọn có đặc điểm gì về tính ổn định (stability)?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Ý tưởng chính của thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Khi áp dụng thuật toán sắp xếp nổi bọt cho mảng [5, 2, 8, 1, 9] để sắp xếp tăng dần, trạng thái của mảng sau khi *vòng lặp trong đầu tiên* (duyệt từ đầu đến cuối lần 1) hoàn thành là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp nổi bọt (có sử dụng cờ báo hiệu không có hoán đổi) là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Thuật toán sắp xếp nào trong số ba thuật toán đơn giản (Chèn, Chọn, Nổi bọt) thường được coi là hiệu quả nhất trên thực tế đối với các mảng có kích thước nhỏ hoặc mảng gần như đã được sắp xếp?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Thuật toán sắp xếp nào sau đây là thuật toán 'tại chỗ' (in-place), nghĩa là nó chỉ yêu cầu một lượng bộ nhớ phụ nhỏ không đáng kể so với kích thước dữ liệu đầu vào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Tính chất 'ổn định' (stable) của một thuật toán sắp xếp có nghĩa là gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Trong ba thuật toán sắp xếp đơn giản đã học, thuật toán nào *không* đảm bảo tính ổn định (stable)?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Khi so sánh thuật toán sắp xếp chèn và sắp xếp chọn, điểm khác biệt cơ bản trong cách chúng xây dựng phần mảng đã sắp xếp là gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Xét mảng [4, 1, 3, 2]. Sau khi hoàn thành *pass thứ hai* của thuật toán sắp xếp nổi bọt (không tối ưu), mảng sẽ ở trạng thái nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Xét mảng [4, 1, 3, 2]. Sau khi hoàn thành *bước thứ hai* của thuật toán sắp xếp chèn (chèn phần tử '3' vào phần đã sắp xếp [1, 4]), mảng sẽ ở trạng thái nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Xét mảng [4, 1, 3, 2]. Sau khi hoàn thành *bước thứ hai* của thuật toán sắp xếp chọn (tìm phần tử nhỏ nhất trong phần còn lại và đổi chỗ với phần tử ở vị trí thứ hai), mảng sẽ ở trạng thái nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Điều nào sau đây là *sai* khi nói về thuật toán sắp xếp chọn?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Trong thuật toán sắp xếp chèn, tại mỗi bước, phần tử đang xét được chèn vào phần mảng đã sắp xếp. Quá trình tìm vị trí và chèn này được thực hiện như thế nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Tại sao thuật toán sắp xếp nổi bọt (Bubble Sort) lại có tên gọi như vậy?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Xét mảng [10, 20, 30, 40, 50]. Thuật toán sắp xếp nổi bọt (có tối ưu) sẽ cần bao nhiêu lần duyệt toàn bộ mảng (pass) để xác định rằng mảng đã được sắp xếp?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Độ phức tạp không gian (space complexity) của ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) là gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Ưu điểm chính của các thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) so với các thuật toán phức tạp hơn (như Merge Sort, Quick Sort) là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Khi nào thì thuật toán sắp xếp chèn hoạt động kém hiệu quả nhất?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Số lần hoán đổi (swap) trong thuật toán sắp xếp chọn là bao nhiêu trong trường hợp xấu nhất (mảng sắp xếp ngược)?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Thuật toán sắp xếp nào sau đây thực hiện số lượng phép so sánh gần như không đổi (luôn là O(n^2)) bất kể trạng thái ban đầu của mảng?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Một thuật toán sắp xếp được mô tả như sau: 'Trong mỗi bước, thuật toán tìm phần tử nhỏ nhất trong phần mảng chưa được sắp xếp và đặt nó vào vị trí đầu tiên của phần chưa sắp xếp đó.' Đây là mô tả của thuật toán nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 08

Khi áp dụng thuật toán sắp xếp nổi bọt (có tối ưu) cho mảng [3, 1, 4, 1, 5, 9, 2, 6], sau khi hoàn thành *pass đầu tiên*, mảng sẽ ở trạng thái nào?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 09

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 09 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Chia mảng thành hai phần và sắp xếp từng phần riêng biệt.
  • B. Tìm phần tử nhỏ nhất hoặc lớn nhất trong phần chưa sắp xếp và đưa về đúng vị trí.
  • C. Xây dựng mảng đã sắp xếp bằng cách chèn từng phần tử từ phần chưa sắp xếp vào vị trí thích hợp.
  • D. So sánh và hoán đổi các phần tử liền kề nếu chúng không đúng thứ tự.

Câu 2: Cho mảng A = [5, 2, 8, 1, 4]. Sau khi thực hiện xong bước thứ hai của thuật toán sắp xếp chèn (khi phần tử có giá trị 8 được xét), mảng A sẽ có trạng thái như thế nào? (Giả sử xét từ trái sang phải, phần tử đầu tiên [5] đã được coi là mảng con đã sắp xếp ban đầu).

  • A. [2, 5, 8, 1, 4]
  • B. [5, 2, 8, 1, 4]
  • C. [1, 2, 4, 5, 8]
  • D. [2, 5, 8, 1, 4]

Câu 3: Thuật toán sắp xếp chèn (Insertion Sort) có độ phức tạp thời gian tốt nhất (best-case time complexity) là gì và xảy ra khi nào?

  • A. O(n), khi mảng đầu vào đã được sắp xếp.
  • B. O(n^2), khi mảng đầu vào đã được sắp xếp.
  • C. O(n log n), khi mảng đầu vào sắp xếp ngẫu nhiên.
  • D. O(n^2), khi mảng đầu vào sắp xếp ngược.

Câu 4: Trường hợp nào sau đây khiến thuật toán sắp xếp chèn (Insertion Sort) đạt đến độ phức tạp thời gian xấu nhất (worst-case time complexity) là O(n^2)?

  • A. Mảng đầu vào đã được sắp xếp tăng dần.
  • B. Mảng đầu vào đã được sắp xếp giảm dần.
  • C. Mảng đầu vào chứa tất cả các phần tử giống nhau.
  • D. Mảng đầu vào chứa các phần tử ngẫu nhiên.

Câu 5: Đặc điểm nào sau đây là đúng về thuật toán sắp xếp chèn (Insertion Sort)?

  • A. Là thuật toán sắp xếp tại chỗ (in-place) và ổn định (stable).
  • B. Là thuật toán sắp xếp tại chỗ nhưng không ổn định.
  • C. Không phải là thuật toán sắp xếp tại chỗ nhưng ổn định.
  • D. Không phải là thuật toán sắp xếp tại chỗ và không ổn định.

Câu 6: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Chèn từng phần tử vào đúng vị trí trong mảng con đã sắp xếp.
  • B. So sánh và hoán đổi các phần tử liền kề một cách lặp đi lặp lại.
  • C. Chia mảng thành các mảng con nhỏ hơn và sắp xếp đệ quy.
  • D. Trong mỗi bước, tìm phần tử nhỏ nhất (hoặc lớn nhất) trong phần chưa sắp xếp và đổi chỗ nó với phần tử đầu tiên của phần chưa sắp xếp đó.

Câu 7: Cho mảng B = [7, 3, 9, 2, 5]. Sau khi thực hiện xong bước thứ nhất của thuật toán sắp xếp chọn (phần tử nhỏ nhất đầu tiên đã được đưa về đúng vị trí), mảng B sẽ có trạng thái như thế nào?

  • A. [2, 3, 5, 7, 9]
  • B. [2, 3, 9, 7, 5]
  • C. [3, 7, 9, 2, 5]
  • D. [7, 3, 9, 2, 5]

Câu 8: Điểm nổi bật về số lượng phép hoán đổi (swaps) của thuật toán sắp xếp chọn (Selection Sort) so với sắp xếp nổi bọt (Bubble Sort) và sắp xếp chèn (Insertion Sort) là gì?

  • A. Thực hiện nhiều phép hoán đổi hơn đáng kể.
  • B. Thực hiện số phép hoán đổi tương đương.
  • C. Thực hiện số phép hoán đổi ít hơn đáng kể, chỉ khoảng O(n).
  • D. Không thực hiện bất kỳ phép hoán đổi nào.

Câu 9: Độ phức tạp thời gian (best, worst, average) của thuật toán sắp xếp chọn (Selection Sort) là gì?

  • A. Best: O(n), Worst: O(n^2), Average: O(n^2)
  • B. Best: O(n log n), Worst: O(n log n), Average: O(n log n)
  • C. Best: O(n^2), Worst: O(n^2), Average: O(n log n)
  • D. Best: O(n^2), Worst: O(n^2), Average: O(n^2)

Câu 10: Tại sao thuật toán sắp xếp chọn (Selection Sort) lại có độ phức tạp thời gian là O(n^2) ngay cả trong trường hợp tốt nhất (mảng đã sắp xếp)?

  • A. Bởi vì nó luôn phải duyệt qua toàn bộ phần chưa sắp xếp để tìm phần tử nhỏ nhất, bất kể dữ liệu đã sắp xếp như thế nào.
  • B. Bởi vì nó thực hiện quá nhiều phép hoán đổi.
  • C. Bởi vì nó sử dụng kỹ thuật chia để trị.
  • D. Bởi vì nó cần thêm bộ nhớ phụ để lưu trữ các phần tử.

Câu 11: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

  • A. Tìm phần tử nhỏ nhất và đưa về đầu mảng.
  • B. Lặp đi lặp lại việc so sánh và hoán đổi các cặp phần tử liền kề nếu chúng không đúng thứ tự.
  • C. Chèn từng phần tử vào đúng vị trí trong mảng con đã sắp xếp.
  • D. Chia mảng thành hai phần và sắp xếp riêng biệt.

Câu 12: Cho mảng C = [6, 1, 4, 2, 5]. Sau khi thực hiện xong vòng lặp ngoài thứ nhất của thuật toán sắp xếp nổi bọt (phần tử lớn nhất đã nổi lên cuối mảng), mảng C sẽ có trạng thái như thế nào?

  • A. [1, 2, 4, 5, 6]
  • B. [1, 4, 2, 5, 6]
  • C. [1, 4, 2, 5, 6]
  • D. [6, 5, 4, 2, 1]

Câu 13: Để cải tiến thuật toán sắp xếp nổi bọt (Bubble Sort) nhằm dừng sớm khi mảng đã sắp xếp, người ta thường sử dụng một biến cờ (flag). Biến cờ này được sử dụng như thế nào?

  • A. Đếm số lần hoán đổi trong toàn bộ quá trình.
  • B. Đếm số lần so sánh trong một vòng lặp ngoài.
  • C. Kiểm tra xem có phần tử nào bằng 0 hay không.
  • D. Đánh dấu xem có bất kỳ phép hoán đổi nào xảy ra trong một vòng lặp ngoài hay không. Nếu không có hoán đổi, mảng đã sắp xếp và thuật toán dừng lại.

Câu 14: Trường hợp nào sau đây là trường hợp tốt nhất (best-case) cho thuật toán sắp xếp nổi bọt (Bubble Sort) khi có sử dụng biến cờ (flag) để dừng sớm?

  • A. Mảng đầu vào đã được sắp xếp tăng dần.
  • B. Mảng đầu vào đã được sắp xếp giảm dần.
  • C. Mảng đầu vào chứa các phần tử ngẫu nhiên.
  • D. Mảng đầu vào chỉ có hai phần tử.

Câu 15: Cả ba thuật toán sắp xếp đơn giản (Nổi bọt, Chọn, Chèn) đều có chung đặc điểm nào về không gian bộ nhớ?

  • A. Đều sử dụng O(n) không gian bộ nhớ phụ.
  • B. Đều là thuật toán tại chỗ (in-place), sử dụng O(1) không gian bộ nhớ phụ (ngoài không gian lưu trữ mảng đầu vào).
  • C. Đều sử dụng O(n log n) không gian bộ nhớ phụ.
  • D. Không có đặc điểm chung nào về không gian bộ nhớ.

Câu 16: Giả sử bạn cần sắp xếp một danh sách các đối tượng (ví dụ: sinh viên) mà các đối tượng có thể có cùng giá trị khóa sắp xếp (ví dụ: điểm số). Bạn muốn giữ nguyên thứ tự tương đối ban đầu của các đối tượng có cùng khóa. Thuộc tính nào của thuật toán sắp xếp là quan trọng trong trường hợp này?

  • A. Tại chỗ (In-place)
  • B. Độ phức tạp O(n log n)
  • C. Ổn định (Stable)
  • D. Độ phức tạp O(n^2)

Câu 17: Trong ba thuật toán sắp xếp đơn giản đã học (Nổi bọt, Chọn, Chèn), thuật toán nào không đảm bảo tính ổn định (stable)?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều ổn định.

Câu 18: Tại sao thuật toán sắp xếp chọn (Selection Sort) lại không ổn định trong một số trường hợp?

  • A. Bởi vì nó có thể hoán đổi một phần tử nhỏ nhất được tìm thấy ở xa với một phần tử ở đầu đoạn chưa sắp xếp, làm thay đổi thứ tự tương đối của các phần tử bằng nhau.
  • B. Bởi vì nó chỉ so sánh các phần tử liền kề.
  • C. Bởi vì nó luôn chèn phần tử vào đúng vị trí.
  • D. Bởi vì nó sử dụng biến cờ để dừng sớm.

Câu 19: Giả sử bạn có một mảng 1000 phần tử và bạn biết chắc rằng mảng này gần như đã được sắp xếp (chỉ có rất ít phần tử sai vị trí). Trong ba thuật toán đơn giản, thuật toán nào có khả năng hoạt động hiệu quả nhất trong trường hợp này?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Hiệu quả của cả ba thuật toán là như nhau trong trường hợp này.

Câu 20: Thuật toán sắp xếp nào trong số ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) thực hiện số lượng phép so sánh ít nhất trong trường hợp tốt nhất?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp nổi bọt (Bubble Sort) không cải tiến.
  • C. Sắp xếp nổi bọt (Bubble Sort) có cải tiến dừng sớm.
  • D. Sắp xếp chèn (Insertion Sort).

Câu 21: Khi phân tích độ phức tạp thời gian của thuật toán sắp xếp, O(n^2) thường được coi là kém hiệu quả hơn O(n log n) hoặc O(n) khi n (kích thước dữ liệu) rất lớn. Phát biểu nào sau đây giải thích đúng lý do này?

  • A. Hàm n^2 tăng chậm hơn nhiều so với hàm n log n và n khi n tăng.
  • B. Hàm n^2 chỉ áp dụng cho các trường hợp dữ liệu đã sắp xếp.
  • C. Hàm n^2 chỉ tính số phép hoán đổi, không tính số phép so sánh.
  • D. Hàm n^2 tăng nhanh hơn nhiều so với hàm n log n và n khi n tăng, dẫn đến thời gian thực hiện tăng lên đáng kể với dữ liệu lớn.

Câu 22: Cho mảng D = [3, 1, 4, 1, 5, 9, 2, 6]. Giả sử bạn sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort). Sau khi phần tử có giá trị 9 đã "nổi" lên vị trí cuối cùng, phần tử nào sẽ chắc chắn ở vị trí áp chót (trước số 9)?

  • A. Phần tử lớn nhất trong các phần tử còn lại (trừ số 9).
  • B. Phần tử nhỏ nhất trong mảng ban đầu.
  • C. Phần tử 6.
  • D. Không thể xác định chắc chắn nếu không chạy toàn bộ thuật toán.

Câu 23: So sánh sắp xếp chèn (Insertion Sort) và sắp xếp chọn (Selection Sort) về hiệu quả thực tế. Phát biểu nào sau đây thường đúng?

  • A. Selection Sort luôn nhanh hơn Insertion Sort.
  • B. Insertion Sort luôn nhanh hơn Selection Sort.
  • C. Insertion Sort có thể nhanh hơn Selection Sort đáng kể khi dữ liệu gần sắp xếp, trong khi Selection Sort luôn có hiệu suất O(n^2).
  • D. Selection Sort yêu cầu ít bộ nhớ hơn Insertion Sort.

Câu 24: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) thực hiện số lượng phép so sánh nhiều nhất trong trường hợp xấu nhất?

  • A. Cả Sắp xếp chọn và Sắp xếp nổi bọt (không cải tiến) thực hiện O(n^2) phép so sánh.
  • B. Sắp xếp chèn.
  • C. Sắp xếp nổi bọt (có cải tiến dừng sớm).
  • D. Sắp xếp chọn.

Câu 25: Bạn được yêu cầu viết một chương trình sắp xếp cho một thiết bị có bộ nhớ rất hạn chế. Trong ba thuật toán đơn giản, thuật toán nào phù hợp nhất vì yêu cầu không gian bộ nhớ phụ ít nhất?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều là in-place (O(1) không gian phụ), nên đều phù hợp về mặt bộ nhớ.

Câu 26: Cho mảng A = [4, 2, 7, 1, 5]. Hãy mô tả trạng thái của mảng sau khi hoàn thành hai bước chèn đầu tiên của thuật toán sắp xếp chèn (tức là sau khi xử lý xong phần tử 2 và 7).

  • A. [1, 2, 4, 5, 7]
  • B. [2, 4, 7, 1, 5]
  • C. [4, 2, 7, 1, 5]
  • D. [2, 4, 1, 5, 7]

Câu 27: Cho mảng B = [9, 5, 2, 8, 1]. Sử dụng thuật toán sắp xếp chọn. Sau khi hoàn thành bước thứ hai (hai phần tử nhỏ nhất đã được đưa về đúng vị trí đầu mảng), mảng B sẽ có trạng thái như thế nào?

  • A. [1, 2, 5, 8, 9]
  • B. [1, 5, 2, 8, 9]
  • C. [1, 2, 9, 8, 5]
  • D. [2, 1, 9, 8, 5]

Câu 28: Cho mảng C = [3, 2, 1]. Áp dụng thuật toán sắp xếp nổi bọt (không cải tiến). Số lượng phép so sánh và hoán đổi cần thiết để sắp xếp mảng này là bao nhiêu?

  • A. 3 phép so sánh, 3 phép hoán đổi.
  • B. 3 phép so sánh, 2 phép hoán đổi.
  • C. 2 phép so sánh, 2 phép hoán đổi.
  • D. 3 phép so sánh, 0 phép hoán đổi.

Câu 29: Thuật toán sắp xếp đơn giản nào sau đây có ít nhất một trường hợp (best-case) đạt được hiệu quả O(n)?

  • A. Chỉ có Sắp xếp chèn.
  • B. Chỉ có Sắp xếp nổi bọt (có cải tiến dừng sớm).
  • C. Chỉ có Sắp xếp chọn.
  • D. Sắp xếp chèn và Sắp xếp nổi bọt (có cải tiến dừng sớm).

Câu 30: Khi so sánh ba thuật toán sắp xếp đơn giản, thuật toán nào thường được coi là có hiệu suất ổn định nhất (ít bị ảnh hưởng bởi thứ tự ban đầu của dữ liệu) về số lượng phép so sánh, mặc dù vẫn có độ phức tạp O(n^2)?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều bị ảnh hưởng bởi thứ tự ban đầu như nhau.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 1: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động dựa trên ý tưởng chính nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 2: Cho mảng A = [5, 2, 8, 1, 4]. Sau khi thực hiện xong *bước thứ hai* của thuật toán sắp xếp chèn (khi phần tử có giá trị 8 được xét), mảng A sẽ có trạng thái như thế nào? (Giả sử xét từ trái sang phải, phần tử đầu tiên [5] đã được coi là mảng con đã sắp xếp ban đầu).

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 3: Thuật toán sắp xếp chèn (Insertion Sort) có độ phức tạp thời gian tốt nhất (best-case time complexity) là gì và xảy ra khi nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 4: Trường hợp nào sau đây khiến thuật toán sắp xếp chèn (Insertion Sort) đạt đến độ phức tạp thời gian xấu nhất (worst-case time complexity) là O(n^2)?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 5: Đặc điểm nào sau đây là *đúng* về thuật toán sắp xếp chèn (Insertion Sort)?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 6: Thuật toán sắp xếp chọn (Selection Sort) hoạt động dựa trên ý tưởng chính nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 7: Cho mảng B = [7, 3, 9, 2, 5]. Sau khi thực hiện xong *bước thứ nhất* của thuật toán sắp xếp chọn (phần tử nhỏ nhất đầu tiên đã được đưa về đúng vị trí), mảng B sẽ có trạng thái như thế nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 8: Điểm nổi bật về số lượng phép hoán đổi (swaps) của thuật toán sắp xếp chọn (Selection Sort) so với sắp xếp nổi bọt (Bubble Sort) và sắp xếp chèn (Insertion Sort) là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 9: Độ phức tạp thời gian (best, worst, average) của thuật toán sắp xếp chọn (Selection Sort) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 10: Tại sao thuật toán sắp xếp chọn (Selection Sort) lại có độ phức tạp thời gian là O(n^2) ngay cả trong trường hợp tốt nhất (mảng đã sắp xếp)?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 11: Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động dựa trên ý tưởng chính nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 12: Cho mảng C = [6, 1, 4, 2, 5]. Sau khi thực hiện xong *vòng lặp ngoài thứ nhất* của thuật toán sắp xếp nổi bọt (phần tử lớn nhất đã nổi lên cuối mảng), mảng C sẽ có trạng thái như thế nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 13: Để cải tiến thuật toán sắp xếp nổi bọt (Bubble Sort) nhằm dừng sớm khi mảng đã sắp xếp, người ta thường sử dụng một biến cờ (flag). Biến cờ này được sử dụng như thế nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 14: Trường hợp nào sau đây là trường hợp tốt nhất (best-case) cho thuật toán sắp xếp nổi bọt (Bubble Sort) khi có sử dụng biến cờ (flag) để dừng sớm?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 15: Cả ba thuật toán sắp xếp đơn giản (Nổi bọt, Chọn, Chèn) đều có chung đặc điểm nào về không gian bộ nhớ?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 16: Giả sử bạn cần sắp xếp một danh sách các đối tượng (ví dụ: sinh viên) mà các đối tượng có thể có cùng giá trị khóa sắp xếp (ví dụ: điểm số). Bạn muốn giữ nguyên thứ tự tương đối ban đầu của các đối tượng có cùng khóa. Thuộc tính nào của thuật toán sắp xếp là quan trọng trong trường hợp này?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 17: Trong ba thuật toán sắp xếp đơn giản đã học (Nổi bọt, Chọn, Chèn), thuật toán nào *không* đảm bảo tính ổn định (stable)?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 18: Tại sao thuật toán sắp xếp chọn (Selection Sort) lại *không ổn định* trong một số trường hợp?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 19: Giả sử bạn có một mảng 1000 phần tử và bạn biết chắc rằng mảng này *gần như đã được sắp xếp* (chỉ có rất ít phần tử sai vị trí). Trong ba thuật toán đơn giản, thuật toán nào có khả năng hoạt động hiệu quả nhất trong trường hợp này?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 20: Thuật toán sắp xếp nào trong số ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) thực hiện số lượng phép so sánh *ít nhất* trong trường hợp tốt nhất?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 21: Khi phân tích độ phức tạp thời gian của thuật toán sắp xếp, O(n^2) thường được coi là kém hiệu quả hơn O(n log n) hoặc O(n) khi n (kích thước dữ liệu) rất lớn. Phát biểu nào sau đây giải thích *đúng* lý do này?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 22: Cho mảng D = [3, 1, 4, 1, 5, 9, 2, 6]. Giả sử bạn sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort). Sau khi phần tử có giá trị 9 đã 'nổi' lên vị trí cuối cùng, phần tử nào sẽ chắc chắn ở vị trí áp chót (trước số 9)?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 23: So sánh sắp xếp chèn (Insertion Sort) và sắp xếp chọn (Selection Sort) về hiệu quả thực tế. Phát biểu nào sau đây thường đúng?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 24: Thuật toán sắp xếp nào trong ba thuật toán đơn giản (Nổi bọt, Chọn, Chèn) thực hiện số lượng phép so sánh *nhiều nhất* trong trường hợp xấu nhất?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 25: Bạn được yêu cầu viết một chương trình sắp xếp cho một thiết bị có bộ nhớ rất hạn chế. Trong ba thuật toán đơn giản, thuật toán nào phù hợp nhất vì yêu cầu không gian bộ nhớ phụ ít nhất?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 26: Cho mảng A = [4, 2, 7, 1, 5]. Hãy mô tả trạng thái của mảng sau khi hoàn thành *hai bước chèn* đầu tiên của thuật toán sắp xếp chèn (tức là sau khi xử lý xong phần tử 2 và 7).

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 27: Cho mảng B = [9, 5, 2, 8, 1]. Sử dụng thuật toán sắp xếp chọn. Sau khi hoàn thành *bước thứ hai* (hai phần tử nhỏ nhất đã được đưa về đúng vị trí đầu mảng), mảng B sẽ có trạng thái như thế nào?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 28: Cho mảng C = [3, 2, 1]. Áp dụng thuật toán sắp xếp nổi bọt (không cải tiến). Số lượng phép so sánh và hoán đổi cần thiết để sắp xếp mảng này là bao nhiêu?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 29: Thuật toán sắp xếp đơn giản nào sau đây có *ít nhất* một trường hợp (best-case) đạt được hiệu quả O(n)?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 09

Câu 30: Khi so sánh ba thuật toán sắp xếp đơn giản, thuật toán nào thường được coi là có hiệu suất *ổn định nhất* (ít bị ảnh hưởng bởi thứ tự ban đầu của dữ liệu) về số lượng phép so sánh, mặc dù vẫn có độ phức tạp O(n^2)?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 10

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản - Đề 10 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Ý tưởng cốt lõi của thuật toán sắp xếp chèn (Insertion Sort) là gì?

  • A. Liên tục hoán đổi các cặp phần tử liền kề không đúng thứ tự cho đến khi mảng được sắp xếp.
  • B. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp còn lại và đặt nó vào vị trí đầu tiên của phần chưa sắp xếp.
  • C. Xây dựng mảng đã sắp xếp bằng cách chèn từng phần tử từ phần chưa sắp xếp vào đúng vị trí của nó trong phần đã sắp xếp.
  • D. Chia mảng thành hai nửa, sắp xếp từng nửa rồi trộn lại.

Câu 2: Thuật toán sắp xếp chọn (Selection Sort) hoạt động theo nguyên tắc nào trong mỗi bước lặp chính?

  • A. So sánh phần tử hiện tại với tất cả các phần tử trước nó để chèn vào đúng vị trí.
  • B. Tìm phần tử cực trị (nhỏ nhất hoặc lớn nhất tùy mục đích) trong phần mảng chưa được sắp xếp và đưa nó về đúng vị trí cuối cùng của phần đã sắp xếp (hoặc đầu tiên tùy cách triển khai).
  • C. Lần lượt so sánh và hoán đổi các phần tử liền kề từ đầu đến cuối mảng.
  • D. Chia mảng thành các phần nhỏ hơn và sử dụng thuật toán đệ quy để sắp xếp.

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), quá trình "nổi bọt" của các phần tử có ý nghĩa gì?

  • A. Các phần tử lớn hơn dần được di chuyển (hoán đổi) về phía cuối mảng sau mỗi lần duyệt qua.
  • B. Các phần tử nhỏ hơn dần được di chuyển (hoán đổi) về phía cuối mảng sau mỗi lần duyệt qua.
  • C. Phần tử nhỏ nhất được tìm thấy và di chuyển về đầu mảng.
  • D. Phần tử hiện tại được chèn vào đúng vị trí trong phần đã sắp xếp.

Câu 4: Cho mảng A = [5, 2, 8, 1, 9]. Sau vòng lặp chính đầu tiên (tức là sau khi phần tử thứ 2 - giá trị 2 - được xử lý) của thuật toán Sắp xếp chèn, mảng A sẽ có trạng thái như thế nào?

  • A. [2, 5, 8, 1, 9]
  • B. [1, 2, 5, 8, 9]
  • C. [5, 2, 8, 1, 9]
  • D. [2, 1, 5, 8, 9]

Câu 5: Cho mảng B = [7, 3, 9, 1, 5]. Sau vòng lặp chính đầu tiên của thuật toán Sắp xếp chọn (tìm phần tử nhỏ nhất và đặt vào vị trí đầu tiên), mảng B sẽ có trạng thái như thế nào?

  • A. [3, 7, 9, 1, 5]
  • B. [7, 3, 9, 1, 5]
  • C. [1, 3, 9, 7, 5]
  • D. [1, 7, 9, 3, 5]

Câu 6: Cho mảng C = [4, 1, 6, 3]. Sau lần duyệt mảng đầy đủ đầu tiên của vòng lặp ngoài trong thuật toán Sắp xếp nổi bọt (Bubble Sort), mảng C sẽ có trạng thái như thế nào?

  • A. [1, 3, 4, 6]
  • B. [1, 4, 3, 6]
  • C. [4, 1, 6, 3]
  • D. [4, 6, 3, 1]

Câu 7: Độ phức tạp thời gian trong trường hợp TỐT NHẤT của thuật toán Sắp xếp chèn (Insertion Sort) là bao nhiêu?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 8: Độ phức tạp thời gian trong trường hợp XẤU NHẤT của thuật toán Sắp xếp chèn (Insertion Sort) là bao nhiêu?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^2)
  • D. O(1)

Câu 9: Độ phức tạp thời gian trong trường hợp TỐT NHẤT của thuật toán Sắp xếp chọn (Selection Sort) là bao nhiêu?

  • A. O(n)
  • B. O(n^2)
  • C. O(n log n)
  • D. O(1)

Câu 10: Độ phức tạp thời gian trong trường hợp XẤU NHẤT của thuật toán Sắp xếp chọn (Selection Sort) là bao nhiêu?

  • A. O(n)
  • B. O(n log n)
  • C. O(n^3)
  • D. O(n^2)

Câu 11: Độ phức tạp thời gian trong trường hợp TỐT NHẤT của thuật toán Sắp xếp nổi bọt (Bubble Sort) là bao nhiêu?

  • A. O(n)
  • B. O(n^2)
  • C. O(n log n)
  • D. O(log n)

Câu 12: Độ phức tạp thời gian trong trường hợp XẤU NHẤT của thuật toán Sắp xếp nổi bọt (Bubble Sort) là bao nhiêu?

  • A. O(n)
  • B. O(n^2)
  • C. O(n log n)
  • D. O(1)

Câu 13: Thuật toán sắp xếp đơn giản nào sau đây được coi là "ổn định" (stable), nghĩa là nó giữ nguyên thứ tự tương đối của các phần tử có giá trị bằng nhau?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp nhanh (Quick Sort)
  • C. Sắp xếp chèn (Insertion Sort)
  • D. Sắp xếp trộn (Merge Sort)

Câu 14: Trong trường hợp mảng đầu vào đã được sắp xếp, thuật toán nào trong ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) sẽ thực hiện số lượng phép so sánh ít nhất?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều thực hiện số phép so sánh như nhau trong trường hợp này.

Câu 15: Thuật toán sắp xếp đơn giản nào sau đây luôn thực hiện O(n^2) phép so sánh, bất kể trạng thái ban đầu của mảng?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Không có thuật toán nào trong ba thuật toán này.

Câu 16: Cho mảng D = [6, 4, 2, 8, 5]. Sau khi thực hiện xong vòng lặp chính thứ hai (tức là sau khi phần tử thứ 3 - giá trị 2 - được xử lý) của thuật toán Sắp xếp chèn, mảng D sẽ có trạng thái như thế nào?

  • A. [2, 4, 6, 8, 5]
  • B. [4, 6, 2, 8, 5]
  • C. [4, 6, 2, 8, 5] -> [4, 2, 6, 8, 5] -> [2, 4, 6, 8, 5] (processing 2), answer is [2, 4, 6, 8, 5]
  • D. [6, 4, 2, 8, 5]

Câu 17: Cho mảng E = [9, 5, 2, 7, 1]. Sau khi thực hiện xong vòng lặp chính thứ hai (tìm phần tử nhỏ nhất trong phần còn lại và đưa về vị trí thứ hai) của thuật toán Sắp xếp chọn, mảng E sẽ có trạng thái như thế nào?

  • A. [1, 2, 9, 7, 5]
  • B. [1, 5, 9, 7, 2]
  • C. [1, 2, 5, 7, 9]
  • D. [1, 5, 2, 7, 9]

Câu 18: Cho mảng F = [3, 1, 4, 2]. Sau khi thực hiện xong lần duyệt mảng đầy đủ thứ hai của vòng lặp ngoài trong thuật toán Sắp xếp nổi bọt (Bubble Sort), mảng F sẽ có trạng thái như thế nào?

  • A. [1, 2, 3, 4]
  • B. [1, 3, 2, 4]
  • C. [3, 1, 4, 2]
  • D. [1, 4, 2, 3]

Câu 19: Một nhà phát triển cần sắp xếp một danh sách các mục rất nhỏ (khoảng 10-20 phần tử) trong một ứng dụng thời gian thực. Thuật toán sắp xếp đơn giản nào sau đây thường được ưu tiên sử dụng trong trường hợp này vì hiệu suất tốt trên dữ liệu nhỏ và cài đặt đơn giản?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba đều có hiệu suất tương đương nhau trên dữ liệu nhỏ.

Câu 20: Khi phân tích hiệu quả của thuật toán sắp xếp trên một mảng có kích thước lớn, yếu tố nào sau đây thường là quan trọng nhất để so sánh giữa các thuật toán?

  • A. Số lượng dòng mã nguồn của thuật toán.
  • B. Bộ nhớ phụ cần dùng (Space Complexity).
  • C. Độ phức tạp thời gian (Time Complexity) trong trường hợp trung bình hoặc xấu nhất.
  • D. Tên của thuật toán.

Câu 21: So sánh số lượng phép hoán đổi (swap) giữa Sắp xếp chèn và Sắp xếp chọn trong trường hợp xấu nhất (mảng sắp xếp ngược). Phát biểu nào sau đây là ĐÚNG?

  • A. Sắp xếp chèn thực hiện ít hoán đổi hơn Sắp xếp chọn.
  • B. Sắp xếp chọn thực hiện ít hoán đổi hơn Sắp xếp chèn.
  • C. Cả hai thuật toán thực hiện số lượng hoán đổi tương đương nhau.
  • D. Số lượng hoán đổi chỉ phụ thuộc vào trạng thái ban đầu, không phụ thuộc thuật toán.

Câu 22: Tại sao thuật toán Sắp xếp chọn (Selection Sort) luôn có độ phức tạp thời gian là O(n^2) cho số phép so sánh, ngay cả trong trường hợp tốt nhất?

  • A. Vì nó phải hoán đổi các phần tử ở mỗi bước.
  • B. Vì nó sử dụng hai vòng lặp lồng nhau và vòng lặp bên trong luôn chạy hết.
  • C. Vì nó cần tìm phần tử nhỏ nhất trong phần chưa sắp xếp ở mỗi bước, điều này đòi hỏi duyệt qua tất cả các phần tử còn lại.
  • D. Vì nó luôn phải tìm phần tử nhỏ nhất trong phần chưa sắp xếp (duyệt hết phần chưa sắp xếp) và việc này lặp lại n-1 lần.

Câu 23: Cho mảng G = [1, 5, 3, 8, 2]. Mảng này có thể là kết quả sau một số bước của thuật toán sắp xếp nào?

  • A. Sắp xếp chèn (Insertion Sort) - sau khi xử lý 1, 5, 3.
  • B. Sắp xếp chọn (Selection Sort) - sau một số bước.
  • C. Sắp xếp nổi bọt (Bubble Sort) - sau một số lần duyệt.
  • D. Không thể là kết quả của bất kỳ thuật toán sắp xếp đơn giản nào.

Câu 24: Cho mảng H = [1, 2, 8, 5, 9]. Nếu mảng ban đầu là [8, 5, 1, 9, 2], trạng thái H có thể đạt được sau bao nhiêu vòng lặp chính của thuật toán Sắp xếp chọn?

  • A. 0
  • B. 1
  • C. 2
  • D. 3

Câu 25: Cho mảng K = [7, 2, 5, 1, 8]. Trạng thái K = [2, 5, 1, 7, 8] có thể là kết quả sau bao nhiêu lần duyệt mảng đầy đủ của vòng lặp ngoài trong thuật toán Sắp xếp nổi bọt?

  • A. 0
  • B. 1
  • C. 2
  • D. 3

Câu 26: So với Sắp xếp chọn và Sắp xếp nổi bọt, Sắp xếp chèn có một ưu điểm đáng kể khi làm việc với dữ liệu nào?

  • A. Dữ liệu ngẫu nhiên hoàn toàn.
  • B. Dữ liệu sắp xếp ngược.
  • C. Dữ liệu có nhiều phần tử trùng lặp.
  • D. Dữ liệu đã gần được sắp xếp.

Câu 27: Phát biểu nào sau đây về bộ nhớ phụ (space complexity) của ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) là ĐÚNG?

  • A. Cả ba thuật toán đều là "tại chỗ" (in-place), nghĩa là chúng chỉ cần một lượng bộ nhớ phụ không đáng kể (O(1)) ngoài mảng đầu vào.
  • B. Chỉ Sắp xếp chèn và Sắp xếp chọn là tại chỗ.
  • C. Cả ba thuật toán đều cần bộ nhớ phụ tỷ lệ thuận với kích thước mảng (O(n)).
  • D. Sắp xếp nổi bọt cần nhiều bộ nhớ phụ nhất.

Câu 28: Trong Sắp xếp chèn, phần tử được chèn vào phần đã sắp xếp bằng cách nào?

  • A. Hoán đổi nó với phần tử đầu tiên của phần đã sắp xếp.
  • B. So sánh nó với các phần tử trong phần đã sắp xếp từ phải sang trái và dịch chuyển các phần tử lớn hơn sang phải để tạo chỗ trống.
  • C. So sánh nó với phần tử ở giữa phần đã sắp xếp.
  • D. Tìm vị trí nhỏ nhất trong phần đã sắp xếp và đặt nó vào đó.

Câu 29: Điểm khác biệt chính trong cách xây dựng phần mảng đã sắp xếp giữa Sắp xếp chèn và Sắp xếp chọn là gì?

  • A. Sắp xếp chèn xây dựng phần đã sắp xếp từ cuối mảng, còn Sắp xếp chọn xây dựng từ đầu mảng.
  • B. Sắp xếp chèn thêm phần tử nhỏ nhất vào phần đã sắp xếp, còn Sắp xếp chọn thêm phần tử lớn nhất.
  • C. Sắp xếp chèn thêm phần tử tiếp theo từ phần chưa sắp xếp vào đúng vị trí trong phần đã sắp xếp; Sắp xếp chọn tìm phần tử cực trị trong phần chưa sắp xếp và hoán đổi nó với phần tử đầu tiên của phần chưa sắp xếp.
  • D. Sắp xếp chèn chỉ sử dụng hoán đổi, còn Sắp xếp chọn chỉ sử dụng phép gán.

Câu 30: Trong một lần duyệt của vòng lặp bên trong của thuật toán Sắp xếp nổi bọt trên một mảng n phần tử, số lượng phép so sánh tối đa có thể xảy ra là bao nhiêu?

  • A. n-1
  • B. n
  • C. n/2
  • D. 1

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 1: Ý tưởng cốt lõi của thuật toán sắp xếp chèn (Insertion Sort) là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 2: Thuật toán sắp xếp chọn (Selection Sort) hoạt động theo nguyên tắc nào trong mỗi bước lặp chính?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), quá trình 'nổi bọt' của các phần tử có ý nghĩa gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 4: Cho mảng A = [5, 2, 8, 1, 9]. Sau *vòng lặp chính đầu tiên* (tức là sau khi phần tử thứ 2 - giá trị 2 - được xử lý) của thuật toán Sắp xếp chèn, mảng A sẽ có trạng thái như thế nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 5: Cho mảng B = [7, 3, 9, 1, 5]. Sau *vòng lặp chính đầu tiên* của thuật toán Sắp xếp chọn (tìm phần tử nhỏ nhất và đặt vào vị trí đầu tiên), mảng B sẽ có trạng thái như thế nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 6: Cho mảng C = [4, 1, 6, 3]. Sau *lần duyệt mảng đầy đủ đầu tiên* của vòng lặp ngoài trong thuật toán Sắp xếp nổi bọt (Bubble Sort), mảng C sẽ có trạng thái như thế nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 7: Độ phức tạp thời gian trong trường hợp TỐT NHẤT của thuật toán Sắp xếp chèn (Insertion Sort) là bao nhiêu?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 8: Độ phức tạp thời gian trong trường hợp XẤU NHẤT của thuật toán Sắp xếp chèn (Insertion Sort) là bao nhiêu?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 9: Độ phức tạp thời gian trong trường hợp TỐT NHẤT của thuật toán Sắp xếp chọn (Selection Sort) là bao nhiêu?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 10: Độ phức tạp thời gian trong trường hợp XẤU NHẤT của thuật toán Sắp xếp chọn (Selection Sort) là bao nhiêu?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 11: Độ phức tạp thời gian trong trường hợp TỐT NHẤT của thuật toán Sắp xếp nổi bọt (Bubble Sort) là bao nhiêu?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 12: Độ phức tạp thời gian trong trường hợp XẤU NHẤT của thuật toán Sắp xếp nổi bọt (Bubble Sort) là bao nhiêu?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 13: Thuật toán sắp xếp đơn giản nào sau đây được coi là 'ổn định' (stable), nghĩa là nó giữ nguyên thứ tự tương đối của các phần tử có giá trị bằng nhau?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 14: Trong trường hợp mảng đầu vào đã được sắp xếp, thuật toán nào trong ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) sẽ thực hiện số lượng phép so sánh ít nhất?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 15: Thuật toán sắp xếp đơn giản nào sau đây luôn thực hiện O(n^2) phép so sánh, bất kể trạng thái ban đầu của mảng?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 16: Cho mảng D = [6, 4, 2, 8, 5]. Sau khi thực hiện xong *vòng lặp chính thứ hai* (tức là sau khi phần tử thứ 3 - giá trị 2 - được xử lý) của thuật toán Sắp xếp chèn, mảng D sẽ có trạng thái như thế nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 17: Cho mảng E = [9, 5, 2, 7, 1]. Sau khi thực hiện xong *vòng lặp chính thứ hai* (tìm phần tử nhỏ nhất trong phần còn lại và đưa về vị trí thứ hai) của thuật toán Sắp xếp chọn, mảng E sẽ có trạng thái như thế nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 18: Cho mảng F = [3, 1, 4, 2]. Sau khi thực hiện xong *lần duyệt mảng đầy đủ thứ hai* của vòng lặp ngoài trong thuật toán Sắp xếp nổi bọt (Bubble Sort), mảng F sẽ có trạng thái như thế nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 19: Một nhà phát triển cần sắp xếp một danh sách các mục rất nhỏ (khoảng 10-20 phần tử) trong một ứng dụng thời gian thực. Thuật toán sắp xếp đơn giản nào sau đây thường được ưu tiên sử dụng trong trường hợp này vì hiệu suất tốt trên dữ liệu nhỏ và cài đặt đơn giản?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 20: Khi phân tích hiệu quả của thuật toán sắp xếp trên một mảng có kích thước lớn, yếu tố nào sau đây thường là quan trọng nhất để so sánh giữa các thuật toán?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 21: So sánh số lượng phép hoán đổi (swap) giữa Sắp xếp chèn và Sắp xếp chọn trong trường hợp xấu nhất (mảng sắp xếp ngược). Phát biểu nào sau đây là ĐÚNG?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 22: Tại sao thuật toán Sắp xếp chọn (Selection Sort) luôn có độ phức tạp thời gian là O(n^2) cho số phép so sánh, ngay cả trong trường hợp tốt nhất?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 23: Cho mảng G = [1, 5, 3, 8, 2]. Mảng này có thể là kết quả sau một số bước của thuật toán sắp xếp nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 24: Cho mảng H = [1, 2, 8, 5, 9]. Nếu mảng ban đầu là [8, 5, 1, 9, 2], trạng thái H có thể đạt được sau bao nhiêu *vòng lặp chính* của thuật toán Sắp xếp chọn?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 25: Cho mảng K = [7, 2, 5, 1, 8]. Trạng thái K = [2, 5, 1, 7, 8] có thể là kết quả sau bao nhiêu *lần duyệt mảng đầy đủ* của vòng lặp ngoài trong thuật toán Sắp xếp nổi bọt?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 26: So với Sắp xếp chọn và Sắp xếp nổi bọt, Sắp xếp chèn có một ưu điểm đáng kể khi làm việc với dữ liệu nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 27: Phát biểu nào sau đây về bộ nhớ phụ (space complexity) của ba thuật toán sắp xếp đơn giản (Chèn, Chọn, Nổi bọt) là ĐÚNG?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 28: Trong Sắp xếp chèn, phần tử được chèn vào phần đã sắp xếp bằng cách nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 29: Điểm khác biệt chính trong cách xây dựng phần mảng đã sắp xếp giữa Sắp xếp chèn và Sắp xếp chọn là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

Tags: Bộ đề 10

Câu 30: Trong một lần duyệt của vòng lặp bên trong của thuật toán Sắp xếp nổi bọt trên một mảng n phần tử, số lượng phép so sánh tối đa có thể xảy ra là bao nhiêu?

Viết một bình luận