15+ Đề Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Đề 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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 01

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 01 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong bài toán quản lý kho hàng, việc sắp xếp danh sách sản phẩm theo số lượng tồn kho từ thấp đến cao mang lại lợi ích trực tiếp nào sau đây?

  • A. Giảm thời gian nhập kho hàng mới.
  • B. Dễ dàng xác định các sản phẩm sắp hết hàng để bổ sung kịp thời.
  • C. Tăng tốc độ tìm kiếm sản phẩm theo tên.
  • D. Cải thiện độ chính xác của báo cáo doanh thu.

Câu 2: Xét thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp một dãy số theo thứ tự tăng dần. Tại bước thứ i, phần tử ở vị trí thứ i được chèn vào vị trí thích hợp trong đoạn nào của dãy số?

  • A. Từ vị trí i đến cuối dãy số.
  • B. Từ đầu dãy số đến vị trí i.
  • C. Trong đoạn đã được sắp xếp từ đầu dãy đến vị trí i-1.
  • D. Vào cuối dãy số.

Câu 3: Trong thuật toán sắp xếp chọn (Selection Sort), sau khi thực hiện xong bước thứ nhất, điều gì đảm bảo đúng về dãy số?

  • A. Phần tử nhỏ nhất (hoặc lớn nhất tùy theo thứ tự sắp xếp) đã được đặt đúng vị trí đầu tiên.
  • B. Toàn bộ dãy số đã được sắp xếp.
  • C. Hai phần tử đầu tiên đã được sắp xếp đúng vị trí.
  • D. Phần tử cuối cùng đã được đặt đúng vị trí.

Câu 4: Khi nào thuật toán sắp xếp nổi bọt (Bubble Sort) được coi là lựa chọn phù hợp nhất trong các thuật toán sắp xếp đơn giản?

  • A. Khi cần sắp xếp một dãy số lượng lớn.
  • B. Khi yêu cầu tốc độ sắp xếp là yếu tố quan trọng nhất.
  • C. Khi cần sắp xếp dữ liệu trên bộ nhớ ngoài.
  • D. Khi dãy số đã gần như được sắp xếp và dễ cài đặt.

Câu 5: Giả sử bạn có một danh sách tên học sinh cần sắp xếp theo thứ tự bảng chữ cái. Thuật toán sắp xếp nào có thể được áp dụng hiệu quả nhất?

  • A. Thuật toán tìm kiếm nhị phân.
  • B. Thuật toán duyệt tuần tự.
  • C. Thuật toán sắp xếp chèn (Insertion Sort) hoặc sắp xếp chọn (Selection Sort).
  • D. Thuật toán đệ quy.

Câu 6: Trong thuật toán sắp xếp chèn, thao tác "dịch chuyển các phần tử lớn hơn sang phải" nhằm mục đích gì?

  • A. Để tăng tốc độ so sánh.
  • B. Để tạo chỗ trống cho phần tử hiện tại được chèn vào đúng vị trí.
  • C. Để giảm số lượng phép gán.
  • D. Để đơn giản hóa thuật toán.

Câu 7: Thuật toán sắp xếp chọn hoạt động dựa trên nguyên tắc chính nào?

  • A. So sánh và hoán đổi các cặp phần tử liền kề.
  • B. Chia nhỏ dãy số thành các dãy con rồi hợp nhất.
  • 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à đưa về vị trí đúng.
  • D. Chèn từng phần tử vào vị trí thích hợp trong phần đã sắp xếp.

Câu 8: Trong ngôn ngữ lập trình Python, phương thức `append()` thường được sử dụng để thêm một phần tử vào...

  • A. Đầu danh sách.
  • B. Vị trí bất kỳ trong danh sách.
  • C. Danh sách mới.
  • D. Cuối danh sách.

Câu 9: Xét đoạn chương trình sắp xếp sau (giả sử đã có hàm `hoan_doi(a, i, j)` đổi chỗ phần tử tại vị trí i và j trong danh sách a):
```python
for i in range(len(a) - 1):
min_index = i
for j in range(i + 1, len(a)):
if a[j] < a[min_index]: min_index = j hoan_doi(a, i, min_index) ``` Đoạn chương trình này thực hiện thuật toán sắp xếp 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. Sắp xếp nhanh (Quick Sort).

Câu 10: Để sắp xếp điểm trung bình của học sinh từ cao xuống thấp, bạn cần thực hiện sắp xếp theo thứ tự nào?

  • A. Thứ tự tăng dần.
  • B. Thứ tự ngẫu nhiên.
  • C. Thứ tự giảm dần.
  • D. Không cần sắp xếp.

Câu 11: Trong thuật toán sắp xếp nổi bọt, sau mỗi lần duyệt qua danh sách, phần tử nào sẽ được "nổi" lên vị trí đúng của nó?

  • A. Phần tử lớn nhất (hoặc nhỏ nhất tùy thứ tự sắp xếp) trong phần chưa sắp xếp.
  • B. Phần tử nhỏ nhất trong toàn bộ danh sách.
  • C. Phần tử ở vị trí giữa danh sách.
  • D. Phần tử cuối cùng của danh sách.

Câu 12: Ưu điểm chính của thuật toán sắp xếp chèn so với thuật toán sắp xếp chọn là gì?

  • A. Dễ cài đặt hơn.
  • B. Hiệu quả hơn trên dữ liệu đã gần được sắp xếp.
  • C. Luôn thực hiện ít phép so sánh hơn.
  • D. Ít tốn bộ nhớ hơn.

Câu 13: Để đọc dữ liệu số lượng hàng hóa từ một tệp văn bản có tên "kho.txt" và lưu vào danh sách trong Python, cấu trúc lệnh nào sau đây là phù hợp nhất?

  • A. `soluong_ds = read("kho.txt")`
  • B. `soluong_ds = loadtxt("kho.txt")`
  • C. `with open("kho.txt", "r") as f: soluong_ds = [int(line.strip()) for line in f]`
  • D. `import kho; soluong_ds = kho.read()`

Câu 14: Trong thuật toán sắp xếp chọn để sắp xếp giảm dần, biến `Max` thường được dùng để lưu trữ giá trị nào?

  • A. Giá trị nhỏ nhất hiện tại trong phần chưa sắp xếp.
  • B. Chỉ số của phần tử lớn nhất trong phần chưa sắp xếp.
  • C. Tổng các phần tử đã sắp xếp.
  • D. Số lượng phần tử còn lại chưa sắp xếp.

Câu 15: Phát biểu nào sau đây mô tả đúng nhất về thuật toán sắp xếp nổi bọt?

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

Câu 16: Giả sử bạn có danh sách [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (sắp xếp tăng dần), danh sách sẽ trở thành:

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

Câu 17: Độ 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 (dữ liệu đã sắp xếp) là:

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

Câu 18: Trong thực tế, khi nào nên ưu tiên sử dụng thuật toán sắp xếp chèn thay vì sắp xếp chọn?

  • A. Khi cần sắp xếp dữ liệu có kích thước rất lớn.
  • B. Khi dữ liệu cần sắp xếp hoàn toàn ngẫu nhiên.
  • C. Khi dữ liệu đã gần như được sắp xếp.
  • D. Khi yêu cầu sắp xếp ổn định (stable sort) là bắt buộc.

Câu 19: Cho danh sách điểm thi [7, 5, 9, 6, 8]. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp giảm dần, sau lượt duyệt đầu tiên, danh sách sẽ là:

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

Câu 20: Để kiểm tra xem một danh sách đã được sắp xếp theo thứ tự tăng dần hay chưa, cách hiệu quả nhất là gì?

  • A. Sắp xếp lại danh sách bằng một thuật toán khác và so sánh.
  • B. Duyệt qua danh sách, so sánh mỗi phần tử với phần tử kế tiếp.
  • C. Kiểm tra phần tử đầu và cuối danh sách.
  • D. Đếm số lượng phần tử trong danh sách.

Câu 21: Trong bài toán sắp xếp, thuật ngữ "sắp xếp tại chỗ" (in-place sorting) đề cập đến điều gì?

  • A. Thuật toán sắp xếp không sử dụng thêm bộ nhớ đáng kể ngoài dữ liệu đầu vào.
  • B. Thuật toán sắp xếp chỉ hoạt động trên một phần của dữ liệu.
  • C. Thuật toán sắp xếp chỉ áp dụng cho dữ liệu số nguyên.
  • D. Thuật toán sắp xếp luôn cho kết quả đúng vị trí mong muốn.

Câu 22: Xét bài toán sắp xếp danh sách các học sinh theo điểm trung bình. Nếu hai học sinh có điểm trung bình bằng nhau, tiêu chí phụ nào có thể được sử dụng để sắp xếp tiếp?

  • A. Màu mắt.
  • B. Chiều cao.
  • C. Địa chỉ nhà.
  • D. Tên học sinh (theo thứ tự bảng chữ cái).

Câu 23: Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình tốt nhất trong các thuật toán sắp xếp đơn giản đã học?

  • A. Sắp xếp nổi bọt (Bubble Sort).
  • B. Sắp xếp chèn (Insertion Sort).
  • C. Sắp xếp chọn (Selection Sort).
  • D. Cả ba thuật toán đều có độ phức tạp thời gian trung bình như nhau.

Câu 24: Trong thuật toán sắp xếp chèn, số lần so sánh trong trường hợp xấu nhất (dãy số đảo ngược) tỉ lệ với...

  • A. log n.
  • B. n.
  • C. n^2.
  • D. n log n.

Câu 25: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: học sinh với nhiều thuộc tính) dựa trên một thuộc tính cụ thể (ví dụ: điểm), bạn cần cung cấp thêm điều gì cho thuật toán sắp xếp?

  • A. Kích thước danh sách.
  • B. Hàm so sánh hai đối tượng dựa trên thuộc tính cần sắp xếp.
  • C. Kiểu dữ liệu của các thuộc tính khác.
  • D. Ngôn ngữ lập trình sử dụng.

Câu 26: Trong các thuật toán sắp xếp đơn giản đã học, thuật toán nào thực hiện ít phép hoán đổi nhất trong trường hợp trung bình?

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

Câu 27: Giả sử bạn cần sắp xếp danh sách số nguyên [3, 1, 4, 1, 5, 9, 2, 6] theo thứ tự tăng dần. Nếu sử dụng thuật toán sắp xếp ổn định (stable sort), điều gì được đảm bảo về vị trí tương đối của hai số 1 trong danh sách đã sắp xếp?

  • A. Số 1 xuất hiện trước trong danh sách gốc sẽ vẫn xuất hiện trước trong danh sách đã sắp xếp.
  • B. Số 1 xuất hiện sau trong danh sách gốc sẽ luôn xuất hiện trước trong danh sách đã sắp xếp.
  • C. Vị trí tương đối của hai số 1 có thể thay đổi tùy thuộc vào thuật toán.
  • D. Sắp xếp ổn định không áp dụng cho số nguyên trùng lặp.

Câu 28: Trong Python, hàm `sorted()` và phương thức `list.sort()` khác nhau cơ bản ở điểm nào?

  • A. `sorted()` chỉ sắp xếp số, `list.sort()` chỉ sắp xếp chuỗi.
  • B. `sorted()` trả về danh sách mới đã sắp xếp, `list.sort()` sắp xếp trực tiếp danh sách hiện tại.
  • C. `sorted()` nhanh hơn `list.sort()`.
  • D. `list.sort()` có thể sắp xếp theo thứ tự giảm dần, `sorted()` thì không.

