Trắc nghiệm Tin học 11 Kết nối tri thức KHMT 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 KHMT bài 21 Các thuật toán sắp xếp đơn giản giúp bạn nhìn nhận rõ các phần kiến thức cần cải thiện thông qua nhiều dạng câu hỏi phổ biến.

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

⏱ Thời gian còn lại: --:--
Tiến độ hoàn thành 0/0 câu

🏆 BẢNG VÀNG TOP 5 ĐIỂM TỐT NHẤT

Đang tải bảng xếp hạng...

Câu 1: Khi cài đặt thuật toán sắp xếp chọn, đoạn mã hoán đổi giá trị 'A[i], A[m] = A[m], A[i]' được đặt ở vị trí nào?

  • - Bên trong vòng lặp j (vòng lặp tìm giá trị nhỏ nhất)
  • - Ngay trước khi bắt đầu vòng lặp i
  • - Bên ngoài vòng lặp i
  • - Bên ngoài vòng lặp j nhưng nằm trong vòng lặp i

Câu 2: Trong mã nguồn Python của Selection Sort, đoạn code 'if A[j] < A[m]: m = j' có mục đích gì?

  • - Để tìm giá trị lớn nhất trong đoạn chưa sắp xếp
  • - Để hoán đổi hai phần tử A[j] và A[m]
  • - Để cập nhật chỉ số của phần tử nhỏ nhất hiện tại trong đoạn đang xét
  • - Để kết thúc vòng lặp sớm khi thấy dãy đã tăng dần

Câu 3: Trong Python, để hoán đổi giá trị của hai biến a và b một cách nhanh gọn, ta sử dụng câu lệnh nào?

  • - a = b; b = a
  • - a, b = b, a
  • - swap(a, b)
  • - temp = a; a = b; b = temp

Câu 4: Độ phức tạp thời gian trong trường hợp xấu nhất của cả ba thuật toán Selection Sort, Bubble Sort và Insertion Sort là bao nhiêu?

  • - O(n)
  • - O(log n)
  • - O(n log n)
  • - O(n bình phương)

Câu 5: Thuật toán sắp xếp nào thực hiện việc 'đổi chỗ' nhiều nhất trong trường hợp dãy bị ngược thứ tự hoàn toàn?

  • - Sắp xếp chọn
  • - Sắp xếp nổi bọt
  • - Sắp xếp nhanh
  • - Sắp xếp theo cơ số

Câu 6: Thuật toán sắp xếp nào hoạt động dựa trên nguyên lý 'chia để trị'?

  • - Sắp xếp chọn
  • - Sắp xếp nổi bọt
  • - Sắp xếp chèn
  • - Không có thuật toán nào trong ba loại trên

Câu 7: Sự khác biệt chính giữa sắp xếp chọn và sắp xếp chèn là gì?

  • - Sắp xếp chọn tìm phần tử để đưa vào vị trí cố định, sắp xếp chèn tìm vị trí để đưa phần tử cố định vào
  • - Sắp xếp chọn nhanh hơn nhiều so với sắp xếp chèn trong mọi trường hợp
  • - Sắp xếp chọn chỉ dùng cho số, sắp xếp chèn chỉ dùng cho xâu
  • - Sắp xếp chọn không dùng vòng lặp lồng nhau

Câu 8: Thuật toán sắp xếp nổi bọt có thể kết thúc sớm nếu xảy ra điều kiện gì trong một lượt quét?

  • - Khi có ít nhất một phép hoán đổi xảy ra
  • - Khi không có phép hoán đổi nào được thực hiện trong suốt lượt quét đó
  • - Khi phần tử đầu tiên bằng phần tử cuối cùng
  • - Khi đã thực hiện được một nửa số lượt quét dự kiến

Câu 9: Thuật toán sắp xếp nào thường có hiệu suất tốt nhất khi dãy đầu vào đã gần như được sắp xếp?

  • - Sắp xếp chọn
  • - Sắp xếp chèn
  • - Sắp xếp nổi bọt cơ bản
  • - Sắp xếp ngẫu nhiên

Câu 10: Khi thực hiện sắp xếp chèn cho dãy [2, 5, 8, 3, 1], tại bước xử lý phần tử giá trị 3, nó sẽ được chèn vào giữa hai phần tử nào?

  • - Giữa 2 và 5
  • - Giữa 5 và 8
  • - Đứng trước số 2
  • - Đứng sau số 8

Câu 11: Sự khác biệt chính giữa Selection Sort và Insertion Sort là gì?

  • - Selection Sort tìm kiếm giá trị nhỏ nhất để đưa về đầu, còn Insertion Sort lấy giá trị tiếp theo để chèn vào vị trí đúng
  • - Selection Sort chỉ dùng cho số, Insertion Sort dùng cho chuỗi
  • - Selection Sort nhanh hơn Insertion Sort trong mọi trường hợp
  • - Insertion Sort cần nhiều bộ nhớ phụ hơn Selection Sort

Câu 12: Khi cài đặt thuật toán sắp xếp nổi bọt trong Python, lệnh 'range(len(A)-1, 0, -1)' thường được dùng để làm gì?

  • - Xác định giới hạn của đoạn cần duyệt trong vòng lặp ngoài
  • - Xóa các phần tử trùng lặp trong dãy A
  • - Đảo ngược toàn bộ dãy A ngay lập tức
  • - Tìm giá trị trung bình cộng của dãy A