Câu 29: Để sắp xếp dữ liệu trong một tệp lớn mà không thể tải toàn bộ vào bộ nhớ, thuật toán sắp xếp nào có thể được cân nhắc sử dụng (mặc dù vượt ngoài phạm vi thuật toán đơ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. Sắp xếp trộn ngoài (External Merge Sort).

Câu 30: Trong ngữ cảnh thực tế, việc sắp xếp dữ liệu thường là một bước tiền xử lý quan trọng cho các tác vụ nào sau đây?

  • A. Tính toán số trung bình cộng.
  • B. Sao lưu dữ liệu.
  • C. Tìm kiếm và phân tích dữ liệu.
  • D. Hiển thị dữ liệu lên màn hình.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 1: Trong bài toán quản lý kho hàng, việc sắp xếp danh sách sản phẩm theo số lượng tồn kho từ thấp đến cao mang lại lợi ích trực tiếp nào sau đây?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 2: Xét thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp một dãy số theo thứ tự tăng dần. Tại bước thứ i, phần tử ở vị trí thứ i được chèn vào vị trí thích hợp trong đoạn nào của dãy số?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 3: Trong thuật toán sắp xếp chọn (Selection Sort), sau khi thực hiện xong bước thứ nhất, điều gì đảm bảo đúng về dãy số?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 4: Khi nào thuật toán sắp xếp nổi bọt (Bubble Sort) được coi là lựa chọn phù hợp nhất trong các thuật toán sắp xếp đơn giản?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 5: Giả sử bạn có một danh sách tên học sinh cần sắp xếp theo thứ tự bảng chữ cái. Thuật toán sắp xếp nào có thể được áp dụng hiệu quả nhất?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 6: Trong thuật toán sắp xếp chèn, thao tác 'dịch chuyển các phần tử lớn hơn sang phải' nhằm mục đích gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 7: Thuật toán sắp xếp chọn hoạt động dựa trên nguyên tắc chính nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 8: Trong ngôn ngữ lập trình Python, phương thức `append()` thường được sử dụng để thêm một phần tử vào...

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 9: Xét đoạn chương trình sắp xếp sau (giả sử đã có hàm `hoan_doi(a, i, j)` đổi chỗ phần tử tại vị trí i và j trong danh sách a):
```python
for i in range(len(a) - 1):
min_index = i
for j in range(i + 1, len(a)):
if a[j] < a[min_index]: min_index = j hoan_doi(a, i, min_index) ``` Đoạn chương trình này thực hiện thuật toán sắp xếp nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 10: Để sắp xếp điểm trung bình của học sinh từ cao xuống thấp, bạn cần thực hiện sắp xếp theo thứ tự nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 11: Trong thuật toán sắp xếp nổi bọt, sau mỗi lần duyệt qua danh sách, phần tử nào sẽ được 'nổi' lên vị trí đúng của nó?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 12: Ưu điểm chính của thuật toán sắp xếp chèn so với thuật toán sắp xếp chọn là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 13: Để đọc dữ liệu số lượng hàng hóa từ một tệp văn bản có tên 'kho.txt' và lưu vào danh sách trong Python, cấu trúc lệnh nào sau đây là phù hợp nhất?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 14: Trong thuật toán sắp xếp chọn để sắp xếp giảm dần, biến `Max` thường được dùng để lưu trữ giá trị nào?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 15: Phát biểu nào sau đây mô tả đúng nhất 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 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 16: Giả sử bạn có danh sách [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (sắp xếp tăng dần), danh sách sẽ trở thành:

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 17: Độ 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 (dữ liệu đã sắp xếp) là:

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 18: Trong thực tế, khi nào nên ưu tiên sử dụng thuật toán sắp xếp chèn thay vì sắp xếp chọn?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 19: Cho danh sách điểm thi [7, 5, 9, 6, 8]. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp giảm dần, sau lượt duyệt đầu tiên, danh sách sẽ là:

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 20: Để kiểm tra xem một danh sách đã được sắp xếp theo thứ tự tăng dần hay chưa, cách hiệu quả nhất là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 21: Trong bài toán sắp xếp, thuật ngữ 'sắp xếp tại chỗ' (in-place sorting) đề cập đến điều gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 22: Xét bài toán sắp xếp danh sách các học sinh theo điểm trung bình. Nếu hai học sinh có điểm trung bình bằng nhau, tiêu chí phụ nào có thể được sử dụng để sắp xếp tiếp?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 23: Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình tốt nhất trong các thuật toán sắp xếp đơn giản đã học?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 24: Trong thuật toán sắp xếp chèn, số lần so sánh trong trường hợp xấu nhất (dãy số đảo ngược) tỉ lệ với...

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 25: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: học sinh với nhiều thuộc tính) dựa trên một thuộc tính cụ thể (ví dụ: điểm), bạn cần cung cấp thêm điều gì cho thuật toán sắp xếp?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 26: Trong các thuật toán sắp xếp đơn giản đã học, thuật toán nào thực hiện ít phép hoán đổi nhất trong trường hợp trung bình?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 27: Giả sử bạn cần sắp xếp danh sách số nguyên [3, 1, 4, 1, 5, 9, 2, 6] theo thứ tự tăng dần. Nếu sử dụng thuật toán sắp xếp ổn định (stable sort), điều gì được đảm bảo về vị trí tương đối của hai số 1 trong danh sách đã sắp xếp?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 28: Trong Python, hàm `sorted()` và phương thức `list.sort()` khác nhau cơ bản ở điểm nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 29: Để sắp xếp dữ liệu trong một tệp lớn mà không thể tải toàn bộ vào bộ nhớ, thuật toán sắp xếp nào có thể được cân nhắc sử dụng (mặc dù vượt ngoài phạm vi thuật toán đơn giản)?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 1

Câu 30: Trong ngữ cảnh thực tế, việc sắp xếp dữ liệu thường là một bước tiền xử lý quan trọng cho các tác vụ nào sau đây?

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 02

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 02 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong tình huống nào sau đây, thuật toán sắp xếp chèn (Insertion Sort) được xem là lựa chọn hiệu quả nhất về mặt hiệu suất?

  • A. Khi cần sắp xếp một danh sách lớn các số ngẫu nhiên.
  • B. Khi danh sách cần sắp xếp đã gần như được sắp xếp hoàn toàn.
  • C. Khi yêu cầu bộ nhớ sử dụng phải tối thiểu tuyệt đối.
  • D. Khi cần đảm bảo thời gian sắp xếp là nhanh nhất trong mọi trường hợp.

Câu 2: Xét một danh sách [5, 2, 4, 7, 1, 3, 2, 6]. Nếu sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách này theo thứ tự tăng dần, thì sau bước duyệt đầu tiên, danh sách sẽ trở thành như thế nào?

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

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều gì xảy ra sau khi hoàn thành một lần duyệt qua toàn bộ danh sách?

  • A. Danh sách đã được sắp xếp hoàn toàn.
  • B. Phần tử nhỏ nhất đã được đưa về vị trí đầu tiên.
  • C. Phần tử lớn nhất (hoặc nhỏ nhất, tùy theo thứ tự sắp xếp) đã được đưa về vị trí cuối cùng (hoặc đầu tiên).
  • D. Thứ tự của các phần tử trong danh sách không thay đổi.

Câu 4: Giải thích tại sao thuật toán sắp xếp chèn (Insertion Sort) lại có hiệu suất tốt hơn sắp xếp nổi bọt (Bubble Sort) đối với dữ liệu gần như đã sắp xếp.

  • A. Vì sắp xếp chèn luôn thực hiện ít phép so sánh hơn sắp xếp nổi bọt.
  • B. Vì sắp xếp chèn chỉ dịch chuyển các phần tử đến đúng vị trí của chúng mà không cần nhiều lần hoán đổi như sắp xếp nổi bọt trong trường hợp dữ liệu gần đúng thứ tự.
  • C. Vì sắp xếp chèn sử dụng ít bộ nhớ hơn sắp xếp nổi bọt.
  • D. Vì sắp xếp chèn dễ dàng song song hóa hơn sắp xếp nổi bọt.

Câu 5: Trong đoạn mã Python sau, dòng lệnh `if arr[j] < arr[j-1]:` đóng vai trò gì trong thuật toán sắp xếp?

  • A. Khởi tạo vòng lặp để duyệt qua danh sách.
  • B. Hoán đổi vị trí hai phần tử trong danh sách.
  • C. Kiểm tra xem danh sách đã được sắp xếp hay chưa.
  • D. So sánh hai phần tử liền kề để xác định thứ tự của chúng và chuẩn bị cho việc hoán đổi nếu cần.

Câu 6: Ưu điểm chính của thuật toán sắp xếp chọn (Selection Sort) so với thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

  • A. Sắp xếp chọn dễ cài đặt hơn sắp xếp nổi bọt.
  • B. Sắp xếp chọn sử dụng ít bộ nhớ hơn sắp xếp nổi bọt.
  • C. Sắp xếp chọn thực hiện ít phép hoán đổi hơn sắp xếp nổi bọt.
  • D. Sắp xếp chọn luôn nhanh hơn sắp xếp nổi bọt trong mọi trường hợp.

Câu 7: Nhược điểm lớn nhất của thuật toán sắp xếp nổi bọt (Bubble Sort) khiến nó ít được sử dụng trong thực tế là gì?

  • A. Độ phức tạp thời gian lớn, đặc biệt với dữ liệu có kích thước lớn.
  • B. Khó cài đặt và dễ gây lỗi lập trình.
  • C. Yêu cầu bộ nhớ lớn để lưu trữ dữ liệu tạm thời.
  • D. Không ổn định (unstable sort).

Câu 8: Bạn có một danh sách điểm thi của học sinh và muốn sắp xếp chúng theo thứ tự giảm dần để hiển thị bảng xếp hạng. Thuật toán sắp xếp nào trong số các thuật toán đã học (chèn, chọn, nổi bọt) là phù hợp nhất để thực hiện công việc này một cách hiệu quả, nếu số lượng học sinh không quá lớn (ví dụ, dưới 100)?

  • A. Thuật toán sắp xếp trộn (Merge Sort)
  • B. Thuật toán sắp xếp nhanh (Quick Sort)
  • C. Thuật toán sắp xếp chọn (Selection Sort) hoặc nổi bọt (Bubble Sort)
  • D. Thuật toán sắp xếp chèn (Insertion Sort) hoặc chọn (Selection Sort)

Câu 9: Giả sử bạn cần sắp xếp một chồng bài kiểm tra theo thứ tự bảng chữ cái của tên học sinh. Bạn quyết định sử dụng phương pháp sắp xếp chèn. Mô tả bước đầu tiên bạn sẽ thực hiện.

  • A. Chia chồng bài kiểm tra thành hai phần: một phần đã sắp xếp và một phần chưa sắp xếp.
  • B. Lấy bài kiểm tra đầu tiên (thứ hai từ đầu nếu coi bài đầu tiên đã "sắp xếp") và so sánh nó với các bài kiểm tra trước đó (trong phần đã sắp xếp, nếu có) để tìm vị trí chèn thích hợp.
  • C. Tìm bài kiểm tra có tên đứng đầu bảng chữ cái trong toàn bộ chồng bài.
  • D. Đổi chỗ bài kiểm tra đầu tiên với bài kiểm tra cuối cùng.

Câu 10: Xét danh sách [8, 5, 2, 9, 5, 6, 3]. Nếu á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, sau vòng lặp đầu tiên, danh sách sẽ trở thành:

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

Câu 11: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách theo thứ tự tăng dần, ở mỗi bước lặp, chúng ta thực hiện thao tác chính nào?

  • A. So sánh các cặp phần tử liền kề và hoán đổi nếu chúng không đúng thứ tự.
  • B. Tìm phần tử nhỏ nhất trong phần chưa được sắp xếp của danh sách 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 đúng vị trí trong phần đã được sắp xếp của danh sách.
  • D. Chia danh sách thành các danh sách con và sắp xếp từng danh sách con.

Câu 12: Khi nào thuật toán sắp xếp chèn (Insertion Sort) thể hiện hiệu suất tốt nhất (trường hợp tốt nhất)?

  • A. Khi danh sách đã được sắp xếp hoàn toàn.
  • B. Khi danh sách được sắp xếp ngược thứ tự.
  • C. Khi danh sách chứa nhiều phần tử trùng lặp.
  • D. Khi danh sách có kích thước rất lớn.

Câu 13: Giả sử bạn có một ứng dụng quản lý thư viện, và bạn muốn sắp xếp sách theo tiêu đề. Với số lượng sách lớn và thường xuyên có sách mới được thêm vào, thuật toán sắp xếp nào (trong số chèn, chọn, nổi bọt) sẽ là lựa chọn hợp lý hơn cả để duy trì danh sách sách luôn được sắp xếp?

  • A. Thuật toán sắp xếp nổi bọt (Bubble Sort)
  • B. Thuật toán sắp xếp chọn (Selection Sort)
  • C. Cả ba thuật toán đều phù hợp như nhau.
  • D. Thuật toán sắp xếp chèn (Insertion Sort), vì nó hiệu quả khi thêm phần tử mới vào danh sách đã sắp xếp.

Câu 14: Cho danh sách [10, 9, 8, 7, 6, 5]. Nếu sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp theo thứ tự tăng dần, sau khi hoàn thành 3 bước lặp đầu tiên, danh sách sẽ trở thành:

  • A. [5, 6, 7, 8, 9, 10]
  • B. [6, 7, 8, 9, 10, 5]
  • C. [8, 9, 10, 7, 6, 5]
  • D. [7, 8, 9, 10, 6, 5]

Câu 15: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần so sánh trong trường hợp xấu nhất (worst-case scenario) tỉ lệ như thế nào với số lượng phần tử "n" trong danh sách?

  • A. Tuyến tính (tỉ lệ thuận với n)
  • B. Logarit (tỉ lệ với log n)
  • C. Bình phương (tỉ lệ với n^2)
  • D. Hằng số (không đổi theo n)

Câu 16: Để sắp xếp một danh sách các số nguyên theo thứ tự giảm dần bằng thuật toán sắp xếp chèn (Insertion Sort), bạn cần điều chỉnh điều kiện so sánh trong quá trình chèn như thế nào?

  • A. Không cần điều chỉnh gì, thuật toán sắp xếp chèn luôn sắp xếp giảm dần.
  • B. Thay đổi phép so sánh từ "nhỏ hơn" thành "lớn hơn" khi tìm vị trí chèn.
  • C. Đảo ngược danh sách sau khi đã sắp xếp tăng dần.
  • D. Sử dụng một thuật toán sắp xếp khác.

Câu 17: Trong một chương trình quản lý sản phẩm, bạn cần sắp xếp sản phẩm theo giá từ cao xuống thấp. Bạn có một danh sách lớn các sản phẩm nhưng giá thường xuyên được cập nhật và sản phẩm mới được thêm vào. Thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ phù hợp nhất để sử dụng định kỳ (ví dụ, mỗi đêm) để cập nhật thứ tự sắp xếp?

  • A. Thuật toán sắp xếp nổi bọt (Bubble Sort)
  • B. Thuật toán sắp xếp chèn (Insertion Sort)
  • C. Thuật toán sắp xếp chọn (Selection Sort)
  • D. Cả ba thuật toán đều có hiệu quả tương đương trong trường hợp này.

Câu 18: Giả sử bạn đang xây dựng một chức năng gợi ý tìm kiếm, và bạn muốn sắp xếp các kết quả tìm kiếm theo mức độ liên quan (điểm số). Bạn có một danh sách kết quả tìm kiếm và điểm số tương ứng. Thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ phù hợp nhất nếu bạn muốn hiển thị kết quả theo thứ tự liên quan nhất lên đầu?

  • A. Thuật toán sắp xếp nổi bọt (Bubble Sort)
  • B. Thuật toán sắp xếp chọn (Selection Sort)
  • C. Không cần sắp xếp, chỉ cần hiển thị kết quả theo thứ tự tìm thấy.
  • D. Bất kỳ thuật toán sắp xếp nào trong số trên (chèn, chọn, nổi bọt) đều có thể sử dụng để sắp xếp theo điểm số.

Câu 19: So sánh số lượng phép hoán đổi trung bình giữa thuật toán sắp xếp chọn (Selection Sort) và thuật toán sắp xếp nổi bọt (Bubble Sort) khi sắp xếp một danh sách ngẫu nhiên. Thuật toán nào thường thực hiện ít phép hoán đổi hơn?

  • A. Sắp xếp chọn (Selection Sort) thường thực hiện ít phép hoán đổi hơn.
  • B. Sắp xếp nổi bọt (Bubble Sort) thường thực hiện ít phép hoán đổi hơn.
  • C. Cả hai thuật toán thực hiện số lượng phép hoán đổi tương đương nhau.
  • D. Số lượng phép hoán đổi phụ thuộc vào kích thước danh sách, không thể so sánh chung.

Câu 20: Bạn có một danh sách các giao dịch ngân hàng cần được sắp xếp theo thời gian giao dịch. Nếu các giao dịch thường đã được sắp xếp gần đúng theo thời gian (chỉ có một vài giao dịch bị lệch thứ tự), thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ là lựa chọn tối ưu để nhanh chóng hoàn thành việc sắp xếp?

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

Câu 21: Trong thuật toán sắp xếp chèn (Insertion Sort), vòng lặp bên ngoài (outer loop) thường bắt đầu từ phần tử thứ hai của danh sách. Giải thích lý do tại sao lại như vậy.

  • A. Để giảm số lượng phép so sánh cần thực hiện.
  • B. Để đảm bảo phần tử đầu tiên luôn là phần tử nhỏ nhất.
  • C. Vì phần tử đầu tiên được coi như là một danh sách con đã được sắp xếp, và thuật toán bắt đầu chèn các phần tử còn lại vào danh sách con đã sắp xếp này.
  • D. Đó chỉ là quy ước lập trình, không có lý do cụ thể.

Câu 22: Xét một danh sách gồm 1000 phần tử đã được sắp xếp ngược thứ tự. Thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ mất nhiều thời gian nhất để sắp xếp danh sách này theo thứ tự tăng dần?

  • A. Thuật toán sắp xếp chèn (Insertion Sort)
  • B. Thuật toán sắp xếp chọn (Selection Sort)
  • C. Thuật toán sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán sẽ mất thời gian tương đương nhau trong trường hợp này.

Câu 23: Trong quá trình triển khai thuật toán sắp xếp chọn (Selection Sort), biến "min_index" (hoặc tương tự) thường được sử dụng để làm gì?

  • A. Đếm số lượng phần tử đã được sắp xếp.
  • B. Lưu trữ chỉ số của phần tử nhỏ nhất (hoặc lớn nhất) được tìm thấy trong phần chưa sắp xếp của danh sách.
  • C. Xác định vị trí cần chèn phần tử trong thuật toán sắp xếp chèn.
  • D. Kiểm soát số lần lặp của vòng lặp.

Câu 24: Giả sử bạn muốn sắp xếp một danh sách các đối tượng phức tạp (ví dụ, các bản ghi thông tin học sinh) dựa trên một thuộc tính cụ thể (ví dụ, điểm trung bình). Các thuật toán sắp xếp chèn, chọn, nổi bọt có thể được áp dụng trực tiếp không, hay cần điều chỉnh gì?

  • A. Có thể áp dụng, nhưng cần điều chỉnh phép so sánh để so sánh dựa trên thuộc tính mong muốn (ví dụ, so sánh điểm trung bình thay vì so sánh trực tiếp các đối tượng).
  • B. Không thể áp dụng trực tiếp, cần viết thuật toán sắp xếp hoàn toàn mới cho đối tượng phức tạp.
  • C. Chỉ có thuật toán sắp xếp nổi bọt là có thể áp dụng cho đối tượng phức tạp.
  • D. Cần chuyển đổi đối tượng phức tạp thành dữ liệu đơn giản trước khi sắp xếp.

Câu 25: Trong thuật toán sắp xếp nổi bọt (Bubble Sort) cải tiến, người ta thường sử dụng một biến cờ (flag) để kiểm tra xem có lần hoán đổi nào xảy ra trong một vòng lặp hay không. Mục đích của việc này là gì?

  • A. Để tăng tốc độ hoán đổi các phần tử.
  • B. Để phát hiện khi danh sách đã được sắp xếp hoàn toàn và dừng thuật toán sớm, tránh các vòng lặp không cần thiết.
  • C. Để giảm số lượng phép so sánh trong mỗi vòng lặp.
  • D. Để đơn giản hóa việc cài đặt thuật toán.

Câu 26: Nếu bạn cần sắp xếp một mảng số nguyên có kích thước rất nhỏ (ví dụ, dưới 10 phần tử), việc lựa chọn thuật toán sắp xếp (chèn, chọn, nổi bọt) có ảnh hưởng đáng kể đến hiệu suất tổng thể của chương trình không?

  • A. Có, thuật toán sắp xếp chọn luôn nhanh hơn đáng kể so với các thuật toán khác.
  • B. Có, thuật toán sắp xếp nổi bọt luôn chậm hơn đáng kể và nên tránh.
  • C. Không, với kích thước nhỏ, sự khác biệt về hiệu suất giữa các thuật toán này thường không đáng kể.
  • D. Có, thuật toán sắp xếp chèn luôn là lựa chọn tốt nhất cho mảng nhỏ.

Câu 27: Trong thuật toán sắp xếp chọn (Selection Sort), sau khi vòng lặp đầu tiên kết thúc, bạn có thể chắc chắn điều gì về phần tử đầu tiên của danh sách?

  • A. Nó là phần tử lớn nhất trong danh sách.
  • B. Nó nằm ở vị trí cuối cùng trong danh sách đã sắp xếp.
  • C. Nó đã được so sánh với tất cả các phần tử còn lại trong danh sách.
  • D. Nó là phần tử nhỏ nhất trong danh sách (nếu sắp xếp tăng dần) và đã ở đúng vị trí cuối cùng của nó trong danh sách đã sắp xếp.

Câu 28: Để sắp xếp một danh sách các chuỗi ký tự theo thứ tự bảng chữ cái, bạn có thể sử dụng trực tiếp các thuật toán sắp xếp số (chèn, chọn, nổi bọt) không? Nếu có, phép so sánh sẽ được thực hiện như thế nào?

  • A. Có, có thể sử dụng trực tiếp. Phép so sánh sẽ được thực hiện dựa trên thứ tự mã ASCII (hoặc Unicode) của các ký tự trong chuỗi.
  • B. Không thể sử dụng trực tiếp, cần chuyển đổi chuỗi thành số trước khi sắp xếp.
  • C. Chỉ có thuật toán sắp xếp chèn là có thể sử dụng cho chuỗi.
  • D. Cần viết hàm so sánh riêng cho chuỗi và tích hợp vào thuật toán sắp xếp.

Câu 29: Bạn muốn sắp xếp một danh sách số nguyên sao cho các số chẵn đứng trước các số lẻ, và trong mỗi nhóm (chẵn và lẻ), các số được sắp xếp tăng dần. Bạn có thể kết hợp các thuật toán sắp xếp cơ bản (chèn, chọn, nổi bọt) như thế nào để đạt được mục tiêu này?

  • A. Không thể đạt được mục tiêu này chỉ với các thuật toán sắp xếp cơ bản.
  • B. Chỉ cần sắp xếp danh sách bằng một trong các thuật toán (chèn, chọn, nổi bọt) là đủ.
  • C. Có thể chia danh sách thành hai phần (chẵn và lẻ), sắp xếp từng phần bằng thuật toán sắp xếp, sau đó ghép lại.
  • D. Cần sử dụng thuật toán sắp xếp tùy chỉnh hoàn toàn mới.

Câu 30: Trong bối cảnh thực tế, khi nào việc sử dụng các thuật toán sắp xếp đơn giản như chèn, chọn, nổi bọt vẫn được ưu tiên mặc dù có các thuật toán sắp xếp phức tạp và hiệu quả hơn (ví dụ, sắp xếp nhanh, sắp xếp trộn)?

  • A. Khi cần sắp xếp danh sách có kích thước cực lớn.
  • B. Khi danh sách có kích thước nhỏ, hoặc khi yêu cầu về độ phức tạp của code và tính dễ bảo trì được ưu tiên hơn hiệu suất tuyệt đối.
  • C. Khi cần đảm bảo thời gian sắp xếp là nhanh nhất trong mọi trường hợp.
  • D. Các thuật toán sắp xếp đơn giản không bao giờ được ưu tiên trong thực tế.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 1: Trong tình huống nào sau đây, thuật toán sắp xếp chèn (Insertion Sort) được xem là lựa chọn hiệu quả nhất về mặt hiệu suất?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 2: Xét một danh sách [5, 2, 4, 7, 1, 3, 2, 6]. Nếu sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách này theo thứ tự tăng dần, thì sau bước duyệt đầu tiên, danh sách sẽ trở thành như thế nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều gì xảy ra sau khi hoàn thành một lần duyệt qua toàn bộ danh sách?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 4: Giải thích tại sao thuật toán sắp xếp chèn (Insertion Sort) lại có hiệu suất tốt hơn sắp xếp nổi bọt (Bubble Sort) đối với dữ liệu gần như đã sắp xếp.

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 5: Trong đoạn mã Python sau, dòng lệnh `if arr[j] < arr[j-1]:` đóng vai trò gì trong thuật toán sắp xếp?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 6: Ưu điểm chính của thuật toán sắp xếp chọn (Selection Sort) so với thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 7: Nhược điểm lớn nhất của thuật toán sắp xếp nổi bọt (Bubble Sort) khiến nó ít được sử dụng trong thực tế là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 8: Bạn có một danh sách điểm thi của học sinh và muốn sắp xếp chúng theo thứ tự giảm dần để hiển thị bảng xếp hạng. Thuật toán sắp xếp nào trong số các thuật toán đã học (chèn, chọn, nổi bọt) là phù hợp nhất để thực hiện công việc này một cách hiệu quả, nếu số lượng học sinh không quá lớn (ví dụ, dưới 100)?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 9: Giả sử bạn cần sắp xếp một chồng bài kiểm tra theo thứ tự bảng chữ cái của tên học sinh. Bạn quyết định sử dụng phương pháp sắp xếp chèn. Mô tả bước đầu tiên bạn sẽ thực hiện.

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 10: Xét danh sách [8, 5, 2, 9, 5, 6, 3]. Nếu á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, sau vòng lặp đầu tiên, danh sách sẽ trở thành:

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 11: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách theo thứ tự tăng dần, ở mỗi bước lặp, chúng ta thực hiện thao tác chính nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 12: Khi nào thuật toán sắp xếp chèn (Insertion Sort) thể hiện hiệu suất tốt nhất (trường hợp tốt nhất)?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 13: Giả sử bạn có một ứng dụng quản lý thư viện, và bạn muốn sắp xếp sách theo tiêu đề. Với số lượng sách lớn và thường xuyên có sách mới được thêm vào, thuật toán sắp xếp nào (trong số chèn, chọn, nổi bọt) sẽ là lựa chọn hợp lý hơn cả để duy trì danh sách sách luôn được sắp xếp?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 14: Cho danh sách [10, 9, 8, 7, 6, 5]. Nếu sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp theo thứ tự tăng dần, sau khi hoàn thành 3 bước lặp đầu tiên, danh sách sẽ trở thành:

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 15: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần so sánh trong trường hợp xấu nhất (worst-case scenario) tỉ lệ như thế nào với số lượng phần tử 'n' trong danh sách?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 16: Để sắp xếp một danh sách các số nguyên theo thứ tự giảm dần bằng thuật toán sắp xếp chèn (Insertion Sort), bạn cần điều chỉnh điều kiện so sánh trong quá trình chèn như thế nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 17: Trong một chương trình quản lý sản phẩm, bạn cần sắp xếp sản phẩm theo giá từ cao xuống thấp. Bạn có một danh sách lớn các sản phẩm nhưng giá thường xuyên được cập nhật và sản phẩm mới được thêm vào. Thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ phù hợp nhất để sử dụng định kỳ (ví dụ, mỗi đêm) để cập nhật thứ tự sắp xếp?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 18: Giả sử bạn đang xây dựng một chức năng gợi ý tìm kiếm, và bạn muốn sắp xếp các kết quả tìm kiếm theo mức độ liên quan (điểm số). Bạn có một danh sách kết quả tìm kiếm và điểm số tương ứng. Thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ phù hợp nhất nếu bạn muốn hiển thị kết quả theo thứ tự liên quan nhất lên đầu?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 19: So sánh số lượng phép hoán đổi trung bình giữa thuật toán sắp xếp chọn (Selection Sort) và thuật toán sắp xếp nổi bọt (Bubble Sort) khi sắp xếp một danh sách ngẫu nhiên. Thuật toán nào thường thực hiện ít phép hoán đổi hơn?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 20: Bạn có một danh sách các giao dịch ngân hàng cần được sắp xếp theo thời gian giao dịch. Nếu các giao dịch thường đã được sắp xếp gần đúng theo thời gian (chỉ có một vài giao dịch bị lệch thứ tự), thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ là lựa chọn tối ưu để nhanh chóng hoàn thành việc sắp xếp?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 21: Trong thuật toán sắp xếp chèn (Insertion Sort), vòng lặp bên ngoài (outer loop) thường bắt đầu từ phần tử thứ hai của danh sách. Giải thích lý do tại sao lại như vậy.

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 22: Xét một danh sách gồm 1000 phần tử đã được sắp xếp ngược thứ tự. Thuật toán sắp xếp nào (chèn, chọn, nổi bọt) sẽ mất nhiều thời gian nhất để sắp xếp danh sách này theo thứ tự tăng dần?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 23: Trong quá trình triển khai thuật toán sắp xếp chọn (Selection Sort), biến 'min_index' (hoặc tương tự) thường được sử dụng để làm gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 24: Giả sử bạn muốn sắp xếp một danh sách các đối tượng phức tạp (ví dụ, các bản ghi thông tin học sinh) dựa trên một thuộc tính cụ thể (ví dụ, điểm trung bình). Các thuật toán sắp xếp chèn, chọn, nổi bọt có thể được áp dụng trực tiếp không, hay cần điều chỉnh gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 25: Trong thuật toán sắp xếp nổi bọt (Bubble Sort) cải tiến, người ta thường sử dụng một biến cờ (flag) để kiểm tra xem có lần hoán đổi nào xảy ra trong một vòng lặp hay không. Mục đích của việc này là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 26: Nếu bạn cần sắp xếp một mảng số nguyên có kích thước rất nhỏ (ví dụ, dưới 10 phần tử), việc lựa chọn thuật toán sắp xếp (chèn, chọn, nổi bọt) có ảnh hưởng đáng kể đến hiệu suất tổng thể của chương trình không?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 27: Trong thuật toán sắp xếp chọn (Selection Sort), sau khi vòng lặp đầu tiên kết thúc, bạn có thể chắc chắn điều gì về phần tử đầu tiên của danh sách?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 28: Để sắp xếp một danh sách các chuỗi ký tự theo thứ tự bảng chữ cái, bạn có thể sử dụng trực tiếp các thuật toán sắp xếp số (chèn, chọn, nổi bọt) không? Nếu có, phép so sánh sẽ được thực hiện như thế nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 29: Bạn muốn sắp xếp một danh sách số nguyên sao cho các số chẵn đứng trước các số lẻ, và trong mỗi nhóm (chẵn và lẻ), các số được sắp xếp tăng dần. Bạn có thể kết hợp các thuật toán sắp xếp cơ bản (chèn, chọn, nổi bọt) như thế nào để đạt được mục tiêu này?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 2

Câu 30: Trong bối cảnh thực tế, khi nào việc sử dụng các thuật toán sắp xếp đơn giản như chèn, chọn, nổi bọt vẫn được ưu tiên mặc dù có các thuật toán sắp xếp phức tạp và hiệu quả hơn (ví dụ, sắp xếp nhanh, sắp xếp trộn)?

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 03

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 03 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong bài toán quản lý kho hàng, việc sắp xếp các sản phẩm theo thứ tự xuất nhập kho gần nhất mang lại lợi ích nào sau đây?

  • A. Giảm thiểu chi phí lưu trữ do hàng hóa được sắp xếp ngăn nắp hơn.
  • B. Tăng tốc độ bán hàng nhờ việc ưu tiên hiển thị các sản phẩm mới.
  • C. Dễ dàng xác định và quản lý các sản phẩm tồn kho lâu ngày, tránh tình trạng hết hạn hoặc lỗi thời.
  • D. Cải thiện tính thẩm mỹ của kho hàng, tạo ấn tượng tốt với khách hàng và đối tác.

Câu 2: Xét thuật toán sắp xếp chèn (Insertion Sort) trên một mảng đã gần như được sắp xếp. Phát biểu nào sau đây mô tả đúng nhất hiệu quả của thuật toán trong trường hợp này?

  • A. Thuật toán sắp xếp chèn luôn có hiệu suất kém nhất trên mảng gần như đã sắp xếp.
  • B. Thuật toán sắp xếp chèn hoạt động rất hiệu quả, gần như đạt độ phức tạp tuyến tính O(n).
  • C. Thuật toán sắp xếp chèn không tận dụng được tính chất gần sắp xếp của mảng.
  • D. Hiệu suất của thuật toán sắp xếp chèn không đổi, không phụ thuộc vào trạng thái ban đầu của mảng.

Câu 3: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp một danh sách số theo thứ tự giảm dần, bước nào sau đây được lặp lại cho đến khi danh sách được sắp xếp hoàn chỉnh?

  • A. Tìm phần tử lớn nhất trong phần chưa được sắp xếp và đưa về đầu phần chưa sắp xếp.
  • B. Tìm phần tử nhỏ nhất trong phần chưa được sắp xếp và đưa về đầu phần chưa sắp xếp.
  • C. So sánh các cặp phần tử liền kề và đổi chỗ nếu chúng không đúng thứ tự giảm dần.
  • D. Chia danh sách thành hai phần, sắp xếp từng phần rồi trộn lại.

Câu 4: Xét một danh sách gồm tên các học sinh. Nếu muốn sắp xếp danh sách này theo thứ tự bảng chữ cái, tiêu chí so sánh chính sẽ dựa trên yếu tố nào?

  • A. Chiều dài của chuỗi tên (số lượng ký tự).
  • B. Số lượng nguyên âm trong tên.
  • C. Thứ tự xuất hiện của tên trong danh sách ban đầu.
  • D. Thứ tự chữ cái của ký tự đầu tiên, sau đó là các ký tự tiếp theo nếu cần.

Câu 5: Thuật toán sắp xếp nổi bọt (Bubble Sort) có tên gọi như vậy là do đặc điểm nào trong quá trình sắp xếp?

  • A. Các phần tử nhỏ "chìm" xuống đáy danh sách.
  • B. Các phần tử lớn bị loại bỏ dần như bọt biển.
  • C. Các phần tử lớn "nổi" lên trên như bọt khí trong quá trình so sánh và đổi chỗ.
  • D. Thuật toán tạo ra nhiều "bọt" lỗi trong quá trình sắp xếp cần được xử lý.

Câu 6: Trong tình huống nào, thuật toán sắp xếp chèn (Insertion Sort) được xem là lựa chọn phù hợp hơn so với thuật toán sắp xếp chọn (Selection Sort)?

  • A. Khi cần sắp xếp một danh sách có kích thước rất lớn.
  • B. Khi danh sách cần sắp xếp đã gần như được sắp xếp.
  • C. Khi yêu cầu về bộ nhớ sử dụng là yếu tố quan trọng hàng đầu.
  • D. Khi cần đảm bảo số lần so sánh giữa các phần tử là ít nhất.

Câu 7: Cho một danh sách số: [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

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

Câu 8: Độ phức tạp thời gian trung bình 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ì về hiệu suất của thuật toán khi kích thước dữ liệu tăng lên?

  • A. Thời gian thực hiện thuật toán tăng tuyến tính theo kích thước dữ liệu.
  • B. Thời gian thực hiện thuật toán giảm khi kích thước dữ liệu tăng lên.
  • C. Thời gian thực hiện thuật toán tăng theo lũy thừa bậc hai của kích thước dữ liệu.
  • D. Thời gian thực hiện thuật toán không phụ thuộc vào kích thước dữ liệu.

Câu 9: Trong thuật toán sắp xếp chèn (Insertion Sort), thao tác "chèn" một phần tử vào vị trí đúng trong phần đã sắp xếp đòi hỏi kỹ thuật nào?

  • A. Chia để trị và trộn (Divide and Conquer).
  • B. Hoán đổi trực tiếp các cặp phần tử (Direct Swapping).
  • C. Tìm kiếm nhị phân để xác định vị trí chèn (Binary Search).
  • D. Dịch chuyển các phần tử lớn hơn sang phải để tạo khoảng trống (Shifting Larger Elements).

Câu 10: Giả sử bạn có một danh sách các số điện thoại cần sắp xếp theo thứ tự tăng dần. Thuật toán sắp xếp nào sẽ phù hợp nhất nếu bạn ưu tiên sự đơn giản và dễ cài đặt, ngay cả khi hiệu suất không phải là tối ưu?

  • A. Thuật toán sắp xếp nổi bọt (Bubble Sort).
  • B. Thuật toán sắp xếp trộn (Merge Sort).
  • C. Thuật toán sắp xếp nhanh (Quick Sort).
  • D. Thuật toán sắp xếp vun đống (Heap Sort).

Câu 11: Để sắp xếp một tập hợp lớn các bản ghi dữ liệu phức tạp (ví dụ: thông tin sinh viên bao gồm tên, mã số, điểm trung bình), bạn cần xác định yếu tố nào quan trọng nhất trước khi chọn thuật toán sắp xếp?

  • A. Kích thước của bản ghi dữ liệu.
  • B. Loại dữ liệu của các trường không phải khóa sắp xếp.
  • C. Trường (hoặc các trường) được sử dụng làm khóa sắp xếp.
  • D. Ngôn ngữ lập trình được sử dụng để cài đặt thuật toán.

Câu 12: Trong quá trình sắp xếp một danh sách bằng thuật toán sắp xếp chèn (Insertion Sort), tại một thời điểm nhất định, danh sách được chia thành hai phần: phần đã sắp xếp và phần chưa sắp xếp. Phần đã sắp xếp nằm ở vị trí nào trong danh sách?

  • A. Luôn nằm ở đầu danh sách.
  • B. Luôn nằm ở cuối danh sách.
  • C. Nằm xen kẽ với phần chưa sắp xếp.
  • D. Vị trí phần đã sắp xếp thay đổi ngẫu nhiên.

Câu 13: Xét tình huống cần sắp xếp điểm thi của học sinh từ cao xuống thấp để xếp hạng. Thuật toán sắp xếp chọn (Selection Sort) thực hiện việc này như thế nào?

  • A. Tìm điểm thấp nhất và đưa lên đầu danh sách.
  • B. Tìm điểm cao nhất trong phần chưa xếp hạng và đưa lên đầu phần chưa xếp hạng.
  • C. So sánh điểm của từng cặp học sinh liền kề và đổi chỗ nếu điểm không giảm dần.
  • D. Chia danh sách điểm thành các nhóm nhỏ, sắp xếp từng nhóm rồi ghép lại.

Câu 14: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo về vị trí của các phần tử?

  • A. Toàn bộ danh sách đã được sắp xếp hoàn chỉnh.
  • B. Phần tử nhỏ nhất đã được đưa về vị trí đầu tiên.
  • C. Phần tử ở giữa danh sách đã ở đúng vị trí cuối cùng.
  • D. Phần tử lớn nhất (hoặc nhỏ nhất, tùy theo thứ tự sắp xếp) đã được đưa về vị trí đúng cuối cùng (hoặc đầu tiên).

Câu 15: Để đánh giá hiệu quả của một thuật toán sắp xếp, người ta thường sử dụng tiêu chí nào sau đây?

  • A. Độ phức tạp thời gian và độ phức tạp không gian.
  • B. Số dòng code cần thiết để cài đặt thuật toán.
  • C. Tính dễ hiểu và dễ bảo trì của code.
  • D. Màu sắc và giao diện người dùng của chương trình sắp xếp.

Câu 16: Cho danh sách [7, 3, 9, 1, 5]. Áp dụng thuật toán sắp xếp chèn (Insertion Sort), sau khi chèn phần tử "9" vào đúng vị trí, danh sách sẽ như thế nào?

  • A. [3, 7, 9, 1, 5]
  • B. [1, 3, 5, 7, 9]
  • C. [7, 3, 9, 1, 5]
  • D. [3, 7, 9, 1, 5] (Vì 9 đã đúng vị trí trong phần đã sắp xếp [3, 7])

Câu 17: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh cần thực hiện để sắp xếp một danh sách có n phần tử là bao nhiêu?

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

Câu 18: Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất trong trường hợp trung bình và trường hợp tốt 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. Sắp xếp trộn (Merge Sort)

Câu 19: Trong một ứng dụng quản lý thư viện, bạn cần sắp xếp sách theo tiêu đề. Kiểu sắp xếp nào phù hợp nhất với dữ liệu là chuỗi ký tự (tiêu đề sách)?

  • A. Sắp xếp số học.
  • B. Sắp xếp từ điển (lexicographical sort).
  • C. Sắp xếp theo độ dài chuỗi.
  • D. Sắp xếp ngẫu nhiên.

Câu 20: Nếu bạn cần sắp xếp một lượng nhỏ dữ liệu và code cần dễ hiểu, dễ bảo trì, thuật toán nào sau đây có thể là lựa chọn tốt nhất?

  • A. Sắp xếp nhanh (Quick Sort).
  • B. Sắp xếp trộn (Merge Sort).
  • C. Sắp xếp chèn (Insertion Sort).
  • D. Sắp xếp vun đống (Heap Sort).

Câu 21: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần duyệt qua danh sách trong trường hợp xấu nhất (danh sách đảo ngược thứ tự) để hoàn thành sắp xếp là bao nhiêu với danh sách n phần tử?

  • A. 1
  • B. n-1
  • C. n
  • D. log n

Câu 22: Cho danh sách [4, 2, 1, 3]. Sau bước đầu tiên của thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần, danh sách sẽ là:

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

Câu 23: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với sắp xếp chọn (Selection Sort) trong trường hợp danh sách gần như đã được sắp xếp là gì?

  • A. Sắp xếp chèn có độ phức tạp không gian tốt hơn.
  • B. Sắp xếp chèn có thể kết thúc sớm hơn khi danh sách đã được sắp xếp một phần.
  • C. Sắp xếp chèn dễ cài đặt hơn sắp xếp chọn.
  • D. Sắp xếp chèn luôn ổn định hơn sắp xếp chọn.

Câu 24: Trong thuật toán sắp xếp chọn (Selection Sort), số lần hoán đổi vị trí các phần tử trong trường hợp xấu nhất là bao nhiêu với danh sách n phần tử?

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

Câu 25: Để sắp xếp danh sách các sản phẩm theo giá từ thấp đến cao trong một trang web bán hàng trực tuyến, thuật toán nào có thể được sử dụng?

  • A. Thuật toán tìm kiếm tuyến tính.
  • B. Thuật toán tìm kiếm nhị phân.
  • C. Thuật toán duyệt đồ thị.
  • D. Thuật toán sắp xếp (ví dụ: sắp xếp chèn, sắp xếp chọn, sắp xếp nổi bọt).

Câu 26: Trong thuật toán sắp xếp chèn (Insertion Sort), khi nào thì số phép so sánh và số phép gán (di chuyển phần tử) là ít nhất?

  • A. Khi danh sách được sắp xếp ngược thứ tự.
  • B. Khi danh sách đã được sắp xếp.
  • C. Khi danh sách chứa các phần tử trùng lặp.
  • D. Khi danh sách có kích thước rất lớn.

Câu 27: Phát biểu nào sau đây mô tả đúng nhất về tính ổn định (stability) của thuật toán sắp xếp?

  • A. Thuật toán luôn cho kết quả đúng sau một số hữu hạn bước.
  • B. Thuật toán có hiệu suất không đổi với mọi loại dữ liệu đầu vào.
  • C. Thuật toán giữ nguyên thứ tự tương đối của các phần tử có khóa bằng nhau.
  • D. Thuật toán dễ dàng thích nghi với các thay đổi của dữ liệu đầu vào.

Câu 28: Thuật toán sắp xếp nào sau đây thường được sử dụng làm thuật toán con (subroutine) trong các thuật toán sắp xếp phức tạp hơn, như sắp xếp trộn (Merge Sort)?

  • 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: Trong ngôn ngữ lập trình Python, hàm `sort()` và hàm `sorted()` được sử dụng để sắp xếp danh sách. Sự khác biệt chính giữa hai hàm này là gì?

  • A. `sort()` sắp xếp theo thứ tự giảm dần, `sorted()` sắp xếp theo thứ tự tăng dần.
  • B. `sort()` chỉ sắp xếp số, `sorted()` có thể sắp xếp cả chuỗi.
  • C. `sort()` nhanh hơn `sorted()`.
  • D. `sort()` sắp xếp trực tiếp trên danh sách ban đầu (in-place), `sorted()` trả về một danh sách mới đã sắp xếp.

Câu 30: Khi lựa chọn thuật toán sắp xếp cho một ứng dụng cụ thể, yếu tố nào sau đây thường được cân nhắc đầu tiên?

  • A. Hiệu suất (độ phức tạp thời gian và không gian) của thuật toán.
  • B. Sự đơn giản và dễ cài đặt của thuật toán.
  • C. Tính ổn định của thuật toán.
  • D. Ngôn ngữ lập trình và thư viện hỗ trợ sẵn có.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 1: Trong bài toán quản lý kho hàng, việc sắp xếp các sản phẩm theo thứ tự xuất nhập kho gần nhất mang lại lợi ích nào sau đây?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 2: Xét thuật toán sắp xếp chèn (Insertion Sort) trên một mảng đã gần như được sắp xếp. Phát biểu nào sau đây mô tả đúng nhất hiệu quả của thuật toán trong trường hợp này?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 3: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp một danh sách số theo thứ tự giảm dần, bước nào sau đây được lặp lại cho đến khi danh sách được sắp xếp hoàn chỉnh?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 4: Xét một danh sách gồm tên các học sinh. Nếu muốn sắp xếp danh sách này theo thứ tự bảng chữ cái, tiêu chí so sánh chính sẽ dựa trên yếu tố nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 5: Thuật toán sắp xếp nổi bọt (Bubble Sort) có tên gọi như vậy là do đặc điểm nào trong quá trình sắp xếp?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 6: Trong tình huống nào, thuật toán sắp xếp chèn (Insertion Sort) được xem là lựa chọn phù hợp hơn so với thuật toán sắp xếp chọn (Selection Sort)?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 7: Cho một danh sách số: [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 8: Độ phức tạp thời gian trung bình 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ì về hiệu suất của thuật toán khi kích thước dữ liệu tăng lên?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 9: Trong thuật toán sắp xếp chèn (Insertion Sort), thao tác 'chèn' một phần tử vào vị trí đúng trong phần đã sắp xếp đòi hỏi kỹ thuật nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 10: Giả sử bạn có một danh sách các số điện thoại cần sắp xếp theo thứ tự tăng dần. Thuật toán sắp xếp nào sẽ phù hợp nhất nếu bạn ưu tiên sự đơn giản và dễ cài đặt, ngay cả khi hiệu suất không phải là tối ưu?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 11: Để sắp xếp một tập hợp lớn các bản ghi dữ liệu phức tạp (ví dụ: thông tin sinh viên bao gồm tên, mã số, điểm trung bình), bạn cần xác định yếu tố nào quan trọng nhất trước khi chọn thuật toán sắp xếp?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 12: Trong quá trình sắp xếp một danh sách bằng thuật toán sắp xếp chèn (Insertion Sort), tại một thời điểm nhất định, danh sách được chia thành hai phần: phần đã sắp xếp và phần chưa sắp xếp. Phần đã sắp xếp nằm ở vị trí nào trong danh sách?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 13: Xét tình huống cần sắp xếp điểm thi của học sinh từ cao xuống thấp để xếp hạng. Thuật toán sắp xếp chọn (Selection Sort) thực hiện việc này như thế nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 14: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo về vị trí của các phần tử?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 15: Để đánh giá hiệu quả của một thuật toán sắp xếp, người ta thường sử dụng tiêu chí nào sau đây?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 16: Cho danh sách [7, 3, 9, 1, 5]. Áp dụng thuật toán sắp xếp chèn (Insertion Sort), sau khi chèn phần tử '9' vào đúng vị trí, danh sách sẽ như thế nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 17: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh cần thực hiện để sắp xếp một danh sách có n phần tử là bao nhiêu?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 18: Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất trong trường hợp trung bình và trường hợp tốt nhất?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 19: Trong một ứng dụng quản lý thư viện, bạn cần sắp xếp sách theo tiêu đề. Kiểu sắp xếp nào phù hợp nhất với dữ liệu là chuỗi ký tự (tiêu đề sách)?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 20: Nếu bạn cần sắp xếp một lượng nhỏ dữ liệu và code cần dễ hiểu, dễ bảo trì, thuật toán nào sau đây có thể là lựa chọn tốt nhất?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 21: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần duyệt qua danh sách trong trường hợp xấu nhất (danh sách đảo ngược thứ tự) để hoàn thành sắp xếp là bao nhiêu với danh sách n phần tử?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 22: Cho danh sách [4, 2, 1, 3]. Sau bước đầu tiên của thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần, danh sách sẽ là:

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 23: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với sắp xếp chọn (Selection Sort) trong trường hợp danh sách gần như đã được sắp xếp là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 24: Trong thuật toán sắp xếp chọn (Selection Sort), số lần hoán đổi vị trí các phần tử trong trường hợp xấu nhất là bao nhiêu với danh sách n phần tử?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 25: Để sắp xếp danh sách các sản phẩm theo giá từ thấp đến cao trong một trang web bán hàng trực tuyến, thuật toán nào có thể được sử dụng?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 26: Trong thuật toán sắp xếp chèn (Insertion Sort), khi nào thì số phép so sánh và số phép gán (di chuyển phần tử) là ít nhất?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 27: Phát biểu nào sau đây mô tả đúng nhất về tính ổn định (stability) của thuật toán sắp xếp?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 28: Thuật toán sắp xếp nào sau đây thường được sử dụng làm thuật toán con (subroutine) trong các thuật toán sắp xếp phức tạp hơn, như sắp xếp trộn (Merge Sort)?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 29: Trong ngôn ngữ lập trình Python, hàm `sort()` và hàm `sorted()` được sử dụng để sắp xếp danh sách. Sự khác biệt chính giữa hai hàm này là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 3

Câu 30: Khi lựa chọn thuật toán sắp xếp cho một ứng dụng cụ thể, yếu tố nào sau đây thường được cân nhắc đầu tiên?

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 04

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 04 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên một danh sách đã gần như được sắp xếp hoàn chỉnh?

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

Câu 2: Xét danh sách số [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

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

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều kiện dừng của thuật toán là gì?

  • A. Khi duyệt qua danh sách một lần
  • B. Khi danh sách chỉ còn một phần tử
  • C. Khi không có phép hoán đổi nào được thực hiện trong một lần duyệt
  • D. Khi số lần so sánh đạt đến một ngưỡng nhất định

Câu 4: Giả sử bạn có một danh sách tên học sinh cần sắp xếp theo thứ tự bảng chữ cái. Thuật toán sắp xếp nào sau đây phù hợp nhất nếu bạn muốn đảm bảo tính ổn định (stable sort), tức là các học sinh có cùng tên (ví dụ trùng họ và tên) vẫn giữ nguyên thứ tự ban đầu?

  • A. Sắp xếp nhanh (Quick Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Sắp xếp chọn (Selection Sort)
  • D. Heap Sort

Câu 5: Cho đoạn mã Python sau:
```python
def mystery_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]: arr[j + 1] = arr[j] j -= 1 arr[j + 1] = key ``` Đoạn mã trên cài đặt thuật toán sắp xếp nào?

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

Câu 6: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp một danh sách có N phần tử, số lượng phép so sánh tối thiểu và tối đa luôn là:

  • A. Tối thiểu N, tối đa N^2
  • B. Tối thiểu log N, tối đa N log N
  • C. Luôn là N*(N-1)/2
  • D. Tối thiểu N, tối đa 2N

Câu 7: Khi nào thuật toán sắp xếp nổi bọt (Bubble Sort) được coi là lựa chọn phù hợp, mặc dù nó thường không hiệu quả với danh sách lớn?

  • A. Khi cần sắp xếp danh sách có số lượng phần tử cực lớn
  • B. Khi yêu cầu hiệu suất sắp xếp là tối quan trọng
  • C. Khi cần sắp xếp dữ liệu ngẫu nhiên
  • D. Khi cần một thuật toán đơn giản, dễ hiểu và cài đặt, ngay cả khi không tối ưu về hiệu suất

Câu 8: Để sắp xếp một danh sách các số nguyên theo thứ tự giảm dần bằng thuật toán sắp xếp chèn (Insertion Sort), bạn cần sửa đổi điều kiện so sánh nào trong quá trình chèn phần tử vào vị trí đúng?

  • A. Thay đổi từ so sánh "nhỏ hơn" (<) thành "lớn hơn" (>)
  • B. Thay đổi từ so sánh "nhỏ hơn hoặc bằng" (<=) thành "lớn hơn hoặc bằng" (>=)
  • C. Không cần thay đổi điều kiện so sánh, chỉ cần đảo ngược danh sách sau khi sắp xếp
  • D. Thay đổi vòng lặp từ tăng dần sang giảm dần

Câu 9: Xét danh sách ban đầu: [7, 3, 1, 8, 5]. Nếu áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort), danh sách sẽ trở thành [1, 3, 5, 7, 8] sau bao nhiêu lần duyệt qua toàn bộ danh sách (outer loop)?

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

Câu 10: Bạn có một tệp văn bản chứa điểm thi của học sinh, mỗi dòng là một điểm. Bạn muốn đọc các điểm này vào một danh sách và sắp xếp chúng theo thứ tự tăng dần. Thao tác nào sau đây là cần thiết trước khi sắp xếp?

  • A. Kiểm tra xem danh sách có bị trùng lặp dữ liệu không
  • B. Chuyển đổi dữ liệu từ kiểu chuỗi sang kiểu số
  • C. Loại bỏ các dòng trống trong tệp
  • D. Đảm bảo tên tệp đúng định dạng

Câu 11: Trong thuật toán sắp xếp chèn (Insertion Sort), khi chèn một phần tử vào vị trí đúng trong phần đã sắp xếp, các phần tử lớn hơn phần tử đang xét sẽ được dịch chuyển về phía nào?

  • A. Về phía đầu danh sách
  • B. Không dịch chuyển, mà hoán đổi trực tiếp
  • C. Về phía cuối danh sách
  • D. Dịch chuyển ngẫu nhiên sang trái hoặc phải

Câu 12: Thuật toán sắp xếp nào sau đây có số lượng phép hoán đổi (swaps) ít nhất trong trường hợp trung bình?

  • 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ó số lượng hoán đổi tương đương

Câu 13: Giả sử bạn cần sắp xếp điểm thi của 1000 học sinh. Bạn muốn chọn một thuật toán sắp xếp có độ phức tạp thời gian trung bình tốt nhất. Thuật toán nào sau đây nên được ưu tiê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. Sắp xếp nhanh (Quick Sort - mặc dù không được đề cập trực tiếp trong bài 22, nhưng là thuật toán hiệu quả hơn)

Câu 14: Trong quá trình thực hiện thuật toán sắp xếp chọn (Selection Sort), sau khi vòng lặp ngoài cùng thứ nhất kết thúc, điều gì đảm bảo về phần tử đầu tiên của danh sách?

  • A. Phần tử đầu tiên là phần tử nhỏ nhất trong toàn bộ danh sách
  • B. Phần tử đầu tiên lớn hơn phần tử thứ hai
  • C. Phần tử đầu tiên đã được sắp xếp đúng vị trí cuối cùng
  • D. Không có gì đảm bảo về phần tử đầu tiên sau vòng lặp thứ nhất

Câu 15: Để kiểm tra tính đúng đắn của chương trình sắp xếp, bạn nên sử dụng bộ dữ liệu kiểm thử (test data) như thế nào?

  • A. Chỉ sử dụng dữ liệu đã được sắp xếp sẵn
  • B. Chỉ sử dụng dữ liệu ngẫu nhiên
  • C. Sử dụng dữ liệu đa dạng: đã sắp xếp, đảo ngược, ngẫu nhiên, biên (rỗng, một phần tử, trùng lặp)
  • D. Chỉ cần kiểm tra với một vài trường hợp dữ liệu nhỏ

Câu 16: Trong ngữ cảnh sắp xếp dữ liệu lớn trên đĩa cứng, thuật toán nào ít bị ảnh hưởng bởi việc truy cập bộ nhớ chậm hơ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. Sắp xếp trộn (Merge Sort - mặc dù không được đề cập trực tiếp trong bài 22, nhưng liên quan đến hiệu suất trong thực tế)

Câu 17: Giả sử bạn có danh sách [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]. Thuật toán sắp xếp nào sẽ thực hiện nhiều phép hoán đổi nhất để sắp xếp danh sách này theo thứ tự tăng dầ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 thực hiện số lượng hoán đổi tương đương trong trường hợp này

Câu 18: Trong thuật toán sắp xếp chèn (Insertion Sort), phần danh sách đã được sắp xếp luôn nằm ở phía nào của danh sách đang xét?

  • A. Phía đầu danh sách
  • B. Phía cuối danh sách
  • C. Ở giữa danh sách
  • D. Phân tán ngẫu nhiên trong danh sách

Câu 19: Nếu bạn muốn sắp xếp một mảng các đối tượng phức tạp dựa trên một thuộc tính khóa (key) nào đó, thuật toán sắp xếp nào dễ dàng tùy chỉnh để thực hiện việc này 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 đều dễ dàng tùy chỉnh tương đương

Câu 20: Để sắp xếp danh sách [6, 4, 1, 8, 5, 3] bằng thuật toán sắp xếp chọn (Selection Sort) theo thứ tự tăng dần, sau vòng lặp đầu tiên, phần tử nào sẽ được đưa về vị trí đầu tiên?

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

Câu 21: Xét đoạn mã Python sau:
```python
def mystery_function(data):
for i in range(len(data) - 1):
for j in range(len(data) - i - 1):
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
return data
```
Đoạn mã này thực hiện thuật toán sắp xếp nào?

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

Câu 22: Trong thuật toán sắp xếp chọn (Selection Sort), sau mỗi lần tìm phần tử nhỏ nhất (hoặc lớn nhất), phần tử đó được đặt vào vị trí nào trong danh sách?

  • A. Vị trí cuối cùng của danh sách
  • B. Vị trí đầu tiên của phần chưa được sắp xếp
  • C. Vị trí giữa của danh sách
  • D. Vị trí ngẫu nhiên trong danh sách

Câu 23: Để sắp xếp một danh sách giảm dần bằng thuật toán sắp xếp nổi bọt (Bubble Sort), bạn cần thay đổi phép so sánh như thế nào?

  • A. Thay đổi phép so sánh từ "lớn hơn" (>) thành "nhỏ hơn" (<)
  • B. Thay đổi phép so sánh từ "nhỏ hơn" (<) thành "lớn hơn" (>)
  • C. Không cần thay đổi phép so sánh, chỉ cần đảo ngược danh sách sau khi sắp xếp
  • D. Loại bỏ phép so sánh và chỉ thực hiện hoán đổi

Câu 24: Trong các thuật toán sắp xếp đã học, thuật toán nào có thể hoạt động "tại chỗ" (in-place), nghĩa là không cần sử dụng thêm bộ nhớ đáng kể ngoài danh sách ban đầu?

  • A. Sắp xếp trộn (Merge Sort)
  • B. Sắp xếp nhanh (Quick Sort)
  • C. Heap Sort
  • D. Sắp xếp nổi bọt, Sắp xếp chọn và Sắp xếp chèn

Câu 25: Giả sử bạn có một danh sách các sản phẩm cần sắp xếp theo giá. Nếu bạn muốn sắp xếp nhanh chóng và không quá quan trọng về tính ổn định, thuật toán nào có thể là lựa chọn tố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. Sắp xếp nhanh (Quick Sort - mặc dù không được đề cập trực tiếp trong bài 22, nhưng là thuật toán hiệu quả hơn về tốc độ)

Câu 26: Để đọc dữ liệu số từ một file văn bản "numbers.txt" và lưu vào danh sách numbers trong Python, bạn sử dụng đoạn mã nào sau đây?

  • A. numbers = list(open("numbers.txt"))
  • B. numbers = [int(line.strip()) for line in open("numbers.txt", "r")]
  • C. numbers = readlines("numbers.txt")
  • D. numbers = importdata("numbers.txt")

Câu 27: Trong thuật toán sắp xếp nổi bọt, sau mỗi lần duyệt qua danh sách, phần tử lớn nhất (hoặc nhỏ nhất, tùy theo thứ tự sắp xếp) sẽ "nổi" lên vị trí nào?

  • A. Vị trí đầu tiên
  • B. Vị trí giữa
  • C. Vị trí cuối cùng của phần chưa sắp xếp
  • D. Vị trí ngẫu nhiên

Câu 28: Thuật toán sắp xếp nào có thể được tối ưu hóa để "dừng sớm" nếu danh sách đã được sắp xếp một phần hoặc hoàn toàn trong quá trình thực hiệ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 không thể tối ưu hóa để dừng sớm

Câu 29: Để sắp xếp danh sách các đối tượng học sinh theo tên và sau đó theo điểm nếu tên trùng nhau, bạn cần thực hiện sắp xếp theo tiêu chí nào?

  • A. Sắp xếp ngẫu nhiên
  • B. Sắp xếp thứ cấp (secondary sort)
  • C. Sắp xếp song song
  • D. Sắp xếp phân tán

Câu 30: Trong tình huống nào, bạn nên ưu tiên sử dụng thuật toán sắp xếp chèn (Insertion Sort) thay vì sắp xếp chọn (Selection Sort) hoặc nổi bọt (Bubble Sort)?

  • A. Khi cần sắp xếp danh sách có kích thước lớn và dữ liệu hoàn toàn ngẫu nhiên
  • B. Khi số lượng hoán đổi cần thực hiện phải là ít nhất
  • C. Khi danh sách có kích thước nhỏ hoặc gần như đã được sắp xếp
  • D. Khi yêu cầu thuật toán phải dễ cài đặt nhưng không cần quan tâm đến hiệu suất

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên một danh sách đã gần như được sắp xếp hoàn chỉnh?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 2: Xét danh sách số [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều kiện dừng của thuật toán là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 4: Giả sử bạn có một danh sách tên học sinh cần sắp xếp theo thứ tự bảng chữ cái. Thuật toán sắp xếp nào sau đây phù hợp nhất nếu bạn muốn đảm bảo tính ổn định (stable sort), tức là các học sinh có cùng tên (ví dụ trùng họ và tên) vẫn giữ nguyên thứ tự ban đầu?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 5: Cho đoạn mã Python sau:
```python
def mystery_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]: arr[j + 1] = arr[j] j -= 1 arr[j + 1] = key ``` Đoạn mã trên cài đặt thuật toán sắp xếp nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 6: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp một danh sách có N phần tử, số lượng phép so sánh tối thiểu và tối đa luôn là:

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 7: Khi nào thuật toán sắp xếp nổi bọt (Bubble Sort) được coi là lựa chọn phù hợp, mặc dù nó thường không hiệu quả với danh sách lớn?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 8: Để sắp xếp một danh sách các số nguyên theo thứ tự giảm dần bằng thuật toán sắp xếp chèn (Insertion Sort), bạn cần sửa đổi điều kiện so sánh nào trong quá trình chèn phần tử vào vị trí đúng?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 9: Xét danh sách ban đầu: [7, 3, 1, 8, 5]. Nếu áp dụng thuật toán sắp xếp nổi bọt (Bubble Sort), danh sách sẽ trở thành [1, 3, 5, 7, 8] sau bao nhiêu lần duyệt qua toàn bộ danh sách (outer loop)?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 10: Bạn có một tệp văn bản chứa điểm thi của học sinh, mỗi dòng là một điểm. Bạn muốn đọc các điểm này vào một danh sách và sắp xếp chúng theo thứ tự tăng dần. Thao tác nào sau đây là cần thiết trước khi sắp xếp?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 11: Trong thuật toán sắp xếp chèn (Insertion Sort), khi chèn một phần tử vào vị trí đúng trong phần đã sắp xếp, các phần tử lớn hơn phần tử đang xét sẽ được dịch chuyển về phía nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 12: Thuật toán sắp xếp nào sau đây có số lượng phép hoán đổi (swaps) ít nhất trong trường hợp trung bình?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 13: Giả sử bạn cần sắp xếp điểm thi của 1000 học sinh. Bạn muốn chọn một thuật toán sắp xếp có độ phức tạp thời gian trung bình tốt nhất. Thuật toán nào sau đây nên được ưu tiên?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 14: Trong quá trình thực hiện thuật toán sắp xếp chọn (Selection Sort), sau khi vòng lặp ngoài cùng thứ nhất kết thúc, điều gì đảm bảo về phần tử đầu tiên của danh sách?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 15: Để kiểm tra tính đúng đắn của chương trình sắp xếp, bạn nên sử dụng bộ dữ liệu kiểm thử (test data) như thế nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 16: Trong ngữ cảnh sắp xếp dữ liệu lớn trên đĩa cứng, thuật toán nào ít bị ảnh hưởng bởi việc truy cập bộ nhớ chậm hơn?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 17: Giả sử bạn có danh sách [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]. Thuật toán sắp xếp nào sẽ thực hiện nhiều phép hoán đổi nhất để sắp xếp danh sách này theo thứ tự tăng dần?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 18: Trong thuật toán sắp xếp chèn (Insertion Sort), phần danh sách đã được sắp xếp luôn nằm ở phía nào của danh sách đang xét?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 19: Nếu bạn muốn sắp xếp một mảng các đối tượng phức tạp dựa trên một thuộc tính khóa (key) nào đó, thuật toán sắp xếp nào dễ dàng tùy chỉnh để thực hiện việc này nhất?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 20: Để sắp xếp danh sách [6, 4, 1, 8, 5, 3] bằng thuật toán sắp xếp chọn (Selection Sort) theo thứ tự tăng dần, sau vòng lặp đầu tiên, phần tử nào sẽ được đưa về vị trí đầu tiên?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 21: Xét đoạn mã Python sau:
```python
def mystery_function(data):
for i in range(len(data) - 1):
for j in range(len(data) - i - 1):
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
return data
```
Đoạn mã này thực hiện thuật toán sắp xếp nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 22: Trong thuật toán sắp xếp chọn (Selection Sort), sau mỗi lần tìm phần tử nhỏ nhất (hoặc lớn nhất), phần tử đó được đặt vào vị trí nào trong danh sách?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 23: Để sắp xếp một danh sách giảm dần bằng thuật toán sắp xếp nổi bọt (Bubble Sort), bạn cần thay đổi phép so sánh như thế nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 24: Trong các thuật toán sắp xếp đã học, thuật toán nào có thể hoạt động 'tại chỗ' (in-place), nghĩa là không cần sử dụng thêm bộ nhớ đáng kể ngoài danh sách ban đầu?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 25: Giả sử bạn có một danh sách các sản phẩm cần sắp xếp theo giá. Nếu bạn muốn sắp xếp nhanh chóng và không quá quan trọng về tính ổn định, thuật toán nào có thể là lựa chọn tốt?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 26: Để đọc dữ liệu số từ một file văn bản 'numbers.txt' và lưu vào danh sách numbers trong Python, bạn sử dụng đoạn mã nào sau đây?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 27: Trong thuật toán sắp xếp nổi bọt, sau mỗi lần duyệt qua danh sách, phần tử lớn nhất (hoặc nhỏ nhất, tùy theo thứ tự sắp xếp) sẽ 'nổi' lên vị trí nào?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 28: Thuật toán sắp xếp nào có thể được tối ưu hóa để 'dừng sớm' nếu danh sách đã được sắp xếp một phần hoặc hoàn toàn trong quá trình thực hiện?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 29: Để sắp xếp danh sách các đối tượng học sinh theo tên và sau đó theo điểm nếu tên trùng nhau, bạn cần thực hiện sắp xếp theo tiêu chí nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 4

Câu 30: Trong tình huống nào, bạn nên ưu tiên sử dụng thuật toán sắp xếp chèn (Insertion Sort) thay vì sắp xếp chọn (Selection Sort) hoặc nổi bọt (Bubble Sort)?

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 05

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong bài toán sắp xếp danh sách điểm thi của học sinh theo thứ tự giảm dần, thuật toán sắp xếp chọn (Selection Sort) sẽ hoạt động như thế nào trong lần lặp đầu tiên?

  • A. Tìm phần tử nhỏ nhất và đặt nó ở đầu danh sách.
  • B. Tìm phần tử lớn nhất và hoán đổi nó với phần tử đầu tiên của danh sách.
  • C. So sánh hai phần tử đầu tiên và hoán đổi nếu chúng không đúng thứ tự.
  • D. Chia danh sách thành hai phần và sắp xếp từng phần riêng biệt.

Câu 2: Xét đoạn mã Python sau để sắp xếp danh sách `A = [5, 2, 8, 1, 9]`:

```python
for i in range(len(A)):
min_idx = i
for j in range(i+1, len(A)):
if A[j] < A[min_idx]: min_idx = j A[i], A[min_idx] = A[min_idx], A[i] ``` Đoạn mã này minh họa thuật toán sắp xếp nào?

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

Câu 3: Trong thuật toán sắp xếp chèn (Insertion Sort), khi nào thì số lượng phép so sánh là ít nhất?

  • A. Khi danh sách đã được sắp xếp theo thứ tự tăng dần.
  • B. Khi danh sách được sắp xếp theo thứ tự giảm dần.
  • C. Khi danh sách chứa các phần tử giống nhau.
  • D. Số phép so sánh không phụ thuộc vào trạng thái ban đầu của danh sách.

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

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Sắp xếp chọn (Selection Sort)
  • D. Cả ba thuật toán trên đều có hiệu quả tương đương.

Câu 5: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo?

  • A. Toàn bộ danh sách đã được sắp xếp hoàn chỉnh.
  • B. Phần tử nhỏ nhất đã được đặt ở đầu danh sách.
  • C. Phần tử lớn nhất (hoặc nhỏ nhất) đã được đặt đúng vị trí ở cuối (hoặc đầu) phần chưa sắp xếp.
  • D. Không có gì được đảm bảo sau mỗi lần duyệt.

Câu 6: Bạn cần sắp xếp một danh sách các số nguyên theo thứ tự tăng dần. Yếu tố nào sau đây không ảnh hưởng trực tiếp đến thời gian thực hiện của thuật toán sắp xếp?

  • A. Số lượng phần tử trong danh sách.
  • B. Thứ tự ban đầu của các phần tử trong danh sách.
  • C. Ngôn ngữ lập trình được sử dụng để cài đặt thuật toán.
  • D. Màu sắc của các số trong danh sách.

Câu 7: Cho danh sách `B = [3, 7, 1, 9, 4]`. Nếu sử dụng thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp danh sách này theo thứ tự tăng dần, danh sách sẽ có dạng như thế nào sau bước chèn phần tử thứ hai (số 7)?

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

Câu 8: Trong bài thực hành sắp xếp điểm trung bình học sinh, tại sao chúng ta cần đọc dữ liệu điểm từ tệp tin thay vì nhập trực tiếp từ bàn phím khi số lượng học sinh lớn?

  • A. Để tăng tính bảo mật cho dữ liệu điểm.
  • B. Để thuật toán sắp xếp hoạt động nhanh hơn.
  • C. Để dễ dàng nhập và quản lý dữ liệu điểm số lượng lớn, tránh sai sót khi nhập bằng tay.
  • D. Việc đọc từ tệp tin là yêu cầu bắt buộc của thuật toán sắp xếp.

Câu 9: Khi cài đặt thuật toán sắp xếp chọn (Selection Sort) để sắp xếp giảm dần, điều kiện so sánh trong vòng lặp để tìm phần tử lớn nhất cần thay đổi như thế nào so với sắp xếp tăng dần?

  • A. Không cần thay đổi, thuật toán sắp xếp chọn luôn sắp xếp giảm dần.
  • B. Thay đổi điều kiện so sánh từ nhỏ hơn (`<`) thành lớn hơn (`>`).
  • C. Thay đổi điều kiện so sánh từ lớn hơn (`>`) thành nhỏ hơn hoặc bằng (`<=`).
  • D. Thêm một điều kiện kiểm tra xem phần tử đã được sắp xếp hay chưa.

Câu 10: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
Đoạn mã này thực hiện sắp xếp theo thứ tự nào?

  • A. Tăng dần
  • B. Giảm dần
  • C. Ngẫu nhiên
  • D. Không xác định

Câu 11: Trong thực tế, khi nào thì thuật toán sắp xếp nổi bọt (Bubble Sort) vẫn được sử dụng mặc dù nó không phải là thuật toán hiệu quả nhất?

  • A. Khi cần sắp xếp danh sách có kích thước rất lớn.
  • B. Khi yêu cầu tốc độ sắp xếp là ưu tiên hàng đầu.
  • C. Khi cần một thuật toán đơn giản, dễ hiểu và dễ cài đặt cho mục đích giáo dục hoặc danh sách nhỏ.
  • D. Khi danh sách đã được sắp xếp hoàn toàn.

Câu 12: Để sắp xếp danh sách tên học sinh theo bảng chữ cái, bạn sẽ sử dụng tiêu chí so sánh nào?

  • A. So sánh độ dài của tên.
  • B. So sánh thứ tự chữ cái của từng ký tự trong tên từ trái sang phải.
  • C. So sánh số lượng nguyên âm trong tên.
  • D. Sắp xếp ngẫu nhiên tên học sinh.

Câu 13: Xét danh sách sau: `[7, 2, 5, 1, 8, 3]`. Nếu áp dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, phần tử nào sẽ được đặt đúng vị trí đầu tiên sau vòng lặp thứ nhất?

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

Câu 14: Trong thuật toán sắp xếp chèn (Insertion Sort), quá trình "chèn" một phần tử vào vị trí đúng trong phần đã sắp xếp thực chất là việc thực hiện thao tác nào?

  • A. Hoán đổi vị trí của phần tử với phần tử cuối cùng của phần đã sắp xếp.
  • B. Xóa phần tử đó và thêm nó vào vị trí đúng.
  • C. Dịch chuyển các phần tử lớn hơn sang phải để tạo khoảng trống và đặt phần tử vào khoảng trống đó.
  • D. Sao chép phần tử đó sang vị trí đúng và giữ nguyên vị trí cũ.

Câu 15: Giả sử bạn có 1000 học sinh và cần sắp xếp họ theo điểm trung bình để xếp hạng. Bạn nên ưu tiên tiêu chí nào khi lựa chọn thuật toán sắp xếp?

  • A. Hiệu quả về thời gian (độ phức tạp thuật toán).
  • B. Sự đơn giản và dễ cài đặt của thuật toán.
  • C. Yêu cầu bộ nhớ thấp của thuật toán.
  • D. Tính ổn định của thuật toán (stable sort).

Câu 16: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép hoán đổi vị trí phần tử trong trường hợp xấu nhất là bao nhiêu?

  • A. Bằng số lượng phần tử trong danh sách.
  • B. Ít hơn số lượng phần tử trong danh sách (n-1).
  • C. Phụ thuộc vào thứ tự ban đầu của danh sách.
  • D. Không có phép hoán đổi nào trong thuật toán sắp xếp chọn.

Câu 17: Bạn có một danh sách các sản phẩm trong kho và muốn sắp xếp chúng theo thứ tự ưu tiên, với các sản phẩm có số lượng lớn hơn được ưu tiên hơn. Tiêu chí sắp xếp nào phù hợp nhất?

  • A. Sắp xếp theo tên sản phẩm (bảng chữ cái).
  • B. Sắp xếp theo mã sản phẩm (tăng dần).
  • C. Sắp xếp theo số lượng sản phẩm (giảm dần).
  • D. Sắp xếp ngẫu nhiên các sản phẩm.

Câu 18: Để đọc dữ liệu số lượng mặt hàng từ tệp "kho.txt" và lưu vào danh sách trong Python, bạn sử dụng cấu trúc lệnh nào sau đây?

  • A. `with open("kho.txt", "w") as f: soluong_ds = f.readlines()`
  • B. `soluong_ds = []
    with open("kho.txt", "r") as f:
    for line in f:
    soluong_ds.append(int(line.strip()))`
  • C. `import kho.txt
    soluong_ds = kho.txt.data`
  • D. `soluong_ds = read_from_file("kho.txt")`

Câu 19: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều gì xảy ra nếu trong một lần duyệt qua danh sách không có bất kỳ phép hoán đổi nào?

  • A. Thuật toán tiếp tục duyệt thêm một lần nữa.
  • B. Thuật toán sẽ báo lỗi vì không thể sắp xếp được nữa.
  • C. Thuật toán kết thúc vì danh sách đã được sắp xếp.
  • D. Thuật toán sẽ sắp xếp theo thứ tự ngược lại.

Câu 20: Để sắp xếp một danh sách có kích thước lớn (hàng triệu phần tử), thuật toán sắp xếp nào sau đây thường được ưu tiên sử dụng vì có độ phức tạp thời gian trung bình tốt nhất?

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

Câu 21: Trong bài toán sắp xếp điểm học sinh, giả sử có hai học sinh có điểm trung bình bằng nhau. Nếu bạn muốn duy trì thứ tự ban đầu của hai học sinh này trong danh sách đã sắp xếp, bạn cần sử dụng thuật toán sắp xếp có tính chất gì?

  • A. Tính hiệu quả về thời gian.
  • B. Tính ổn định (stable sort).
  • C. Tính đơn giản trong cài đặt.
  • D. Tính tiết kiệm bộ nhớ.

Câu 22: Cho danh sách `C = [10, 5, 8, 2, 7]`. Nếu sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp danh sách này theo thứ tự tăng dần, danh sách sẽ có dạng như thế nào sau hai lần duyệt qua?

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

Câu 23: Trong thuật toán sắp xếp chèn (Insertion Sort), tại sao chúng ta lại duyệt từ phần tử thứ hai trở đi (tức là từ index 1)?

  • A. Vì phần tử đầu tiên được coi là một danh sách con đã được sắp xếp.
  • B. Để giảm số lượng phép so sánh cần thực hiện.
  • C. Vì thuật toán sắp xếp chèn chỉ hoạt động với danh sách có ít nhất hai phần tử.
  • D. Để đảm bảo tính ổn định của thuật toán.

Câu 24: Xét tình huống bạn cần sắp xếp một chồng bài kiểm tra theo thứ tự điểm số từ cao xuống thấp. Bạn thực hiện việc này bằng cách tìm bài có điểm cao nhất, đặt lên trên cùng, sau đó tìm bài cao nhất trong số còn lại và đặt tiếp theo, và cứ tiếp tục như vậy. Phương pháp này tương ứng với thuật toán sắp xếp 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 trộn (Merge Sort)

Câu 25: Trong ngôn ngữ lập trình Python, hàm `sort()` và hàm `sorted()` khác nhau cơ bản ở điểm nào?

  • A. `sort()` chỉ sắp xếp số, `sorted()` sắp xếp được mọi kiểu dữ liệu.
  • B. `sorted()` nhanh hơn `sort()` đối với danh sách lớn.
  • C. `sort()` sắp xếp danh sách tại chỗ (in-place), `sorted()` trả về một danh sách mới đã sắp xếp.
  • D. `sort()` sắp xếp tăng dần, `sorted()` sắp xếp giảm dần.

Câu 26: Độ phức tạp thời gian trung bình của thuật toán sắp xếp chèn (Insertion Sort) là O(n^2). Điều này có ý nghĩa gì về thời gian thực hiện của thuật toán khi kích thước danh sách tăng lên?

  • A. Thời gian thực hiện tăng tuyến tính với kích thước danh sách.
  • B. Thời gian thực hiện tăng theo cấp số nhân (bình phương) của kích thước danh sách.
  • C. Thời gian thực hiện giảm khi kích thước danh sách tăng lên.
  • D. Thời gian thực hiện không phụ thuộc vào kích thước danh sách.

Câu 27: Để sắp xếp danh sách các đối tượng phức tạp (ví dụ: danh sách sinh viên với nhiều thuộc tính như tên, tuổi, điểm), bạn cần cung cấp thêm thông tin gì cho thuật toán sắp xếp?

  • A. Dung lượng bộ nhớ tối đa được phép sử dụng.
  • B. Ngôn ngữ lập trình được sử dụng.
  • C. Tiêu chí so sánh (khóa sắp xếp) để xác định thứ tự giữa các đối tượng.
  • D. Số lượng bộ xử lý của máy tính.

Câu 28: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh trong trường hợp xấu nhất là bao nhiêu đối với danh sách có n phần tử?

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

Câu 29: Thuật toán sắp xếp nào sau đây có thể được cải tiến để đạt độ phức tạp thời gian trung bình O(n log n) trong trường hợp tốt nhất và trung bình, nhưng vẫn giữ độ phức tạp O(n^2) trong trường hợp xấu nhất?

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

Câu 30: Khi nào việc sử dụng thuật toán sắp xếp chèn (Insertion Sort) sẽ hiệu quả hơn so với thuật toán sắp xếp chọn (Selection Sort)?

  • A. Khi cần sắp xếp danh sách có kích thước lớn.
  • B. Khi danh sách đã gần như được sắp xếp.
  • C. Khi yêu cầu tính ổn định của thuật toán sắp xếp.
  • D. Sắp xếp chọn luôn hiệu quả hơn sắp xếp chèn trong mọi trường hợp.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 1: Trong bài toán sắp xếp danh sách điểm thi của học sinh theo thứ tự giảm dần, thuật toán sắp xếp chọn (Selection Sort) sẽ hoạt động như thế nào trong lần lặp đầu tiên?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 2: Xét đoạn mã Python sau để sắp xếp danh sách `A = [5, 2, 8, 1, 9]`:

```python
for i in range(len(A)):
min_idx = i
for j in range(i+1, len(A)):
if A[j] < A[min_idx]: min_idx = j A[i], A[min_idx] = A[min_idx], A[i] ``` Đoạn mã này minh họa thuật toán sắp xếp nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 3: Trong thuật toán sắp xếp chèn (Insertion Sort), khi nào thì số lượng phép so sánh là ít nhất?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 4: Giả sử bạn có một danh sách gần như đã được sắp xếp, chỉ có một vài phần tử nằm sai vị trí. Thuật toán sắp xếp nào sau đây có khả năng hoạt động hiệu quả 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 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 5: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 6: Bạn cần sắp xếp một danh sách các số nguyên theo thứ tự tăng dần. Yếu tố nào sau đây *không* ảnh hưởng trực tiếp đến thời gian thực hiện của thuật toán sắp xếp?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 7: Cho danh sách `B = [3, 7, 1, 9, 4]`. Nếu sử dụng thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp danh sách này theo thứ tự tăng dần, danh sách sẽ có dạng như thế nào sau bước chèn phần tử thứ hai (số 7)?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 8: Trong bài thực hành sắp xếp điểm trung bình học sinh, tại sao chúng ta cần đọc dữ liệu điểm từ tệp tin thay vì nhập trực tiếp từ bàn phím khi số lượng học sinh lớn?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 9: Khi cài đặt thuật toán sắp xếp chọn (Selection Sort) để sắp xếp giảm dần, điều kiện so sánh trong vòng lặp để tìm phần tử lớn nhất cần thay đổi như thế nào so với sắp xếp tăng dần?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 10: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
Đoạn mã này thực hiện sắp xếp theo thứ tự nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 11: Trong thực tế, khi nào thì thuật toán sắp xếp nổi bọt (Bubble Sort) vẫn được sử dụng mặc dù nó không phải là thuật toán hiệu quả nhất?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 12: Để sắp xếp danh sách tên học sinh theo bảng chữ cái, bạn sẽ sử dụng tiêu chí so sánh nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 13: Xét danh sách sau: `[7, 2, 5, 1, 8, 3]`. Nếu áp dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, phần tử nào sẽ được đặt đúng vị trí *đầu tiên* sau vòng lặp thứ nhất?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 14: Trong thuật toán sắp xếp chèn (Insertion Sort), quá trình 'chèn' một phần tử vào vị trí đúng trong phần đã sắp xếp thực chất là việc thực hiện thao tác nào?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 15: Giả sử bạn có 1000 học sinh và cần sắp xếp họ theo điểm trung bình để xếp hạng. Bạn nên ưu tiên tiêu chí nào khi lựa chọn thuật toán sắp xếp?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 16: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép hoán đổi vị trí phần tử trong trường hợp xấu nhất là bao nhiêu?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 17: Bạn có một danh sách các sản phẩm trong kho và muốn sắp xếp chúng theo thứ tự ưu tiên, với các sản phẩm có số lượng lớn hơn được ưu tiên hơn. Tiêu chí sắp xếp nào phù hợp nhất?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 18: Để đọc dữ liệu số lượng mặt hàng từ tệp 'kho.txt' và lưu vào danh sách trong Python, bạn sử dụng cấu trúc lệnh nào sau đây?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 19: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều gì xảy ra nếu trong một lần duyệt qua danh sách không có bất kỳ phép hoán đổi nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 20: Để sắp xếp một danh sách có kích thước lớn (hàng triệu phần tử), thuật toán sắp xếp nào sau đây thường được ưu tiên sử dụng vì có độ phức tạp thời gian trung bình tốt nhất?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 21: Trong bài toán sắp xếp điểm học sinh, giả sử có hai học sinh có điểm trung bình bằng nhau. Nếu bạn muốn duy trì thứ tự ban đầu của hai học sinh này trong danh sách đã sắp xếp, bạn cần sử dụng thuật toán sắp xếp có tính chất gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 22: Cho danh sách `C = [10, 5, 8, 2, 7]`. Nếu sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp danh sách này theo thứ tự tăng dần, danh sách sẽ có dạng như thế nào sau *hai* lần duyệt qua?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 23: Trong thuật toán sắp xếp chèn (Insertion Sort), tại sao chúng ta lại duyệt từ phần tử thứ hai trở đi (tức là từ index 1)?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 24: Xét tình huống bạn cần sắp xếp một chồng bài kiểm tra theo thứ tự điểm số từ cao xuống thấp. Bạn thực hiện việc này bằng cách tìm bài có điểm cao nhất, đặt lên trên cùng, sau đó tìm bài cao nhất trong số còn lại và đặt tiếp theo, và cứ tiếp tục như vậy. Phương pháp này tương ứng với thuật toán sắp xếp nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 25: Trong ngôn ngữ lập trình Python, hàm `sort()` và hàm `sorted()` khác nhau cơ bản ở điểm nào?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 26: Độ phức tạp thời gian trung bình của thuật toán sắp xếp chèn (Insertion Sort) là O(n^2). Điều này có ý nghĩa gì về thời gian thực hiện của thuật toán khi kích thước danh sách tăng lên?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 27: Để sắp xếp danh sách các đối tượng phức tạp (ví dụ: danh sách sinh viên với nhiều thuộc tính như tên, tuổi, điểm), bạn cần cung cấp thêm thông tin gì cho thuật toán sắp xếp?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 28: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh trong trường hợp xấu nhất là bao nhiêu đối với danh sách có n phần tử?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 29: Thuật toán sắp xếp nào sau đây có thể được cải tiến để đạt độ phức tạp thời gian trung bình O(n log n) trong trường hợp tốt nhất và trung bình, nhưng vẫn giữ độ phức tạp O(n^2) trong trường hợp xấu nhất?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 5

Câu 30: Khi nào việc sử dụng thuật toán sắp xếp chèn (Insertion Sort) sẽ hiệu quả hơn so với thuật toán sắp xếp chọn (Selection Sort)?

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 06

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 06 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong bài toán sắp xếp, thuật toán nào sau đây có độ phức tạp thời gian trung bình và trường hợp tốt nhất là O(n log n), thường được sử dụng cho các tập dữ liệu lớ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. Sắp xếp trộn (Merge Sort)

Câu 2: Xét danh sách số [5, 2, 8, 1, 9]. Sau khi thực hiện một bước sắp xếp nổi bọt (bubble sort), danh sách sẽ trở thành:

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

Câu 3: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động hiệu quả nhất trong trường hợp nào sau đây?

  • A. Danh sách đã gần như được sắp xếp
  • B. Danh sách có kích thước rất lớn
  • C. Danh sách chứa các phần tử trùng lặp
  • D. Danh sách được sắp xếp theo thứ tự ngược lại

Câu 4: Trong thuật toán sắp xếp chọn (Selection Sort), sau mỗi vòng lặp, điều gì được đảm bảo về phần tử được chọn?

  • A. Phần tử nhỏ nhất được đưa về cuối danh sách
  • B. Phần tử lớn nhất được đưa về cuối danh sách
  • C. Phần tử nhỏ nhất (hoặc lớn nhất, tùy theo thứ tự sắp xếp) được đưa về vị trí đúng của nó trong danh sách đã sắp xếp
  • D. Phần tử ở giữa danh sách được đưa về vị trí trung tâm

Câu 5: Cho đoạn mã Python sau:
```python
def mystery_sort(arr):
n = len(arr)
for i in range(n-1):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]: min_idx = j arr[i], arr[min_idx] = arr[min_idx], arr[i] return arr ``` Đoạn mã này thực hiện thuật toán sắp xếp 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. Sắp xếp nhanh (Quick Sort)

Câu 6: Trong tình huống nào sau đây, việc sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort) là phù hợp nhất?

  • A. Sắp xếp một danh sách có hàng triệu phần tử
  • B. Sắp xếp dữ liệu cần độ ổn định cao (stable sort)
  • C. Sắp xếp dữ liệu yêu cầu thời gian thực (real-time) với độ trễ thấp nhất
  • D. Sắp xếp một danh sách nhỏ và đơn giản cho mục đích giáo dục hoặc minh họa

Câu 7: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: sinh viên với nhiều thuộc tính như tên, tuổi, điểm số) theo một thuộc tính cụ thể (ví dụ: điểm số), chúng ta cần cung cấp thêm điều gì cho thuật toán sắp xếp?

  • A. Kích thước của đối tượng
  • B. Địa chỉ bộ nhớ của đối tượng
  • C. Hàm so sánh (comparison function) để xác định thứ tự giữa hai đối tượng
  • D. Kiểu dữ liệu của thuộc tính sắp xếp

Câu 8: Giả sử bạn có một danh sách [A, B, C, D, E] đã được sắp xếp theo thứ tự bảng chữ cái. Bạn muốn chèn phần tử "F" vào danh sách này để vẫn duy trì thứ tự sắp xếp. Thuật toán sắp xếp chèn (Insertion Sort) sẽ thực hiện điều này như thế nào?

  • A. Xáo trộn lại toàn bộ danh sách và sắp xếp lại từ đầu
  • B. Tìm vị trí thích hợp cho "F" (sau "E") và chèn vào đó
  • C. Chèn "F" vào cuối danh sách và sau đó sử dụng thuật toán sắp xếp khác
  • D. Không thể chèn "F" vào danh sách đã sắp xếp

Câu 9: Ưu điểm chính 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) là gì?

  • A. Dễ dàng cài đặt hơn
  • B. Độ phức tạp thời gian tốt hơn trong mọi trường hợp
  • C. Số lượng hoán đổi (swaps) ít hơn, đặc biệt với danh sách lớn
  • D. Yêu cầu ít bộ nhớ hơn

Câu 10: Khi nào thuật toán sắp xếp chèn (Insertion Sort) trở nên kém hiệu quả hơn so với các thuật toán khác như sắp xếp trộn (Merge Sort) hoặc sắp xếp nhanh (Quick Sort)?

  • A. Khi kích thước danh sách cần sắp xếp rất lớn
  • B. Khi danh sách đã gần như được sắp xếp
  • C. Khi các phần tử trong danh sách có giá trị gần giống nhau
  • D. Khi yêu cầu sắp xếp ổn định (stable sort)

Câu 11: Trong một ứng dụng quản lý thư viện, bạn cần sắp xếp sách theo tiêu đề. Tiêu chí nào quan trọng nhất cần xem xét khi chọn thuật toán sắp xếp?

  • A. Tốc độ sắp xếp trong trường hợp danh sách đã sắp xếp
  • B. Tốc độ sắp xếp trung bình và trường hợp xấu nhất để đảm bảo hiệu suất chấp nhận được
  • C. Yêu cầu bộ nhớ phụ trợ của thuật toán
  • D. Độ phức tạp cài đặt của thuật toán

Câu 12: Để sắp xếp danh sách số theo thứ tự giảm dần bằng thuật toán sắp xếp chọn (Selection Sort), bạn cần thay đổi điều kiện so sánh như thế nào trong quá trình tìm phần tử lớn nhất (hoặc nhỏ nhất)?

  • A. Thay đổi so sánh từ tìm phần tử nhỏ nhất sang tìm phần tử lớn nhất trong mỗi bước
  • B. Không cần thay đổi gì, thuật toán sắp xếp chọn mặc định sắp xếp giảm dần
  • C. Đảo ngược danh sách sau khi sắp xếp tăng dần
  • D. Thay đổi thuật toán sắp xếp khác

Câu 13: Xét danh sách [3, 1, 4, 1, 5, 9, 2, 6]. Nếu bạn sử dụng thuật toán sắp xếp chèn (Insertion Sort), sau bao nhiêu lần chèn thì phần tử "9" sẽ ở đúng vị trí cuối cùng đã sắp xếp?

  • A. 0 lần, vì "9" đã ở đúng vị trí
  • B. 1 lần
  • C. 7 lần
  • D. Không cần chèn, vì "9" sẽ tự động được đặt đúng vị trí trong quá trình sắp xếp các phần tử khác

Câu 14: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần so sánh trong trường hợp xấu nhất (worst-case) cho danh sách có n phần tử là bao nhiêu?

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

Câu 15: Thuật toán sắp xếp nào sau đây là một thuật toán sắp xếp tại chỗ (in-place sort), nghĩa là nó không yêu cầu thêm không gian bộ nhớ đáng kể ngoài danh sách ban đầu?

  • A. Sắp xếp trộn (Merge Sort)
  • B. Sắp xếp nhanh (Quick Sort) - phiên bản thông thường không tại chỗ
  • C. Sắp xếp đếm (Counting Sort)
  • D. Sắp xếp chọn (Selection Sort)

Câu 16: Trong thuật toán sắp xếp chèn (Insertion Sort), phần "đã sắp xếp" của danh sách ban đầu nằm ở vị trí nào?

  • A. Luôn là phần đầu của danh sách
  • B. Luôn là phần cuối của danh sách
  • C. Nằm rải rác không theo quy luật trong danh sách
  • D. Là phần tử ở giữa danh sách

Câu 17: Để sắp xếp một mảng các số nguyên lớn, thuật toán nào sau đây thường được ưu tiên sử dụng vì hiệu quả về thời gian (độ phức tạp O(n log n) trung bình)?

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

Câu 18: Khi so sánh thuật toán sắp xếp chèn (Insertion Sort) và sắp xếp chọn (Selection Sort) về số lượng phép gán (assignments) dữ liệu, thuật toán nào thường thực hiện ít phép gán hơn?

  • A. Sắp xếp chèn luôn ít phép gán hơn
  • B. Sắp xếp chọn luôn ít phép gán hơn
  • C. Cả hai thuật toán có số phép gán tương đương
  • D. Sắp xếp chọn thường ít phép gán hơn, đặc biệt là hoán đổi vị trí các phần tử

Câu 19: Trong thực tế, khi nào bạn nên ưu tiên sử dụng thuật toán sắp xếp chèn (Insertion Sort) thay vì các thuật toán phức tạp hơn như Merge Sort hay Quick Sort?

  • A. Khi cần sắp xếp dữ liệu với số lượng lớn và yêu cầu tốc độ cao nhất
  • B. Khi yêu cầu thuật toán sắp xếp phải ổn định (stable)
  • C. Khi dữ liệu đầu vào có kích thước nhỏ hoặc gần như đã được sắp xếp
  • D. Khi không gian bộ nhớ là yếu tố hạn chế nhất

Câu 20: Điều gì xảy ra nếu bạn áp dụng thuật toán sắp xếp chọn (Selection Sort) cho một danh sách đã được sắp xếp hoàn toàn?

  • A. Thuật toán sẽ không thực hiện bất kỳ thao tác nào và trả về danh sách ban đầu ngay lập tức
  • B. Thuật toán vẫn thực hiện đầy đủ các vòng lặp và so sánh, nhưng không có hoán đổi vị trí nào xảy ra (hoặc rất ít)
  • C. Thuật toán sẽ báo lỗi vì không cần sắp xếp nữa
  • D. Thuật toán sẽ sắp xếp lại danh sách theo thứ tự ngược lại

Câu 21: Cho danh sách [7, 3, 9, 1, 5]. Sau hai bước của thuật toán sắp xếp chọn (Selection Sort - sắp xếp tăng dần), danh sách sẽ trở thành:

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

Câu 22: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), tại sao các phần tử "nặng hơn" (lớn hơn) lại "chìm" xuống cuối danh sách sau mỗi lần duyệt?

  • A. Do thuật toán ưu tiên sắp xếp các phần tử lớn trước
  • B. Do các phần tử lớn hơn được hoán đổi vị trí với các phần tử nhỏ hơn liền kề và "nổi" dần lên đầu, đẩy các phần tử nhỏ xuống
  • C. Do thuật toán bắt đầu so sánh từ cuối danh sách
  • D. Đây là một cách diễn đạt sai về thuật toán sắp xếp nổi bọt, phần tử lớn hơn thực ra "nổi" lên đầu

Câu 23: Để sắp xếp danh sách các chuỗi ký tự theo thứ tự bảng chữ cái, thuật toán sắp xếp nào sau đây có thể được sử dụng trực tiếp mà không cần sửa đổi?

  • A. Sắp xếp đếm (Counting Sort)
  • B. Sắp xếp radix (Radix Sort)
  • C. Sắp xếp trộn (Merge Sort) - cần hàm so sánh chuỗi
  • D. Bất kỳ thuật toán sắp xếp so sánh nào (ví dụ: Bubble Sort, Insertion Sort, Selection Sort, Merge Sort, Quick Sort) nếu có hàm so sánh chuỗi phù hợp

Câu 24: Giả sử bạn cần sắp xếp điểm thi của học sinh và muốn giữ nguyên thứ tự tương đối của các học sinh có cùng điểm số (stable sort). Thuật toán nào sau đây là lựa chọn phù hợp?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp nhanh (Quick Sort)
  • C. Sắp xếp chọn (Selection Sort)
  • D. Sắp xếp vun đống (Heap Sort)

Câu 25: Độ phức tạp thời gian tốt nhất (best-case) của thuật toán sắp xếp chèn (Insertion Sort) là O(n). Điều này xảy ra khi nào?

  • A. Khi danh sách được sắp xếp theo thứ tự ngược lại
  • B. Khi danh sách đã được sắp xếp hoàn toàn
  • C. Khi tất cả các phần tử trong danh sách đều giống nhau
  • D. Khi danh sách có kích thước rất lớn

Câu 26: Thuật toán sắp xếp nào sau đây có thể được cải tiến để đạt hiệu suất tốt hơn bằng cách sử dụng kỹ thuật "cờ hiệu" (flag) để nhận biết khi danh sách đã được sắp xếp và dừng sớm?

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

Câu 27: Trong thuật toán sắp xếp chọn (Selection Sort), số lần hoán đổi vị trí các phần tử trong trường hợp xấu nhất (worst-case) cho danh sách có n phần tử là bao nhiêu?

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

Câu 28: Để sắp xếp một danh sách liên kết (linked list), thuật toán sắp xếp nào sau đây thường được coi là hiệu quả hơn so với sắp xếp mảng?

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

Câu 29: Khi nào việc lựa chọn thuật toán sắp xếp ít quan trọng hơn so với các yếu tố khác như khả năng đọc và bảo trì mã nguồn?

  • A. Khi sắp xếp dữ liệu cực lớn với yêu cầu thời gian thực
  • B. Khi phát triển thư viện sắp xếp chuyên dụng
  • C. Khi cạnh tranh trong các cuộc thi lập trình hiệu suất cao
  • D. Khi phát triển các ứng dụng nhỏ hoặc các đoạn mã dùng một lần, nơi hiệu suất không phải là yếu tố sống còn

Câu 30: Cho danh sách [6, 4, 2, 8, 1]. Nếu bạn sử dụng thuật toán sắp xếp chèn (Insertion Sort), sau ba lần chèn, danh sách sẽ trở thành:

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

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 1: Trong bài toán sắp xếp, thuật toán nào sau đây có độ phức tạp thời gian trung bình và trường hợp tốt nhất là O(n log n), thường được sử dụng cho các tập dữ liệu lớn?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 2: Xét danh sách số [5, 2, 8, 1, 9]. Sau khi thực hiện *một* bước sắp xếp nổi bọt (bubble sort), danh sách sẽ trở thành:

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 3: Thuật toán sắp xếp chèn (Insertion Sort) hoạt động hiệu quả nhất trong trường hợp nào sau đây?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 4: Trong thuật toán sắp xếp chọn (Selection Sort), sau mỗi vòng lặp, điều gì được đảm bảo về phần tử được chọn?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 5: Cho đoạn mã Python sau:
```python
def mystery_sort(arr):
n = len(arr)
for i in range(n-1):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]: min_idx = j arr[i], arr[min_idx] = arr[min_idx], arr[i] return arr ``` Đoạn mã này thực hiện thuật toán sắp xếp nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 6: Trong tình huống nào sau đây, việc sử dụng thuật toán sắp xếp nổi bọt (Bubble Sort) là phù hợp nhất?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 7: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: sinh viên với nhiều thuộc tính như tên, tuổi, điểm số) theo một thuộc tính cụ thể (ví dụ: điểm số), chúng ta cần cung cấp thêm điều gì cho thuật toán sắp xếp?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 8: Giả sử bạn có một danh sách [A, B, C, D, E] đã được sắp xếp theo thứ tự bảng chữ cái. Bạn muốn chèn phần tử 'F' vào danh sách này để vẫn duy trì thứ tự sắp xếp. Thuật toán sắp xếp chèn (Insertion Sort) sẽ thực hiện điều này như thế nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 9: Ưu điểm chính 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) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 10: Khi nào thuật toán sắp xếp chèn (Insertion Sort) trở nên kém hiệu quả hơn so với các thuật toán khác như sắp xếp trộn (Merge Sort) hoặc sắp xếp nhanh (Quick Sort)?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 11: Trong một ứng dụng quản lý thư viện, bạn cần sắp xếp sách theo tiêu đề. Tiêu chí nào quan trọng nhất cần xem xét khi chọn thuật toán sắp xếp?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 12: Để sắp xếp danh sách số theo thứ tự giảm dần bằng thuật toán sắp xếp chọn (Selection Sort), bạn cần thay đổi điều kiện so sánh như thế nào trong quá trình tìm phần tử lớn nhất (hoặc nhỏ nhất)?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 13: Xét danh sách [3, 1, 4, 1, 5, 9, 2, 6]. Nếu bạn sử dụng thuật toán sắp xếp chèn (Insertion Sort), sau bao nhiêu lần chèn thì phần tử '9' sẽ ở đúng vị trí cuối cùng đã sắp xếp?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 14: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần so sánh trong trường hợp xấu nhất (worst-case) cho danh sách có n phần tử là bao nhiêu?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 15: Thuật toán sắp xếp nào sau đây là một thuật toán sắp xếp tại chỗ (in-place sort), nghĩa là nó không yêu cầu thêm không gian bộ nhớ đáng kể ngoài danh sách ban đầu?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 16: Trong thuật toán sắp xếp chèn (Insertion Sort), phần 'đã sắp xếp' của danh sách ban đầu nằm ở vị trí nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 17: Để sắp xếp một mảng các số nguyên lớn, thuật toán nào sau đây thường được ưu tiên sử dụng vì hiệu quả về thời gian (độ phức tạp O(n log n) trung bình)?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 18: Khi so sánh thuật toán sắp xếp chèn (Insertion Sort) và sắp xếp chọn (Selection Sort) về số lượng phép gán (assignments) dữ liệu, thuật toán nào thường thực hiện ít phép gán hơn?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 19: Trong thực tế, khi nào bạn nên ưu tiên sử dụng thuật toán sắp xếp chèn (Insertion Sort) thay vì các thuật toán phức tạp hơn như Merge Sort hay Quick Sort?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 20: Điều gì xảy ra nếu bạn áp dụng thuật toán sắp xếp chọn (Selection Sort) cho một danh sách đã được sắp xếp hoàn toàn?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 21: Cho danh sách [7, 3, 9, 1, 5]. Sau *hai* bước của thuật toán sắp xếp chọn (Selection Sort - sắp xếp tăng dần), danh sách sẽ trở thành:

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 22: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), tại sao các phần tử 'nặng hơn' (lớn hơn) lại 'chìm' xuống cuối danh sách sau mỗi lần duyệt?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 23: Để sắp xếp danh sách các chuỗi ký tự theo thứ tự bảng chữ cái, thuật toán sắp xếp nào sau đây có thể được sử dụng trực tiếp mà không cần sửa đổi?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 24: Giả sử bạn cần sắp xếp điểm thi của học sinh và muốn giữ nguyên thứ tự tương đối của các học sinh có cùng điểm số (stable sort). Thuật toán nào sau đây là lựa chọn phù hợp?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 25: Độ phức tạp thời gian tốt nhất (best-case) của thuật toán sắp xếp chèn (Insertion Sort) là O(n). Điều này xảy ra khi nào?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 26: Thuật toán sắp xếp nào sau đây có thể được cải tiến để đạt hiệu suất tốt hơn bằng cách sử dụng kỹ thuật 'cờ hiệu' (flag) để nhận biết khi danh sách đã được sắp xếp và dừng sớm?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 27: Trong thuật toán sắp xếp chọn (Selection Sort), số lần hoán đổi vị trí các phần tử trong trường hợp xấu nhất (worst-case) cho danh sách có n phần tử là bao nhiêu?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 28: Để sắp xếp một danh sách liên kết (linked list), thuật toán sắp xếp nào sau đây thường được coi là hiệu quả hơn so với sắp xếp mảng?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 29: Khi nào việc lựa chọn thuật toán sắp xếp ít quan trọng hơn so với các yếu tố khác như khả năng đọc và bảo trì mã nguồn?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 6

Câu 30: Cho danh sách [6, 4, 2, 8, 1]. Nếu bạn sử dụng thuật toán sắp xếp chèn (Insertion Sort), sau *ba* lần chèn, danh sách sẽ trở thành:

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 07

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 07 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên dữ liệu đã gần như được sắp xếp hoàn toàn?

  • 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 nhanh (Quick Sort)

Câu 2: Xét danh sách [5, 2, 8, 1, 9]. Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp tăng dần, sau bước lặp đầu tiên, danh sách sẽ có dạng như thế nào?

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

Câu 3: Trong thuật toán sắp xếp chèn, khi chèn một phần tử vào vị trí đúng trong đoạn đã sắp xếp, thao tác nào sau đây được thực hiện để tạo khoảng trống?

  • A. Hoán đổi vị trí các phần tử lớn hơn với phần tử nhỏ hơn.
  • B. Dịch chuyển các phần tử lớn hơn sang bên phải một vị trí.
  • C. Xóa các phần tử lớn hơn và chèn phần tử mới vào vị trí trống.
  • D. Sao chép phần tử mới lên trên các phần tử lớn hơn.

Câu 4: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
Đoạn mã này thực hiện thuật toán sắp xếp nào?

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

Câu 5: Trong thuật toán sắp xếp chọn để sắp xếp giảm dần, ở mỗi bước lặp, chúng ta tìm phần tử có đặc điểm gì trong phần còn lại của danh sách?

  • A. Lớn nhất
  • B. Nhỏ nhất
  • C. Trung bình
  • D. Ngẫu nhiên