Câu 13: Độ phức tạp thời gian trung bình của cả ba thuật toán sắp xếp chọn, nổi bọt và chèn là bao nhiêu?

  • - O(n log n)
  • - O(n)
  • - O(log n)
  • - O(n^2)

Câu 14: Trong thuật toán sắp xếp chọn (Selection Sort), ý tưởng chính để sắp xếp một dãy số theo thứ tự tăng dần là gì?

  • - Liên tục đổi chỗ các cặp phần tử liền kề nếu chúng ngược thứ tự
  • - Chọn phần tử nhỏ nhất trong phần chưa sắp xếp và đưa về vị trí đầu của phần đó
  • - Chia dãy thành hai nửa rồi thực hiện sắp xếp đệ quy
  • - Lấy từng phần tử của dãy và chèn vào vị trí thích hợp trong đoạn đã sắp xếp

Câu 15: Trong thuật toán sắp xếp chèn, hành động nào được thực hiện khi phần tử đứng trước A[j] lớn hơn giá trị 'v' đang xét?

  • - Xóa bỏ phần tử A[j]
  • - Dịch chuyển phần tử đứng trước đó sang vị trí sau nó (sang phải)
  • - Dừng thuật toán ngay lập tức
  • - Hoán đổi 'v' với phần tử cuối cùng của dãy

Câu 16: Số lần lặp của vòng lặp ngoài cùng trong thuật toán Bubble Sort cho dãy có n phần tử là bao nhiêu?

  • - n lần
  • - n + 1 lần
  • - n - 1 lần
  • - n / 2 lần

Câu 17: Đặc điểm cơ bản của thuật toán sắp xếp chèn (Insertion Sort) là gì?

  • - Luôn hoán đổi phần tử đầu tiên với phần tử cuối cùng của dãy
  • - Duyệt qua dãy và luôn chọn phần tử lớn nhất để đưa về vị trí đúng
  • - Tại mỗi bước, lấy một phần tử từ phần chưa sắp xếp và chèn nó vào vị trí đúng trong phần đã sắp xếp
  • - Loại bỏ các phần tử trùng lặp trước khi tiến hành sắp xếp các phần tử còn lại

Câu 18: Tại sao thuật toán sắp xếp nổi bọt lại có tên gọi là 'nổi bọt'?

  • - Vì nó làm cho dữ liệu bị biến mất như bọt xà phòng
  • - Vì các phần tử nhỏ/lớn dần dần di chuyển về đầu hoặc cuối dãy giống như các bọt khí nổi lên
  • - Vì thuật toán này chỉ hoạt động với các số thực
  • - Vì nó là thuật toán sắp xếp nhanh nhất hiện nay

Câu 19: Nếu một danh sách đã gần như được sắp xếp (chỉ có một vài phần tử sai chỗ), thuật toán nào sau đây thường hoạt động hiệu quả nhất?

  • - Sắp xếp chọn
  • - Sắp xếp chèn
  • - Sắp xếp nổi bọt không cải tiến
  • - Sắp xếp ngẫu nhiên

Câu 20: Giả sử dãy số ban đầu là [1, 2, 3, 4, 5]. Thuật toán sắp xếp chèn sẽ thực hiện bao nhiêu phép so sánh chính?

  • - 0
  • - 4
  • - 10
  • - 25

Câu 21: Độ phức tạp thời gian trung bình của cả ba thuật toán sắp xếp đơn giản (Chọn, Nổi bọt, Chèn) là bao nhiêu?

  • - O(log n)
  • - O(n log n)
  • - O(n)
  • - O(n^2)

Câu 22: Cho dãy số A = [5, 2, 8, 3, 1]. Sau bước đầu tiên của thuật toán sắp xếp chọn (tìm min và đưa về đầu), dãy số trở thành như thế nào?

  • - [1, 2, 8, 3, 5]
  • - [2, 5, 8, 3, 1]
  • - [1, 5, 2, 8, 3]
  • - [5, 2, 3, 1, 8]

Câu 23: Câu lệnh nào xác định đúng phạm vi vòng lặp trong của thuật toán sắp xếp nổi bọt cho danh sách A có độ dài n (với i là chỉ số vòng lặp ngoài chạy từ 0 đến n-2)?

  • - for j in range(n - 1)
  • - for j in range(0, n - i - 1)
  • - for j in range(i, n)
  • - for j in range(n)

Câu 24: Nguyên lý của thuật toán sắp xếp chèn (Insertion Sort) được ví với hành động nào trong đời sống?

  • - Sắp xếp các quân bài trên tay khi chơi bài
  • - Xếp hàng mua vé theo thứ tự ai đến trước được phục vụ trước
  • - Lựa chọn những viên sỏi to nhất để cho vào lọ trước
  • - So sánh chiều cao của hai học sinh đứng cạnh nhau

Câu 25: Trong vòng lặp ngoài của thuật toán sắp xếp nổi bọt cho dãy có n phần tử, số lượt duyệt tối đa cần thực hiện là bao nhiêu?

  • - n
  • - n + 1
  • - n - 1
  • - n / 2