Câu 6: Để sắp xếp danh sách tên học sinh theo thứ tự bảng chữ cái, thuật toán sắp xếp nào sau đây là phù hợp và dễ cài đặt nhất cho một danh sách nhỏ?

  • A. Sắp xếp nhanh (Quick Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Sắp xếp trộn (Merge Sort)
  • D. Sắp xếp vun đống (Heap Sort)

Câu 7: Thuật toán sắp xếp nổi bọt có tên gọi như vậy là do đặc điểm nào trong quá trình sắp xếp?

  • A. Các phần tử nhỏ dần "chìm" xuống cuối danh sách.
  • B. Các phần tử được chọn "nổi bật" và đưa về đầu danh sách.
  • C. Các phần tử lớn hơn "nổi" lên trên như bọt khí.
  • D. Danh sách được chia thành các "bong bóng" nhỏ để sắp xếp riêng.

Câu 8: Giả sử bạn có một danh sách 1000 phần tử đã được sắp xếp tăng dần, nhưng có 10 phần tử cuối cùng bị xáo trộn ngẫu nhiên. Thuật toán nào sẽ sắp xếp lại toàn bộ danh sách một cách hiệu quả 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. Sắp xếp nhanh (Quick Sort)

Câu 9: Trong thuật toán sắp xếp chọn, số lượng phép so sánh trong trường hợp xấu nhất (worst-case) tỉ lệ với bình phương số phần tử (n^2). Điều này có ý nghĩa gì về hiệu suất của thuật toán?

  • A. Thuật toán rất hiệu quả với dữ liệu lớn.
  • B. Hiệu suất giảm đáng kể khi kích thước dữ liệu tăng lên.
  • C. Số lượng phép so sánh không phụ thuộc vào kích thước dữ liệu.
  • D. Thuật toán luôn chạy nhanh nhất trong mọi trường hợp.

Câu 10: Để sắp xếp một tập hợp lớn các số nguyên, trong đó các số có giá trị phân bố rộng và không có đặc điểm đặc biệt nào, thuật toán sắp xếp nào thường được ưu tiên sử dụng vì hiệu suất trung bình tố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. Sắp xếp nhanh (Quick Sort)

Câu 11: Trong thuật toán sắp xếp chèn, đoạn danh sách nào luôn được duy trì trạng thái đã sắp xếp trong suốt quá trình thực hiện?

  • A. Đoạn đầu của danh sách, tính từ phần tử đầu tiên đến vị trí hiện tại.
  • B. Đoạn cuối của danh sách, tính từ vị trí hiện tại đến phần tử cuối cùng.
  • C. Toàn bộ danh sách luôn được sắp xếp.
  • D. Không có đoạn nào của danh sách được đảm bảo sắp xếp.

Câu 12: Phát biểu nào sau đây mô tả đúng nhất về sự khác biệt cơ bản giữa thuật toán sắp xếp chọn và sắp xếp chèn?

  • A. Sắp xếp chọn thực hiện ít phép so sánh hơn sắp xếp chèn.
  • B. Sắp xếp chọn tìm phần tử nhỏ nhất (hoặc lớn nhất) rồi đặt vào đúng vị trí, còn sắp xếp chèn chèn phần tử vào vị trí đúng trong đoạn đã sắp xếp.
  • C. Sắp xếp chèn hiệu quả hơn sắp xếp chọn với dữ liệu lớn.
  • D. Sắp xếp chọn chỉ sắp xếp được số, còn sắp xếp chèn sắp xếp được mọi kiểu dữ liệu.

Câu 13: Xét danh sách ["z", "b", "a", "y", "c"]. Nếu sắp xếp danh sách này theo thứ tự bảng chữ cái bằng thuật toán sắp xếp nổi bọt, sau vòng lặp đầu tiên, danh sách sẽ trở thành:

  • A. ["a", "b", "c", "y", "z"]
  • B. ["b", "a", "y", "c", "z"]
  • C. ["z", "b", "a", "y", "c"]
  • D. ["b", "a", "y", "c", "z"]

Câu 14: Trong tình huống nào sau đây, việc sử dụng thuật toán sắp xếp nổi bọt là lựa chọn hợp lý mặc dù nó không phải là thuật toán hiệu quả nhất về mặt thời gian?

  • A. Khi cần sắp xếp một danh sách cực lớn với hàng triệu phần tử.
  • B. Khi yêu cầu thời gian sắp xếp phải nhanh nhất có thể.
  • C. Khi cần một thuật toán đơn giản, dễ hiểu và dễ cài đặt cho danh sách nhỏ.
  • D. Khi dữ liệu đã được sắp xếp hoàn toàn.

Câu 15: Để sắp xếp danh sách số theo thứ tự giảm dần bằng thuật toán sắp xếp chèn, bạn cần điều chỉnh điều kiện so sánh như thế nào trong quá trình chèn phần tử?

  • A. Không cần điều chỉnh gì, thuật toán sắp xếp chèn luôn cho kết quả giảm dần.
  • B. Thay đổi điều kiện so sánh từ "nhỏ hơn" thành "lớn hơn" khi tìm vị trí chèn.
  • C. Đảo ngược danh sách sau khi sắp xếp tăng dần.
  • D. Sử dụng một thuật toán sắp xếp khác.

Câu 16: Cho danh sách điểm thi [7, 5, 9, 6, 8]. Nếu áp dụng thuật toán sắp xếp chọn để sắp xếp giảm dần, sau bước lặp thứ hai, danh sách sẽ có dạng:

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

Câu 17: Trong thuật toán sắp xếp nổi bọt, số lần so sánh trong mỗi vòng lặp giảm dần sau mỗi vòng lặp. Vì sao lại có sự giảm dần này?

  • A. Vì các phần tử nhỏ nhất đã được đưa về đầu danh sách.
  • B. Vì danh sách đã được sắp xếp một phần.
  • C. Vì thuật toán tự tối ưu hóa số phép so sánh.
  • D. Vì các phần tử lớn nhất đã "nổi" lên cuối danh sách và không cần so sánh lại.

Câu 18: Để đánh giá hiệu quả của một thuật toán sắp xếp, tiêu chí quan trọng nhất thường được xem xét là gì?

  • A. Độ phức tạp thời gian (thời gian thực hiện)
  • B. Độ phức tạp không gian (bộ nhớ sử dụng)
  • C. Độ phức tạp cài đặt (mức độ dễ cài đặt)
  • D. Độ phức tạp sử dụng (mức độ dễ sử dụng)

Câu 19: Xét tình huống cần sắp xếp một danh sách các bản ghi học sinh theo điểm trung bình. Nếu điểm trung bình là khóa sắp xếp chính, nhưng khi điểm trung bình bằng nhau cần sắp xếp theo tên (khóa phụ). Thuật toán sắp xếp nào có thể dễ dàng mở rộng để đáp ứng yêu cầu này?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán trên đều khó mở rộng.

Câu 20: Trong thuật toán sắp xếp chọn, sau khi tìm được phần tử lớn nhất (hoặc nhỏ nhất) ở mỗi bước, thao tác tiếp theo là gì?

  • A. Chèn phần tử đó vào vị trí hiện tại.
  • B. Xóa phần tử đó khỏi danh sách.
  • C. Hoán đổi phần tử đó với phần tử ở vị trí đầu (hoặc cuối) của phần chưa sắp xếp.
  • D. So sánh phần tử đó với phần tử kế tiếp.

Câu 21: Cho danh sách [15, 8, 20, 5, 12]. Sử dụng thuật toán sắp xếp chèn để sắp xếp tăng dần. Hãy cho biết trạng thái của danh sách sau khi chèn phần tử thứ ba (số 20).

  • A. [5, 8, 12, 15, 20]
  • B. [8, 15, 20, 5, 12]
  • C. [8, 15, 5, 20, 12]
  • D. [15, 8, 20, 5, 12]

Câu 22: Ưu điểm chính của thuật toán sắp xếp chèn so với sắp xếp chọn và sắp xếp nổi bọt là gì khi xét về số lượng thao tác hoán đổi (swap)?

  • A. Sắp xếp chèn luôn cần nhiều hoán đổi hơn.
  • B. Sắp xếp chèn và sắp xếp chọn có số hoán đổi tương đương.
  • C. Sắp xếp chèn thường cần ít hoán đổi hơn, đặc biệt với dữ liệu gần như đã sắp xếp.
  • D. Sắp xếp chèn không bao giờ thực hiện hoán đổi.

Câu 23: Trong thuật toán sắp xếp nổi bọt, điều gì xảy ra nếu trong một vòng lặp không có bất kỳ cặp phần tử nào bị hoán đổi vị trí cho nhau?

  • A. Thuật toán kết thúc vì danh sách đã được sắp xếp hoàn toàn.
  • B. Thuật toán tiếp tục lặp lại cho đến khi đạt số vòng lặp tối đa.
  • C. Thuật toán chuyển sang sử dụng một phương pháp sắp xếp khác.
  • D. Thuật toán báo lỗi vì không tìm thấy cặp phần tử nào để hoán đổi.

Câu 24: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: sinh viên với nhiều thuộc tính) dựa trên một thuộc tính cụ thể (ví dụ: điểm số), thuật toán sắp xếp nào cho phép tùy chỉnh cách so sánh các đối tượng một cách linh hoạt nhất?

  • D. Cả ba thuật toán (chọn, chèn, nổi bọt) đều có thể tùy chỉnh so sánh thông qua hàm so sánh.

Câu 25: Giả sử bạn cần sắp xếp danh sách số nguyên theo thứ tự ngược lại (từ lớn đến bé), nhưng chỉ sử dụng thuật toán sắp xếp chèn đã được cài đặt sẵn (sắp xếp tăng dần). Cách nào sau đây là hiệu quả nhất để đạt được mục tiêu?

  • A. Cài đặt lại thuật toán sắp xếp chèn để sắp xếp giảm dần.
  • B. Sắp xếp danh sách tăng dần, sau đó đảo ngược danh sách đã sắp xếp.
  • C. Nhân tất cả các số trong danh sách với -1, sắp xếp tăng dần, sau đó nhân lại với -1.
  • D. Không có cách nào khác, bắt buộc phải cài đặt lại thuật toán.

Câu 26: Trong thuật toán sắp xếp chọn, vị trí của các phần tử đã được sắp xếp trong mỗi bước lặp là:

  • A. Vị trí cuối cùng của đoạn đã sắp xếp.
  • B. Vị trí đầu tiên của đoạn chưa sắp xếp.
  • C. Vị trí ngẫu nhiên trong danh sách.
  • D. Vị trí giữa danh sách.

Câu 27: Để sắp xếp một danh sách chứa cả số và chuỗi (theo thứ tự từ điển cho chuỗi và thứ tự số học cho số), bạn cần đảm bảo điều gì khi sử dụng các thuật toán sắp xếp cơ bản?

  • A. Không thể sắp xếp danh sách hỗn hợp bằng các thuật toán cơ bản.
  • B. Các thuật toán tự động nhận biết và sắp xếp đúng thứ tự.
  • C. Cần tùy chỉnh hàm so sánh để xử lý các kiểu dữ liệu khác nhau.
  • D. Chỉ cần sắp xếp phần số trước, sau đó sắp xếp phần chuỗi.

Câu 28: Trong thuật toán sắp xếp chèn, nếu phần tử hiện tại đã lớn hơn tất cả các phần tử trong đoạn đã sắp xếp trước đó, điều gì xảy ra tiếp theo?

  • A. Phần tử đó được hoán đổi với phần tử đầu tiên của đoạn đã sắp xếp.
  • B. Thuật toán dừng lại vì danh sách đã sắp xếp.
  • C. Phần tử đó được dịch chuyển về đầu danh sách.
  • D. Phần tử đó được giữ nguyên vị trí và thuật toán tiếp tục với phần tử tiếp theo.

Câu 29: Phát biểu 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 nổi bọt về số lần hoán đổi trung bình?

  • A. Sắp xếp nổi bọt luô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ường thực hiện ít hoán đổi hơn sắp xếp nổi bọt.
  • C. Số lần hoán đổi của cả hai thuật toán là tương đương.
  • D. Sắp xếp chọn thực hiện nhiều hoán đổi hơn đáng kể so với sắp xếp nổi bọt.

Câu 30: Trong thực tế, khi nào bạn nên ưu tiên sử dụng các thuật toán sắp xếp đơn giản như sắp xếp chèn, chọn, nổi bọt thay vì các thuật toán phức tạp hơn như sắp xếp nhanh hay trộn?

  • A. Khi cần sắp xếp dữ liệu có kích thước cực lớn.
  • B. Khi yêu cầu tốc độ sắp xếp là yếu tố quan trọng nhất.
  • C. Khi dữ liệu có kích thước nhỏ và yêu cầu về độ phức tạp cài đặt thấp.
  • D. Khi cần sắp xếp dữ liệu đã được sắp xếp hoàn toàn.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên dữ liệu đã gần như được sắp xếp hoàn toàn?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 2: Xét danh sách [5, 2, 8, 1, 9]. Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp tăng dần, sau bước lặp đầu tiên, danh sách 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 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 3: Trong thuật toán sắp xếp chèn, khi chèn một phần tử vào vị trí đúng trong đoạn đã sắp xếp, thao tác nào sau đây được thực hiện để tạo khoảng trống?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 4: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
Đoạn mã này thực hiện thuật toán sắp xếp nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 5: Trong thuật toán sắp xếp chọn để sắp xếp giảm dần, ở mỗi bước lặp, chúng ta tìm phần tử có đặc điểm gì trong phần còn lại của danh sách?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 6: Để sắp xếp danh sách tên học sinh theo thứ tự bảng chữ cái, thuật toán sắp xếp nào sau đây là phù hợp và dễ cài đặt nhất cho một danh sách nhỏ?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 7: Thuật toán sắp xếp nổi bọt có tên gọi như vậy là do đặc điểm nào trong quá trình sắp xếp?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 8: Giả sử bạn có một danh sách 1000 phần tử đã được sắp xếp tăng dần, nhưng có 10 phần tử cuối cùng bị xáo trộn ngẫu nhiên. Thuật toán nào sẽ sắp xếp lại toàn bộ danh sách một cách hiệu quả nhất?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 9: Trong thuật toán sắp xếp chọn, số lượng phép so sánh trong trường hợp xấu nhất (worst-case) tỉ lệ với bình phương số phần tử (n^2). Điều này có ý nghĩa gì về hiệu suất của thuật toán?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 10: Để sắp xếp một tập hợp lớn các số nguyên, trong đó các số có giá trị phân bố rộng và không có đặc điểm đặc biệt nào, thuật toán sắp xếp nào thường được ưu tiên sử dụng vì hiệu suất trung bình tốt?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 11: Trong thuật toán sắp xếp chèn, đoạn danh sách nào luôn được duy trì trạng thái đã sắp xếp trong suốt quá trình thực hiện?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 12: Phát biểu nào sau đây mô tả đúng nhất về sự khác biệt cơ bản giữa thuật toán sắp xếp chọn và sắp xếp chèn?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 13: Xét danh sách ['z', 'b', 'a', 'y', 'c']. Nếu sắp xếp danh sách này theo thứ tự bảng chữ cái bằng thuật toán sắp xếp nổi bọt, sau vòng lặp đầu tiên, danh sách sẽ trở thành:

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 14: Trong tình huống nào sau đây, việc sử dụng thuật toán sắp xếp nổi bọt là lựa chọn hợp lý mặc dù nó không phải là thuật toán hiệu quả nhất về mặt thời gian?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 15: Để sắp xếp danh sách số theo thứ tự giảm dần bằng thuật toán sắp xếp chèn, bạn cần điều chỉnh điều kiện so sánh như thế nào trong quá trình chèn phần tử?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 16: Cho danh sách điểm thi [7, 5, 9, 6, 8]. Nếu áp dụng thuật toán sắp xếp chọn để sắp xếp giảm dần, sau bước lặp thứ hai, danh sách sẽ có dạng:

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 17: Trong thuật toán sắp xếp nổi bọt, số lần so sánh trong mỗi vòng lặp giảm dần sau mỗi vòng lặp. Vì sao lại có sự giảm dần này?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 18: Để đánh giá hiệu quả của một thuật toán sắp xếp, tiêu chí quan trọng nhất thường được xem xét là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 19: Xét tình huống cần sắp xếp một danh sách các bản ghi học sinh theo điểm trung bình. Nếu điểm trung bình là khóa sắp xếp chính, nhưng khi điểm trung bình bằng nhau cần sắp xếp theo tên (khóa phụ). Thuật toán sắp xếp nào có thể dễ dàng mở rộng để đáp ứng yêu cầu này?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 20: Trong thuật toán sắp xếp chọn, sau khi tìm được phần tử lớn nhất (hoặc nhỏ nhất) ở mỗi bước, thao tác tiếp theo là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 21: Cho danh sách [15, 8, 20, 5, 12]. Sử dụng thuật toán sắp xếp chèn để sắp xếp tăng dần. Hãy cho biết trạng thái của danh sách sau khi chèn phần tử thứ ba (số 20).

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 22: Ưu điểm chính của thuật toán sắp xếp chèn so với sắp xếp chọn và sắp xếp nổi bọt là gì khi xét về số lượng thao tác hoán đổi (swap)?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 23: Trong thuật toán sắp xếp nổi bọt, điều gì xảy ra nếu trong một vòng lặp không có bất kỳ cặp phần tử nào bị hoán đổi vị trí cho nhau?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 24: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: sinh viên với nhiều thuộc tính) dựa trên một thuộc tính cụ thể (ví dụ: điểm số), thuật toán sắp xếp nào cho phép tùy chỉnh cách so sánh các đối tượng một cách linh hoạt nhất?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 25: Giả sử bạn cần sắp xếp danh sách số nguyên theo thứ tự ngược lại (từ lớn đến bé), nhưng chỉ sử dụng thuật toán sắp xếp chèn đã được cài đặt sẵn (sắp xếp tăng dần). Cách nào sau đây là hiệu quả nhất để đạt được mục tiêu?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 26: Trong thuật toán sắp xếp chọn, vị trí của các phần tử đã được sắp xếp trong mỗi bước lặp là:

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 27: Để sắp xếp một danh sách chứa cả số và chuỗi (theo thứ tự từ điển cho chuỗi và thứ tự số học cho số), bạn cần đảm bảo điều gì khi sử dụng các thuật toán sắp xếp cơ bản?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 28: Trong thuật toán sắp xếp chèn, nếu phần tử hiện tại đã lớn hơn tất cả các phần tử trong đoạn đã sắp xếp trước đó, điều gì xảy ra tiếp theo?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 29: Phát biểu 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 nổi bọt về số lần hoán đổi trung bình?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 7

Câu 30: Trong thực tế, khi nào bạn nên ưu tiên sử dụng các thuật toán sắp xếp đơn giản như sắp xếp chèn, chọn, nổi bọt thay vì các thuật toán phức tạp hơn như sắp xếp nhanh hay trộn?

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 08

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 08 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào có độ phức tạp thời gian trung bình và trường hợp xấu nhất đều là O(n^2), nhưng lại dễ cài đặt và hiệu quả với dữ liệu gần như đã được sắp xếp?

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

Câu 2: Xét danh sách số [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

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

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều kiện dừng của thuật toán là gì?

  • A. Khi đã duyệt qua toàn bộ danh sách một lần
  • B. Khi không có bất kỳ sự hoán đổi nào xảy ra trong một lần duyệt
  • C. Khi phần tử đầu tiên và cuối cùng đã đúng vị trí
  • D. Khi số lần lặp đạt đến một ngưỡng nhất định

Câu 4: Bạn cần sắp xếp một danh sách các sản phẩm theo tên. Thuật toán sắp xếp nào phù hợp nhất nếu bạn muốn ưu tiên tính ổn định (các sản phẩm có cùng tên giữ nguyên thứ tự tương đối ban đầu)?

  • A. Sắp xếp chèn (Insertion Sort)
  • B. Sắp xếp nhanh (Quick Sort)
  • C. Sắp xếp trộn (Merge Sort)
  • D. Sắp xếp vun đống (Heap Sort)

Câu 5: Cho đoạn mã giả thuật toán sắp xếp sau:

For i from 1 to length(danh_sach) - 1:
min_index = i
For j from i+1 to length(danh_sach):
If danh_sach[j] < danh_sach[min_index]: min_index = j Swap danh_sach[i] and danh_sach[min_index] Đoạn mã này mô tả thuật toán sắp xếp nào?

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

Câu 6: Trong trường hợp nào thì thuật toán sắp xếp chèn (Insertion Sort) có hiệu suất tốt nhất?

  • A. Khi danh sách đã được sắp xếp gần như hoàn toàn
  • B. Khi danh sách có số lượng phần tử rất lớn
  • C. Khi các phần tử trong danh sách có giá trị trùng lặp nhiều
  • D. Khi cần sắp xếp danh sách theo thứ tự giảm dần

Câu 7: Giả sử bạn có một danh sách 1000 phần tử và một danh sách 10 phần tử. Bạn muốn sắp xếp cả hai danh sách này. Với mục tiêu tối ưu hóa tốc độ sắp xếp (không quan trọng tính ổn định), bạn nên chọn thuật toán sắp xếp nào cho danh sách 1000 phần tử và danh sách 10 phần tử?

  • A. Cả hai danh sách dùng sắp xếp chèn
  • B. Cả hai danh sách dùng sắp xếp nổi bọt
  • C. Danh sách 1000 phần tử dùng sắp xếp chèn, danh sách 10 phần tử dùng sắp xếp nhanh
  • D. Danh sách 1000 phần tử dùng sắp xếp nhanh, danh sách 10 phần tử dùng sắp xếp chèn

Câu 8: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh cần thực hiện để sắp xếp một danh sách có n phần tử là bao nhiêu?

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

Câu 9: Để sắp xếp một danh sách các số nguyên theo thứ tự giảm dần, bạn cần sửa đổi thuật toán sắp xếp nổi bọt (Bubble Sort) như thế nào?

  • A. Không cần sửa đổi, thuật toán nổi bọt mặc định sắp xếp giảm dần
  • B. Đảo ngược thứ tự duyệt danh sách
  • C. Thay đổi phép so sánh từ lớn hơn sang nhỏ hơn khi xét cặp phần tử
  • D. Sử dụng thêm một biến phụ để lưu giá trị lớn nhất

Câu 10: Xét tình huống bạn có một danh sách các hóa đơn thanh toán, mỗi hóa đơn chứa thông tin về ngày lập hóa đơn và số tiền. Bạn muốn sắp xếp danh sách này theo ngày lập hóa đơn (từ cũ nhất đến mới nhất). Thuật toán nào sau đây có thể được áp dụng?

  • A. Chỉ thuật toán sắp xếp trộn (Merge Sort)
  • B. Chỉ thuật toán sắp xếp nhanh (Quick Sort)
  • C. Chỉ thuật toán sắp xếp chọn (Selection Sort)
  • D. Bất kỳ thuật toán sắp xếp so sánh nào

Câu 11: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với sắp xếp chọn (Selection Sort) là gì?

  • A. Độ phức tạp thời gian tốt hơn trong trường hợp xấu nhất
  • B. Thực hiện ít phép hoán đổi hơn, đặc biệt với dữ liệu gần như đã sắp xếp
  • C. Dễ dàng cài đặt song song hơn
  • D. Yêu cầu ít bộ nhớ hơn

Câu 12: Trong các thuật toán sắp xếp đã học (nổi bọt, chọn, chèn), thuật toán nào thực hiện nhiều phép hoán đổi nhất trong trường hợp danh sách được sắp xếp ngược thứ 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 đều thực hiện số phép hoán đổi tương đương

Câu 13: Để sắp xếp danh sách tên học sinh theo bảng chữ cái, phép so sánh nào sẽ được sử dụng trong thuật toán sắp xếp?

  • A. So sánh độ dài chuỗi
  • B. So sánh mã ASCII của ký tự đầu tiên
  • C. So sánh thứ tự từ điển (lexicographical order)
  • D. Đếm số lượng nguyên âm trong chuỗi

Câu 14: Giả sử bạn đang xây dựng một chương trình quản lý thư viện và cần sắp xếp sách theo mã ISBN. Loại dữ liệu của mã ISBN có thể là chuỗi hoặc số nguyên. Thuật toán sắp xếp nào phù hợp nhất nếu hiệu suất là yếu tố quan trọng hàng đầu và bạn không quan tâm đến tính ổn định?

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

Câu 15: Trong thuật toán sắp xếp chèn (Insertion Sort), phần "đã sắp xếp" của danh sách ban đầu ở đâu?

  • A. Luôn là phần đầu của danh sách
  • B. Luôn là phần cuối của danh sách
  • C. Nằm rải rác không theo thứ tự trong danh sách
  • D. Tùy thuộc vào dữ liệu đầu vào

Câu 16: Nếu bạn có một danh sách đã được sắp xếp tăng dần và bạn muốn chèn thêm một phần tử mới vào danh sách sao cho danh sách vẫn được sắp xếp. Thuật toán nào sau đây có thể được coi là "sắp xếp chèn" trong trường hợp này?

  • A. Tìm vị trí thích hợp và chèn phần tử vào vị trí đó
  • B. Thêm phần tử vào cuối danh sách và sau đó sắp xếp lại toàn bộ danh sách bằng thuật toán khác
  • C. Đổi chỗ phần tử mới với phần tử cuối cùng
  • D. Loại bỏ phần tử mới vì danh sách đã được sắp xếp

Câu 17: Thuật toán sắp xếp nào có số lần so sánh và số lần hoán đổi gần như tương đương trong mọi trường hợp (tốt nhất, trung bình, xấu 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. Sắp xếp nhanh (Quick Sort)

Câu 18: Để minh họa thuật toán sắp xếp nổi bọt (Bubble Sort) cho học sinh dễ hiểu, bạn có thể sử dụng hình ảnh ẩn dụ nào?

  • A. Sàng cát
  • B. Chèn bài vào tập hồ sơ
  • C. Bọt khí nổi lên mặt nước
  • D. Chọn người cao nhất vào hàng đầu

Câu 19: Trong ngôn ngữ lập trình Python, hàm `sort()` và hàm `sorted()` khác nhau như thế nào khi sử dụng với danh sách?

  • A. `sort()` sắp xếp nhanh hơn `sorted()`
  • B. `sort()` thay đổi danh sách gốc, `sorted()` trả về danh sách mới
  • C. `sorted()` chỉ sắp xếp được số, `sort()` sắp xếp được cả chuỗi và số
  • D. `sort()` chỉ sắp xếp tăng dần, `sorted()` có thể sắp xếp giảm dần

Câu 20: Bạn có một danh sách chứa thông tin về các bài hát (tên bài, ca sĩ, năm phát hành). Bạn muốn sắp xếp danh sách này theo thứ tự ưu tiên: năm phát hành (mới nhất đến cũ nhất), sau đó theo tên bài hát (A-Z) nếu năm phát hành trùng nhau. Phương pháp sắp xếp nào phù hợp?

  • A. Sắp xếp nổi bọt (Bubble Sort) chỉ theo năm phát hành
  • B. Sắp xếp chọn (Selection Sort) chỉ theo tên bài hát
  • C. Sắp xếp danh sách theo năm phát hành, sau đó sắp xếp lại theo tên bài hát
  • D. Sắp xếp tùy chỉnh với tiêu chí so sánh ưu tiên năm phát hành, sau đó đến tên bài hát

Câu 21: Cho danh sách [7, 3, 9, 1, 5, 2]. Sau khi thực hiện 3 bước của thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

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

Câu 22: Trong thuật toán sắp xếp chọn (Selection Sort), tại mỗi bước lặp, chúng ta thực hiện hành động gì?

  • A. Hoán đổi hai phần tử liền kề nếu chúng không đúng thứ tự
  • B. Chia danh sách thành hai phần và sắp xếp từng phần
  • C. Chọn một phần tử làm "chốt" và phân vùng danh sách
  • D. Tìm phần tử nhỏ nhất (hoặc lớn nhất) trong phần chưa sắp xếp và hoán đổi với phần tử đầu tiên của phần chưa sắp xếp

Câu 23: Để sắp xếp một mảng số nguyên có kích thước lớn (hàng triệu phần tử) trên một hệ thống có bộ nhớ hạn chế, thuật toán sắp xếp nào ít tốn bộ nhớ phụ trợ nhất?

  • A. Sắp xếp trộn (Merge Sort)
  • B. Sắp xếp nhanh (Quick Sort)
  • C. Sắp xếp chọn (Selection Sort)
  • D. Cả ba thuật toán đều tốn bộ nhớ phụ trợ như nhau

Câu 24: Trong thực tế, khi nào thì thuật toán sắp xếp nổi bọt (Bubble Sort) vẫn được sử dụng mặc dù nó không phải là thuật toán hiệu quả nhất về mặt thời gian?

  • A. Khi cần sắp xếp dữ liệu có kích thước cực lớn
  • B. Khi cần một thuật toán đơn giản, dễ hiểu để giảng dạy hoặc cho danh sách nhỏ
  • C. Khi yêu cầu tính ổn định của thuật toán là bắt buộc
  • D. Khi cần tối ưu hóa số lượng phép so sánh

Câu 25: Cho danh sách các điểm thi của học sinh. Để tìm ra top 5 học sinh có điểm cao nhất, bạn có cần sắp xếp toàn bộ danh sách điểm không? Nếu không, bạn có thể áp dụng phương pháp nào hiệu quả hơn?

  • A. Có, luôn cần sắp xếp toàn bộ danh sách
  • B. Không cần, chỉ cần duyệt qua danh sách và tìm 5 điểm cao nhất
  • C. Không cần sắp xếp toàn bộ, có thể sử dụng thuật toán tìm kiếm phần tử lớn thứ k hoặc sắp xếp một phần
  • D. Không cần, có thể sử dụng thuật toán sắp xếp nổi bọt vì nó nhanh nhất

Câu 26: Xét đoạn chương trình Python sau:

danh_sach = [3, 1, 4, 1, 5, 9, 2, 6]
danh_sach.sort(reverse=True)
print(danh_sach)

Đoạn chương trình này sẽ in ra kết quả gì?

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

Câu 27: Trong thuật toán sắp xếp chèn (Insertion Sort), khi chèn một phần tử vào vị trí đúng trong phần đã sắp xếp, các phần tử lớn hơn phần tử cần chèn sẽ được dịch chuyển về phía nào?

  • A. Về phía bên trái
  • B. Về phía bên phải
  • C. Không có dịch chuyển, chỉ hoán đổi
  • D. Tùy thuộc vào giá trị của phần tử cần chèn

Câu 28: Để đánh giá hiệu quả của một thuật toán sắp xếp, tiêu chí quan trọng nhất thường được xem xét là gì?

  • A. Độ phức tạp thời gian (thời gian thực hiện)
  • B. Độ phức tạp không gian (bộ nhớ sử dụng)
  • C. Tính dễ hiểu và dễ cài đặt của thuật toán
  • D. Tính ổn định của thuật toán

Câu 29: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, phần tử nào sẽ được đặt đúng vị trí cuối cùng trong phần đã sắp xếp?

  • A. Phần tử nhỏ nhất
  • B. Phần tử ở giữa danh sách
  • C. Phần tử lớn nhất (trong sắp xếp tăng dần)
  • D. Phần tử đầu tiên

Câu 30: Cho danh sách [‘z’, ‘b’, ‘a’, ‘y’, ‘c’]. Sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách này theo thứ tự bảng chữ cái. Hãy cho biết danh sách sau bước lặp thứ hai.

  • A. ["a", "b", "c", "y", "z"]
  • B. ["a", "b", "z", "y", "c"]
  • C. ["b", "a", "z", "y", "c"]
  • D. ["c", "b", "a", "y", "z"]

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào có độ phức tạp thời gian trung bình và trường hợp xấu nhất đều là O(n^2), nhưng lại dễ cài đặt và hiệu quả với dữ liệu gần như đã được sắp xếp?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 2: Xét danh sách số [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), điều kiện dừng của thuật toán là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 4: Bạn cần sắp xếp một danh sách các sản phẩm theo tên. Thuật toán sắp xếp nào phù hợp nhất nếu bạn muốn ưu tiên tính ổn định (các sản phẩm có cùng tên giữ nguyên thứ tự tương đối ban đầu)?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 5: Cho đoạn mã giả thuật toán sắp xếp sau:

For i from 1 to length(danh_sach) - 1:
min_index = i
For j from i+1 to length(danh_sach):
If danh_sach[j] < danh_sach[min_index]: min_index = j Swap danh_sach[i] and danh_sach[min_index] Đoạn mã này mô tả thuật toán sắp xếp nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 6: Trong trường hợp nào thì thuật toán sắp xếp chèn (Insertion Sort) có hiệu suất tốt nhất?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 7: Giả sử bạn có một danh sách 1000 phần tử và một danh sách 10 phần tử. Bạn muốn sắp xếp cả hai danh sách này. Với mục tiêu tối ưu hóa tốc độ sắp xếp (không quan trọng tính ổn định), bạn nên chọn thuật toán sắp xếp nào cho danh sách 1000 phần tử và danh sách 10 ph???n tử?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 8: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh cần thực hiện để sắp xếp một danh sách có n phần tử là bao nhiêu?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 9: Để sắp xếp một danh sách các số nguyên theo thứ tự giảm dần, bạn cần sửa đổi thuật toán sắp xếp nổi bọt (Bubble Sort) như thế nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 10: Xét tình huống bạn có một danh sách các hóa đơn thanh toán, mỗi hóa đơn chứa thông tin về ngày lập hóa đơn và số tiền. Bạn muốn sắp xếp danh sách này theo ngày lập hóa đơn (từ cũ nhất đến mới nhất). Thuật toán nào sau đây có thể được áp dụng?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 11: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với sắp xếp chọn (Selection Sort) là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 12: Trong các thuật toán sắp xếp đã học (nổi bọt, chọn, chèn), thuật toán nào thực hiện nhiều phép hoán đổi nhất trong trường hợp danh sách được sắp xếp ngược thứ tự?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 13: Để sắp xếp danh sách tên học sinh theo bảng chữ cái, phép so sánh nào sẽ được sử dụng trong thuật toán sắp xếp?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 14: Giả sử bạn đang xây dựng một chương trình quản lý thư viện và cần sắp xếp sách theo mã ISBN. Loại dữ liệu của mã ISBN có thể là chuỗi hoặc số nguyên. Thuật toán sắp xếp nào phù hợp nhất nếu hiệu suất là yếu tố quan trọng hàng đầu và bạn không quan tâm đến tính ổn định?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 15: Trong thuật toán sắp xếp chèn (Insertion Sort), phần 'đã sắp xếp' của danh sách ban đầu ở đâu?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 16: Nếu bạn có một danh sách đã được sắp xếp tăng dần và bạn muốn chèn thêm một phần tử mới vào danh sách sao cho danh sách vẫn được sắp xếp. Thuật toán nào sau đây có thể được coi là 'sắp xếp chèn' 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 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 17: Thuật toán sắp xếp nào có số lần so sánh và số lần hoán đổi gần như tương đương trong mọi trường hợp (tốt nhất, trung bình, xấu nhất)?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 18: Để minh họa thuật toán sắp xếp nổi bọt (Bubble Sort) cho học sinh dễ hiểu, bạn có thể sử dụng hình ảnh ẩn dụ nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 19: Trong ngôn ngữ lập trình Python, hàm `sort()` và hàm `sorted()` khác nhau như thế nào khi sử dụng với danh sách?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 20: Bạn có một danh sách chứa thông tin về các bài hát (tên bài, ca sĩ, năm phát hành). Bạn muốn sắp xếp danh sách này theo thứ tự ưu tiên: năm phát hành (mới nhất đến cũ nhất), sau đó theo tên bài hát (A-Z) nếu năm phát hành trùng nhau. Phương pháp sắp xếp nào phù hợp?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 21: Cho danh sách [7, 3, 9, 1, 5, 2]. Sau khi thực hiện 3 bước của thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 22: Trong thuật toán sắp xếp chọn (Selection Sort), tại mỗi bước lặp, chúng ta thực hiện hành động gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 23: Để sắp xếp một mảng số nguyên có kích thước lớn (hàng triệu phần tử) trên một hệ thống có bộ nhớ hạn chế, thuật toán sắp xếp nào ít tốn bộ nhớ phụ trợ nhất?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 24: Trong thực tế, khi nào thì thuật toán sắp xếp nổi bọt (Bubble Sort) vẫn được sử dụng mặc dù nó không phải là thuật toán hiệu quả nhất về mặt thời gian?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 25: Cho danh sách các điểm thi của học sinh. Để tìm ra top 5 học sinh có điểm cao nhất, bạn có cần sắp xếp toàn bộ danh sách điểm không? Nếu không, bạn có thể áp dụng phương pháp nào hiệu quả hơn?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 26: Xét đoạn chương trình Python sau:

danh_sach = [3, 1, 4, 1, 5, 9, 2, 6]
danh_sach.sort(reverse=True)
print(danh_sach)

Đoạn chương trình này sẽ in ra kết quả gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 27: Trong thuật toán sắp xếp chèn (Insertion Sort), khi chèn một phần tử vào vị trí đúng trong phần đã sắp xếp, các phần tử lớn hơn phần tử cần chèn sẽ được dịch chuyển về phía nào?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 28: Để đánh giá hiệu quả của một thuật toán sắp xếp, tiêu chí quan trọng nhất thường được xem xét là gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 29: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, phần tử nào sẽ được đặt đúng vị trí cuối cùng trong phần đã sắp xếp?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 8

Câu 30: Cho danh sách [‘z’, ‘b’, ‘a’, ‘y’, ‘c’]. Sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách này theo thứ tự bảng chữ cái. Hãy cho biết danh sách sau bước lặp thứ hai.

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 09

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 09 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên một danh sách đã gần như được sắp xếp hoàn chỉnh?

  • 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 nhanh (Quick Sort)

Câu 2: Xét danh sách [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

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

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), mục đích của việc lặp lại các lần duyệt qua danh sách là gì?

  • A. Đảm bảo các phần tử lớn nhất dần được đưa về cuối danh sách.
  • B. Giảm số lượng phép so sánh cần thực hiện.
  • C. Tăng tốc độ dịch chuyển các phần tử nhỏ lên đầu danh sách.
  • D. Tìm kiếm phần tử nhỏ nhất trong danh sách.

Câu 4: Giả sử bạn có một danh sách các sản phẩm đã được sắp xếp theo tên gần đúng thứ tự alphabet. Thuật toán sắp xếp nào sẽ hiệu quả nhất để hoàn thiện việc sắp xếp này?

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

Câu 5: Trong thuật toán sắp xếp chèn (Insertion Sort), khi nào thì không cần thực hiện bất kỳ phép dịch chuyển phần tử nào trong một lượt chèn?

  • A. Khi phần tử cần chèn là phần tử lớn nhất trong danh sách.
  • B. Khi phần tử cần chèn đã lớn hơn hoặc bằng phần tử đứng trước trong dãy đã sắp xếp.
  • C. Khi danh sách đã được sắp xếp hoàn toàn.
  • D. Khi phần tử cần chèn là phần tử nhỏ nhất trong danh sách.

Câu 6: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
```
Đoạn mã này thực hiện thuật toán sắp xếp nào?

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

Câu 7: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp giảm dần, ở mỗi bước lặp, chúng ta tìm phần tử nào và đưa nó về vị trí nào?

  • A. Phần tử nhỏ nhất và đưa về đầu danh sách.
  • B. Phần tử lớn nhất và đưa về đầu danh sách.
  • C. Phần tử nhỏ nhất và đưa về cuối danh sách.
  • D. Phần tử lớn nhất và đưa về cuối danh sách.

Câu 8: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với sắp xếp nổi bọt (Bubble Sort) là gì?

  • A. Hiệu quả hơn trên dữ liệu gần như đã sắp xếp và thường có ít phép hoán đổi hơn.
  • B. Luôn có độ phức tạp thời gian tốt hơn trong mọi trường hợp.
  • C. Dễ dàng cài đặt và không tốn bộ nhớ.
  • D. Có thể sắp xếp danh sách theo cả thứ tự tăng dần và giảm dần cùng một lúc.

Câu 9: Xét tình huống cần sắp xếp điểm thi của học sinh từ cao xuống thấp. Thuật toán sắp xếp nào phù hợp nhất nếu số lượng học sinh không quá lớn (ví dụ, dưới 100)?

  • A. Sắp xếp trộn (Merge Sort)
  • B. Sắp xếp chọn (Selection Sort)
  • C. Sắp xếp nhanh (Quick Sort)
  • D. Sắp xếp theo cơ số (Radix Sort)

Câu 10: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo?

  • A. Danh sách đã được sắp xếp hoàn toàn.
  • B. Phần tử nhỏ nhất đã được đưa về đầu danh sách.
  • C. Phần tử lớn nhất chưa được sắp xếp đã được đưa về đúng vị trí cuối cùng của phần chưa sắp xếp.
  • D. Tất cả các phần tử nhỏ hơn giá trị trung bình đã được đưa lên đầu danh sách.

Câu 11: Để sắp xếp một danh sách số nguyên theo thứ tự giảm dần bằng thuật toán sắp xếp chèn (Insertion Sort), điều kiện so sánh trong quá trình chèn sẽ là gì?

  • A. Chèn phần tử vào vị trí mà nó nhỏ hơn các phần tử phía trước.
  • B. Chèn phần tử vào vị trí cuối cùng của phần đã sắp xếp.
  • C. Chèn phần tử vào vị trí đầu tiên của phần đã sắp xếp.
  • D. Chèn phần tử vào vị trí mà nó lớn hơn hoặc bằng các phần tử phía trước.

Câu 12: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh trong trường hợp xấu nhất (worst-case) tỉ lệ như thế nào với số lượng phần tử n?

  • A. Tỉ lệ tuyến tính với n (O(n)).
  • B. Tỉ lệ logarit với n (O(log n)).
  • C. Tỉ lệ bậc hai với n (O(n^2)).
  • D. Không phụ thuộc vào n.

Câu 13: Thuật toán sắp xếp nổi bọt (Bubble Sort) có tên gọi như vậy là do đâu?

  • A. Do các phần tử nhỏ hơn "chìm" xuống dưới danh sách.
  • B. Do các phần tử lớn hơn "nổi" lên trên danh sách sau mỗi lần duyệt.
  • C. Do thuật toán sử dụng "bọt" để so sánh các phần tử.
  • D. Do hình dạng của đồ thị biểu diễn quá trình sắp xếp giống như bọt nước.

Câu 14: Để sắp xếp danh sách tên học sinh theo thứ tự bảng chữ cái, kiểu dữ liệu nào cần được so sánh trong thuật toán sắp xếp?

  • A. Số nguyên (Integer)
  • B. Số thực (Float)
  • C. Chuỗi (String)
  • D. Boolean (Logic)

Câu 15: Trong các thuật toán sắp xếp đã học, thuật toán nào có số lần hoán đổi vị trí các phần tử í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 chèn (Insertion Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều có số lần hoán đổi tương đương trong trường hợp tốt nhất.

Câu 16: Giả sử bạn cần viết một chương trình sắp xếp một lượng lớn dữ liệu mà hiệu suất là yếu tố quan trọng nhất. Thuật toán sắp xếp đơn giản nào trong các thuật toán đã học sẽ KÉM PHÙ HỢP nhất?

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

Câu 17: Trong thuật toán sắp xếp chèn (Insertion Sort), phần danh sách đã được sắp xếp được mở rộng như thế nào sau mỗi lần lặp?

  • A. Mở rộng thêm một phần tử.
  • B. Mở rộng thêm hai phần tử.
  • C. Giữ nguyên kích thước.
  • D. Thu hẹp lại một phần tử.

Câu 18: Cho danh sách ban đầu: [7, 3, 5, 1, 9]. Hỏi sau 2 bước của thuật toán sắp xếp nổi bọt (Bubble Sort) danh sách sẽ trở thành:

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

Câu 19: Trong thuật toán sắp xếp chọn (Selection Sort), điều gì xảy ra nếu danh sách đã được sắp xếp từ đầu đến vị trí đang xét?

  • A. Thuật toán dừng lại vì danh sách đã sắp xếp.
  • B. Thuật toán vẫn tiếp tục tìm phần tử nhỏ nhất (hoặc lớn nhất) trong phần còn lại và hoán đổi.
  • C. Các phần tử đã sắp xếp sẽ được sắp xếp lại một lần nữa.
  • D. Thuật toán chuyển sang sử dụng thuật toán sắp xếp khác hiệu quả hơn.

Câu 20: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ, học sinh với nhiều thuộc tính như tên, tuổi, điểm) theo một thuộc tính cụ thể (ví dụ, điểm trung bình), các thuật toán sắp xếp cơ bản cần được điều chỉnh như thế nào?

  • A. Không cần điều chỉnh, các thuật toán vẫn hoạt động bình thường.
  • B. Cần chuyển đổi đối tượng phức tạp thành kiểu dữ liệu đơn giản trước khi sắp xếp.
  • C. Cần điều chỉnh phép so sánh trong thuật toán để so sánh dựa trên thuộc tính cần sắp xếp.
  • D. Chỉ có thuật toán sắp xếp trộn (Merge Sort) mới có thể xử lý đối tượng phức tạp.

Câu 21: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), nếu trong một lần duyệt qua danh sách không xảy ra bất kỳ phép hoán đổi nào, điều đó có nghĩa là gì?

  • A. Danh sách đã được sắp xếp hoàn toàn.
  • B. Vẫn cần duyệt thêm một lần nữa để chắc chắn.
  • C. Có lỗi trong thuật toán.
  • D. Chỉ có một phần danh sách được sắp xếp.

Câu 22: Xét danh sách [9, 8, 7, 6, 5]. Thuật toán sắp xếp chèn (Insertion Sort) sẽ thực hiện bao nhiêu phép so sánh để sắp xếp danh sách này theo thứ tự tăng dần?

  • A. 4
  • B. 5
  • C. 8
  • D. 10

Câu 23: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép hoán đổi vị trí các phần tử trong trường hợp xấu nhất tỉ lệ như thế nào với số lượng phần tử n?

  • A. Tỉ lệ tuyến tính với n (O(n)).
  • B. Tỉ lệ logarit với n (O(log n)).
  • C. Tỉ lệ bậc hai với n (O(n^2)).
  • D. Không phụ thuộc vào n.

Câu 24: Thuật toán sắp xếp nào được mô tả là "chia danh sách thành phần đã sắp xếp và phần chưa sắp xếp, sau đó chèn phần tử từ phần chưa sắp xếp vào đúng vị trí trong phần đã sắp xếp"?

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

Câu 25: Trong ngữ cảnh quản lý kho hàng, sắp xếp danh sách mặt hàng theo số lượng tồn kho tăng dần có thể giúp ích gì?

  • A. Giảm giá thành sản phẩm.
  • B. Tăng tốc độ bán hàng.
  • C. Dễ dàng xác định các mặt hàng cần bổ sung thêm để tránh tình trạng hết hàng.
  • D. Cải thiện quy trình đóng gói sản phẩm.

Câu 26: Cho đoạn mã giả thuật toán sắp xếp chọn (Selection Sort):
```
For i = 0 to n-2:
min_index = i
For j = i+1 to n-1:
If arr[j] < arr[min_index]: min_index = j Swap arr[i] and arr[min_index] ``` Đoạn mã này sắp xếp theo thứ tự nào?

  • A. Tăng dần
  • B. Giảm dần
  • C. Ngẫu nhiên
  • D. Không xác định

Câu 27: Trong thuật toán sắp xếp chèn (Insertion Sort), nếu phần tử đang xét đã ở đúng vị trí trong phần đã sắp xếp, điều gì xảy ra tiếp theo?

  • A. Thuật toán kết thúc.
  • B. Thuật toán chuyển sang xét phần tử tiếp theo trong danh sách chưa sắp xếp.
  • C. Phần tử đó được hoán đổi với phần tử cuối cùng của phần đã sắp xếp.
  • D. Phần tử đó được bỏ qua và thuật toán tiếp tục với phần tử sau.

Câu 28: Để tối ưu hóa thuật toán sắp xếp nổi bọt (Bubble Sort), chúng ta có thể thêm một biến cờ (flag) để kiểm tra điều gì?

  • A. Số lượng phần tử còn lại cần sắp xếp.
  • B. Giá trị trung bình của các phần tử còn lại.
  • C. Phần tử nhỏ nhất trong danh sách.
  • D. Có hay không có phép hoán đổi nào xảy ra trong một lần duyệt.

Câu 29: Trong các thuật toán sắp xếp đơn giản (nổi bọt, chọn, chèn), thuật toán nào thường được coi là dễ hiểu và dễ cài đặt nhất?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều có độ phức tạp tương đương về mặt cài đặt.

Câu 30: Giả sử bạn có một danh sách các số đã được sắp xếp giảm dần và bạn muốn sắp xếp lại theo thứ tự tăng dần. Thuật toán sắp xếp nào sẽ hoạt động KÉM HIỆU QUẢ nhất trong trường hợp này?

  • A. Sắp xếp chọn (Selection Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Sắp xếp nổi bọt (Bubble Sort)
  • D. Cả ba thuật toán đều hoạt động hiệu quả như nhau.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên một danh sách đã gần như được sắp xếp hoàn chỉnh?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 2: Xét danh sách [5, 2, 8, 1, 9]. Sau bước đầu tiên của thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, danh sách sẽ trở thành:

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), mục đích của việc lặp lại các lần duyệt qua danh sách là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 4: Giả sử bạn có một danh sách các sản phẩm đã được sắp xếp theo tên gần đúng thứ tự alphabet. Thuật toán sắp xếp nào sẽ hiệu quả nhất để hoàn thiện việc sắp xếp này?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 5: Trong thuật toán sắp xếp chèn (Insertion Sort), khi nào thì không cần thực hiện bất kỳ phép dịch chuyển phần tử nào trong một lượt chèn?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 6: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
```
Đoạn mã này thực hiện thuật toán sắp xếp nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 7: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp giảm dần, ở mỗi bước lặp, chúng ta tìm phần tử nào và đưa nó về vị trí nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 8: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với sắp xếp nổi bọt (Bubble Sort) là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 9: Xét tình huống cần sắp xếp điểm thi của học sinh từ cao xuống thấp. Thuật toán sắp xếp nào phù hợp nhất nếu số lượng học sinh không quá lớn (ví dụ, dưới 100)?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 10: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 11: Để sắp xếp một danh sách số nguyên theo thứ tự giảm dần bằng thuật toán sắp xếp chèn (Insertion Sort), điều kiện so sánh trong quá trình chèn sẽ là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 12: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép so sánh trong trường hợp xấu nhất (worst-case) tỉ lệ như thế nào với số lượng phần tử n?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 13: Thuật toán sắp xếp nổi bọt (Bubble Sort) có tên gọi như vậy là do đâu?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 14: Để sắp xếp danh sách tên học sinh theo thứ tự bảng chữ cái, kiểu dữ liệu nào cần được so sánh trong thuật toán sắp xếp?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 15: Trong các thuật toán sắp xếp đã học, thuật toán nào có số lần hoán đổi vị trí các phần tử ít nhất trong trường hợp tốt nhất?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 16: Giả sử bạn cần viết một chương trình sắp xếp một lượng lớn dữ liệu mà hiệu suất là yếu tố quan trọng nhất. Thuật toán sắp xếp đơn giản nào trong các thuật toán đã học sẽ KÉM PHÙ HỢP nhất?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 17: Trong thuật toán sắp xếp chèn (Insertion Sort), phần danh sách đã được sắp xếp được mở rộng như thế nào sau mỗi lần lặp?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 18: Cho danh sách ban đầu: [7, 3, 5, 1, 9]. Hỏi sau 2 bước của thuật toán sắp xếp nổi bọt (Bubble Sort) danh sách sẽ trở thành:

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 19: Trong thuật toán sắp xếp chọn (Selection Sort), điều gì xảy ra nếu danh sách đã được sắp xếp từ đầu đến vị trí đang xét?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 20: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ, học sinh với nhiều thuộc tính như tên, tuổi, điểm) theo một thuộc tính cụ thể (ví dụ, điểm trung bình), các thuật toán sắp xếp cơ bản cần được điều chỉnh như thế nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 21: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), nếu trong một lần duyệt qua danh sách không xảy ra bất kỳ phép hoán đổi nào, điều đó có nghĩa là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 22: Xét danh sách [9, 8, 7, 6, 5]. Thuật toán sắp xếp chèn (Insertion Sort) sẽ thực hiện bao nhiêu phép so sánh để sắp xếp danh sách này theo thứ tự tăng dần?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 23: Trong thuật toán sắp xếp chọn (Selection Sort), số lượng phép hoán đổi vị trí các phần tử trong trường hợp xấu nhất tỉ lệ như thế nào với số lượng phần tử n?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 24: Thuật toán sắp xếp nào được mô tả là 'chia danh sách thành phần đã sắp xếp và phần chưa sắp xếp, sau đó chèn phần tử từ phần chưa sắp xếp vào đúng vị trí trong phần đã sắp xếp'?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 25: Trong ngữ cảnh quản lý kho hàng, sắp xếp danh sách mặt hàng theo số lượng tồn kho tăng dần có thể giúp ích gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 26: Cho đoạn mã giả thuật toán sắp xếp chọn (Selection Sort):
```
For i = 0 to n-2:
min_index = i
For j = i+1 to n-1:
If arr[j] < arr[min_index]: min_index = j Swap arr[i] and arr[min_index] ``` Đoạn mã này sắp xếp theo thứ tự nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 27: Trong thuật toán sắp xếp chèn (Insertion Sort), nếu phần tử đang xét đã ở đúng vị trí trong phần đã sắp xếp, điều gì xảy ra tiếp theo?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 28: Để tối ưu hóa thuật toán sắp xếp nổi bọt (Bubble Sort), chúng ta có thể thêm một biến cờ (flag) để kiểm tra điều gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 29: Trong các thuật toán sắp xếp đơn giản (nổi bọt, chọn, chèn), thuật toán nào thường được coi là dễ hiểu và dễ cài đặt nhất?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 9

Câu 30: Giả sử bạn có một danh sách các số đã được sắp xếp giảm dần và bạn muốn sắp xếp lại theo thứ tự tăng dần. Thuật toán sắp xếp nào sẽ hoạt động KÉM HIỆU QUẢ nhất trong trường hợp này?

Xem kết quả

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 22: Thực hành bài toán sắp xếp

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 10

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp - Đề 10 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên một danh sách đã gần như được sắp xếp hoàn chỉnh, chỉ có một vài phần tử nằm sai vị trí?

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

Câu 2: Xét một danh sách số [5, 2, 8, 1, 9]. Nếu sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách này theo thứ tự tăng dần, sau bước đầu tiên, danh sách sẽ trở thành:

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

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo?

  • A. Danh sách đã được sắp xếp hoàn toàn
  • B. Phần tử nhỏ nhất đã được đặt ở đầu danh sách
  • C. Các phần tử đã được hoán đổi ngẫu nhiên
  • D. Phần tử lớn nhất (hoặc nhỏ nhất) đã ở đúng vị trí cuối cùng (hoặc đầu tiên) trong phần chưa sắp xếp

Câu 4: Để sắp xếp một danh sách các tên học sinh theo bảng chữ cái, thuật toán sắp xếp nào sau đây là phù hợp và dễ cài đặt nhất cho mục đích giảng dạy?

  • A. Thuật toán sắp xếp chèn (Insertion Sort)
  • B. Thuật toán sắp xếp nhanh (Quick Sort)
  • C. Thuật toán sắp xếp trộn (Merge Sort)
  • D. Thuật toán sắp xếp vun đống (Heap Sort)

Câu 5: Trong một chương trình quản lý thư viện, cần sắp xếp sách theo mã số sách. Nếu số lượng sách rất lớn (hàng triệu cuốn) và yêu cầu tốc độ sắp xếp nhanh, thuật toán nào sau đây được ưu tiên lựa chọn?

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

Câu 6: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
Đoạn mã này thực hiện thuật toán sắp xếp 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 trộn (Merge Sort)

Câu 7: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với các thuật toán sắp xếp khác như sắp xếp chọn (Selection Sort) hoặc sắp xếp nổi bọt (Bubble Sort) trong trường hợp danh sách nhỏ là gì?

  • A. Độ phức tạp thời gian luôn là O(n log n)
  • B. Hiệu quả hơn trên danh sách nhỏ và gần như đã sắp xếp
  • C. Dễ dàng cài đặt song song để tăng tốc độ
  • D. Không cần bộ nhớ phụ trợ để thực hiện sắp xếp

Câu 8: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, sau khi tìm được phần tử nhỏ nhất trong phần chưa sắp xếp, thao tác tiếp theo là gì?

  • A. Loại bỏ phần tử nhỏ nhất khỏi danh sách
  • B. So sánh phần tử nhỏ nhất với phần tử kế tiếp
  • C. Hoán đổi phần tử nhỏ nhất với phần tử đầu tiên của phần chưa sắp xếp
  • D. Chèn phần tử nhỏ nhất vào vị trí thích hợp trong phần đã sắp xếp

Câu 9: Xét bài toán sắp xếp điểm thi của học sinh từ cao xuống thấp. Thuật toán sắp xếp nào sau đây phù hợp nhất để thực hiện việc này một cách trực quan và dễ hiểu, đặc biệt khi minh họa trên lớp học?

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

Câu 10: Trong quá trình sắp xếp chèn (Insertion Sort), khi nào thì số lượng phép so sánh và hoán đổi là ít nhất?

  • A. Khi danh sách đã được sắp xếp hoàn toàn
  • B. Khi danh sách có các phần tử bằng nhau
  • C. Khi danh sách có các phần tử được sắp xếp ngược thứ tự
  • D. Khi danh sách có số lượng phần tử rất lớn

Câu 11: Để sắp xếp một danh sách theo thứ tự ngược lại (ví dụ: từ Z-A cho chữ cái hoặc giảm dần cho số), thuật toán sắp xếp chọn (Selection Sort) cần được điều chỉnh như thế nào?

  • A. Không cần điều chỉnh gì, thuật toán vẫn hoạt động
  • B. Thay đổi tiêu chí tìm kiếm từ phần tử nhỏ nhất sang phần tử lớn nhất
  • C. Đảo ngược danh sách sau khi sắp xếp tăng dần
  • D. Sử dụng một thuật toán sắp xếp khác

Câu 12: Giả sử bạn có một danh sách 10 phần tử đã được sắp xếp tăng dần. Bạn muốn thêm một phần tử mới vào danh sách và vẫn duy trì thứ tự sắp xếp. Thuật toán nào sau đây là hiệu quả nhất để thực hiện việc này?

  • A. Thuật toán sắp xếp chèn (Insertion Sort)
  • B. Thuật toán sắp xếp chọn (Selection Sort)
  • C. Thuật toán sắp xếp nổi bọt (Bubble Sort)
  • D. Thuật toán sắp xếp nhanh (Quick Sort) trên toàn bộ danh sách mới

Câu 13: Độ phức tạp thời gian trung bình của thuật toán sắp xếp chọn (Selection Sort) là:

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

Câu 14: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần so sánh trong trường hợp xấu nhất (danh sách sắp xếp ngược thứ tự) cho một danh sách có n phần tử là bao nhiêu?

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

Câu 15: Phát biểu nào sau đây mô tả đúng nhất về thuật toán sắp xếp chèn (Insertion Sort)?

  • A. Chia danh sách thành các phần nhỏ và sắp xếp từng phần
  • B. Tìm phần tử nhỏ nhất và hoán đổi với phần tử đầu danh sách
  • C. Xây dựng danh sách đã sắp xếp bằng cách chèn từng phần tử vào đúng vị trí
  • D. So sánh các cặp phần tử liền kề và hoán đổi nếu chúng không đúng thứ tự

Câu 16: Trong một ứng dụng quản lý sản phẩm, bạn cần sắp xếp các sản phẩm theo giá. Nếu yêu cầu ổn định (các sản phẩm có cùng giá giữ nguyên thứ tự ban đầu), thuật toán nào sau đây là phù hợp?

  • A. Thuật toán sắp xếp chèn (Insertion Sort)
  • B. Thuật toán sắp xếp nhanh (Quick Sort)
  • C. Thuật toán sắp xếp chọn (Selection Sort)
  • D. Thuật toán sắp xếp không ổn định nào cũng được

Câu 17: Để kiểm tra tính đúng đắn của một thuật toán sắp xếp, phương pháp nào sau đây là hiệu quả nhất?

  • A. Chỉ kiểm tra với một vài bộ dữ liệu nhỏ
  • B. Chỉ kiểm tra với dữ liệu đã được sắp xếp
  • C. Chỉ kiểm tra với dữ liệu ngẫu nhiên
  • D. Kiểm thử với nhiều bộ dữ liệu khác nhau, bao gồm các trường hợp đặc biệt

Câu 18: Trong thuật toán sắp xếp chọn (Selection Sort), số lần hoán đổi phần tử trong trường hợp xấu nhất là bao nhiêu, cho một danh sách có n phần tử?

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

Câu 19: Cho danh sách [3, 1, 4, 1, 5, 9, 2, 6]. Nếu sử dụng thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp danh sách này theo thứ tự tăng dần, sau khi chèn phần tử "5", danh sách sẽ trở thành:

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

Câu 20: Trong các thuật toán sắp xếp đã học, thuật toán nào có độ phức tạp thời gian tốt nhất (best-case) là O(n)?

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

Câu 21: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: sinh viên với nhiều thuộc tính như tên, tuổi, điểm) dựa trên một thuộc tính cụ thể (ví dụ: điểm), các thuật toán sắp xếp cơ bản cần được áp dụng như thế nào?

  • A. Điều chỉnh phép so sánh trong thuật toán để so sánh dựa trên thuộc tính cần sắp xếp
  • B. Cần sử dụng thuật toán sắp xếp đặc biệt cho đối tượng phức tạp
  • C. Chuyển đối tượng phức tạp thành dữ liệu đơn giản trước khi sắp xếp
  • D. Không thể sắp xếp trực tiếp đối tượng phức tạp bằng thuật toán cơ bản

Câu 22: Trong trường hợp bộ nhớ bị hạn chế và không đủ để chứa toàn bộ dữ liệu cần sắp xếp, thuật toán nào sau đây ít tốn bộ nhớ phụ trợ nhất?

  • A. Thuật toán sắp xếp trộn (Merge Sort)
  • B. Thuật toán sắp xếp nhanh (Quick Sort)
  • C. Thuật toán sắp xếp chọn (Selection Sort)
  • D. Tất cả các thuật toán sắp xếp đều tốn bộ nhớ phụ trợ đáng kể

Câu 23: Để sắp xếp một danh sách các số nguyên, biết rằng các số này nằm trong một phạm vi nhỏ (ví dụ: từ 0 đến 1000), có thuật toán sắp xếp nào hiệu quả hơn các thuật toán so sánh (như sắp xếp chèn, chọn, nổi bọt)?

  • A. Thuật toán sắp xếp nổi bọt (Bubble Sort)
  • B. Thuật toán sắp xếp nhanh (Quick Sort)
  • C. Thuật toán sắp xếp trộn (Merge Sort)
  • D. Thuật toán sắp xếp đếm (Counting Sort)

Câu 24: Trong ngữ cảnh thực tế, sắp xếp thường được sử dụng trong ứng dụng nào sau đây?

  • A. Chỉ trong các bài toán lập trình thi đấu
  • B. Chỉ trong hệ điều hành
  • C. Chỉ trong cơ sở dữ liệu
  • D. Trong hầu hết các lĩnh vực của khoa học máy tính và ứng dụng thực tế

Câu 25: Khi lựa chọn thuật toán sắp xếp cho một bài toán cụ thể, yếu tố nào sau đây cần được cân nhắc đầu tiên?

  • A. Hiệu quả về thời gian (tốc độ sắp xếp)
  • B. Độ phức tạp cài đặt của thuật toán
  • C. Yêu cầu về bộ nhớ phụ trợ
  • D. Tính ổn định của thuật toán

Câu 26: Hãy sắp xếp danh sách sau bằng thuật toán sắp xếp nổi bọt sau 2 lần duyệt: [6, 3, 9, 1, 7]. Danh sách sau 2 lần duyệt sẽ là:

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

Câu 27: Trong thuật toán sắp xếp chèn, giả sử bạn đang sắp xếp danh sách [7, 2, 4, 5, 1, 3]. Khi bạn xét đến phần tử "5", phần danh sách đã được sắp xếp trước đó là [2, 4, 7]. Vị trí đúng để chèn "5" vào phần đã sắp xếp là:

  • A. Đầu danh sách đã sắp xếp
  • B. Cuối danh sách đã sắp xếp
  • C. Giữa "4" và "7" trong danh sách đã sắp xếp
  • D. Sau "7" trong danh sách đã sắp xếp

Câu 28: Thuật toán sắp xếp nào sau đây có thể được cải tiến để dừng sớm hơn nếu danh sách đã được sắp xếp trong quá trình thực hiện?

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

Câu 29: Trong thuật toán sắp xếp chọn, điều gì xảy ra nếu danh sách đầu vào đã được sắp xếp?

  • A. Thuật toán dừng lại ngay lập tức
  • B. Thuật toán thực hiện nhanh hơn bình thường
  • C. Thuật toán có thể gây ra lỗi
  • D. Thuật toán vẫn thực hiện đầy đủ các bước như bình thường

Câu 30: Nếu bạn cần sắp xếp một lượng nhỏ dữ liệu (khoảng 10-20 phần tử) và ưu tiên sự đơn giản của thuật toán hơn là hiệu suất tuyệt đối, bạn nên chọn thuật toán sắp xếp nào?

  • A. Thuật toán sắp xếp chèn hoặc sắp xếp nổi bọt
  • B. Thuật toán sắp xếp nhanh
  • C. Thuật toán sắp xếp trộn
  • D. Bất kỳ thuật toán sắp xếp nào cũng phù hợp

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 1: Trong các thuật toán sắp xếp cơ bản, thuật toán nào hoạt động hiệu quả nhất trên một danh sách đã gần như được sắp xếp hoàn chỉnh, chỉ có một vài phần tử nằm sai vị trí?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 2: Xét một danh sách số [5, 2, 8, 1, 9]. Nếu sử dụng thuật toán sắp xếp chọn (Selection Sort) để sắp xếp danh sách này theo thứ tự tăng dần, sau bước đầu tiên, danh sách sẽ trở thành:

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 3: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua danh sách, điều gì được đảm bảo?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 4: Để sắp xếp một danh sách các tên học sinh theo bảng chữ cái, thuật toán sắp xếp nào sau đây là phù hợp và dễ cài đặt nhất cho mục đích giảng dạy?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 5: Trong một chương trình quản lý thư viện, cần sắp xếp sách theo mã số sách. Nếu số lượng sách rất lớn (hàng triệu cuốn) và yêu cầu tốc độ sắp xếp nhanh, thuật toán nào sau đây được ưu tiên lựa chọn?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 6: Cho đoạn mã Python sau:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
Đoạn mã này thực hiện thuật toán sắp xếp nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 7: Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) so với các thuật toán sắp xếp khác như sắp xếp chọn (Selection Sort) hoặc sắp xếp nổi bọt (Bubble Sort) trong trường hợp danh sách nhỏ là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 8: Trong thuật toán sắp xếp chọn (Selection Sort) để sắp xếp tăng dần, sau khi tìm được phần tử nhỏ nhất trong phần chưa sắp xếp, thao tác tiếp theo là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 9: Xét bài toán sắp xếp điểm thi của học sinh từ cao xuống thấp. Thuật toán sắp xếp nào sau đây phù hợp nhất để thực hiện việc này một cách trực quan và dễ hiểu, đặc biệt khi minh họa trên lớp học?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 10: Trong quá trình sắp xếp chèn (Insertion Sort), khi nào thì số lượng phép so sánh và hoán đổi là ít nhất?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 11: Để sắp xếp một danh sách theo thứ tự ngược lại (ví dụ: từ Z-A cho chữ cái hoặc giảm dần cho số), thuật toán sắp xếp chọn (Selection Sort) cần được điều chỉnh như thế nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 12: Giả sử bạn có một danh sách 10 phần tử đã được sắp xếp tăng dần. Bạn muốn thêm một phần tử mới vào danh sách và vẫn duy trì thứ tự sắp xếp. Thuật toán nào sau đây là hiệu quả nhất để thực hiện việc này?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 13: Độ phức tạp thời gian trung bình của thuật toán sắp xếp chọn (Selection Sort) là:

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 14: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), số lần so sánh trong trường hợp xấu nhất (danh sách sắp xếp ngược thứ tự) cho một danh sách có n phần tử là bao nhiêu?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 15: Phát biểu nào sau đây mô tả đúng nhất về thuật toán sắp xếp chèn (Insertion Sort)?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 16: Trong một ứng dụng quản lý sản phẩm, bạn cần sắp xếp các sản phẩm theo giá. Nếu yêu cầu ổn định (các sản phẩm có cùng giá giữ nguyên thứ tự ban đầu), thuật toán nào sau đây là phù hợp?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 17: Để kiểm tra tính đúng đắn của một thuật toán sắp xếp, phương pháp nào sau đây là hiệu quả nhất?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 18: Trong thuật toán sắp xếp chọn (Selection Sort), số lần hoán đổi phần tử trong trường hợp xấu nhất là bao nhiêu, cho một danh sách có n phần tử?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 19: Cho danh sách [3, 1, 4, 1, 5, 9, 2, 6]. Nếu sử dụng thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp danh sách này theo thứ tự tăng dần, sau khi chèn phần tử '5', danh sách sẽ trở thành:

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 20: Trong các thuật toán sắp xếp đã học, thuật toán nào có độ phức tạp thời gian tốt nhất (best-case) là O(n)?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 21: Để sắp xếp một danh sách các đối tượng phức tạp (ví dụ: sinh viên với nhiều thuộc tính như tên, tuổi, điểm) dựa trên một thuộc tính cụ thể (ví dụ: điểm), các thuật toán sắp xếp cơ bản cần được áp 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 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 22: Trong trường hợp bộ nhớ bị hạn chế và không đủ để chứa toàn bộ dữ liệu cần sắp xếp, thuật toán nào sau đây ít tốn bộ nhớ phụ trợ nhất?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 23: Để sắp xếp một danh sách các số nguyên, biết rằng các số này nằm trong một phạm vi nhỏ (ví dụ: từ 0 đến 1000), có thuật toán sắp xếp nào hiệu quả hơn các thuật toán so sánh (như sắp xếp chèn, chọn, nổi bọt)?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 24: Trong ngữ cảnh thực tế, sắp xếp thường được sử dụng trong ứng dụng nào sau đây?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 25: Khi lựa chọn thuật toán sắp xếp cho một bài toán cụ thể, yếu tố nào sau đây cần được cân nhắc đầu tiên?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 26: Hãy sắp xếp danh sách sau bằng thuật toán sắp xếp nổi bọt sau 2 lần duyệt: [6, 3, 9, 1, 7]. Danh sách sau 2 lần duyệt sẽ là:

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 27: Trong thuật toán sắp xếp chèn, giả sử bạn đang sắp xếp danh sách [7, 2, 4, 5, 1, 3]. Khi bạn xét đến phần tử '5', phần danh sách đã được sắp xếp trước đó là [2, 4, 7]. Vị trí đúng để chèn '5' vào phần đã sắp xếp là:

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 28: Thuật toán sắp xếp nào sau đây có thể được cải tiến để dừng sớm hơn nếu danh sách đã được sắp xếp trong quá trình thực hiện?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 29: Trong thuật toán sắp xếp chọn, điều gì xảy ra nếu danh sách đầu vào đã được sắp xếp?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành bài toán sắp xếp

Tags: Bộ đề 10

Câu 30: Nếu bạn cần sắp xếp một lượng nhỏ dữ liệu (khoảng 10-20 phần tử) và ưu tiên sự đơn giản của thuật toán hơn là hiệu suất tuyệt đối, bạn nên chọn thuật toán sắp xếp nào?

Xem kết quả