Trắc nghiệm Tin học 11 Kết nối tri thức KHMT 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 KHMT bài 22 Thực hành bài toán sắp xếp giúp bạn ôn tập kiến thức một cách có hệ thống thông qua các câu hỏi được chọn lọc kỹ lưỡng.

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

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

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

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

Câu 1: Trong Python, phương thức nào dùng để sắp xếp trực tiếp danh sách ban đầu (in-place) mà không tạo ra danh sách mới?

  • - sorted()
  • - order()
  • - list.sort()
  • - arrange()

Câu 2: Câu lệnh nào sau đây dùng để sắp xếp danh sách 'a' tăng dần mà không làm thay đổi 'a'?

  • - a.sort()
  • - b = sorted(a)
  • - a.sorted()
  • - b = a.sort()

Câu 3: Dòng mã 'if A[j] < A[min_idx]: min_idx = j' thuộc về thuật toán sắp xếp nào?

  • - Sắp xếp chèn
  • - Sắp xếp chọn
  • - Sắp xếp nổi bọt
  • - Sắp xếp nhanh

Câu 4: Khi thực hiện Selection Sort cho dãy [5, 3, 1, 2] để sắp xếp tăng dần, ở lượt đầu tiên, phần tử 5 sẽ được hoán đổi với phần tử nào?

  • - Phần tử 2
  • - Phần tử 3
  • - Phần tử 1
  • - Không hoán đổi

Câu 5: Hàm 'sorted()' trong Python trả về kết quả thuộc kiểu dữ liệu nào?

  • - Một danh sách mới đã được sắp xếp
  • - Giá trị Boolean True/False
  • - Một số nguyên biểu thị số lần đổi chỗ
  • - Một từ điển chứa các phần tử đã sắp xếp

Câu 6: Để sắp xếp danh sách học sinh theo thứ tự bảng chữ cái giảm dần (Z đến A), ta cần thiết lập tham số nào trong hàm sắp xếp của Python?

  • - reverse=False
  • - descending=True
  • - order='desc'
  • - reverse=True

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

  • - Số lần so sánh của thuật toán không phụ thuộc vào trạng thái ban đầu của dãy
  • - Thuật toán này luôn có độ phức tạp O(n^2)
  • - Số lần đổi chỗ phần tử của thuật toán này rất lớn, tương đương với sắp xếp nổi bọt
  • - Dễ cài đặt và phù hợp với các danh sách có kích thước nhỏ

Câu 8: Lệnh 'sorted('python')' sẽ trả về kết quả nào sau đây?

  • - ['h', 'n', 'o', 'p', 't', 'y']
  • - 'hnopty'
  • - ['p', 'y', 't', 'h', 'o', 'n']
  • - ['y', 't', 'p', 'o', 'n', 'h']

Câu 9: Khi sắp xếp một danh sách các chuỗi theo độ dài của chúng, tham số 'key' nên được gán giá trị nào?

  • - key=int
  • - key=len
  • - key=size
  • - key=count

Câu 10: Tham số 'key' trong các hàm sắp xếp của Python có thể nhận loại đối tượng nào làm giá trị?

  • - Một số nguyên xác định vị trí
  • - Một hàm số hoặc phương thức
  • - Một chuỗi văn bản mô tả
  • - Một danh sách các phần tử cần bỏ qua

Câu 11: Lợi ích của việc sử dụng hàm 'lambda' trong tham số 'key' của hàm 'sort' là gì?

  • - Làm cho chương trình chạy nhanh hơn gấp đôi
  • - Giúp định nghĩa nhanh quy tắc sắp xếp mà không cần tạo hàm chính quy bằng 'def'
  • - Giúp bảo mật mã nguồn Python
  • - Cho phép sắp xếp dữ liệu trên ổ đĩa

Câu 12: Trong bài toán thực hành sắp xếp danh sách học sinh, nếu cần sắp xếp theo Tên (không phân biệt hoa thường), tham số 'key' nên là gì?

  • - key=str.upper hoặc key=str.lower
  • - key=None
  • - key=ascii
  • - key=alphabet

Câu 13: Để sắp xếp một danh sách gồm các bản ghi (ví dụ: [('An', 9), ('Bình', 8)]), theo điểm số tăng dần, cú pháp Python nào sau đây là đúng?

  • - list.sort(key=lambda x: x[1])
  • - list.sort(index=1)
  • - list.sort(by='score')
  • - list.sort(lambda x: x.score)

Câu 14: Trong các thuật toán sắp xếp sau, thuật toán nào thường được triển khai bằng cách chia danh sách thành một phần đã sắp xếp và một phần chưa sắp xếp?

  • - Cả Selection Sort và Insertion Sort
  • - Chỉ Bubble Sort
  • - Chỉ Quick Sort
  • - Chỉ Merge Sort

Câu 15: Giả sử danh sách a = [5, 2, 9, 1]. Sau bước đầu tiên của thuật toán sắp xếp chọn (tìm phần tử nhỏ nhất để đưa lên đầu), danh sách sẽ trở thành gì?

  • - [1, 2, 9, 5]
  • - [1, 5, 2, 9]
  • - [2, 5, 9, 1]
  • - [5, 2, 1, 9]

Câu 16: Trong Python, cú pháp nào dùng để đổi chỗ giá trị của hai biến 'a' và 'b' mà không cần biến trung gian?

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

Câu 17: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lượt duyệt của vòng lặp ngoài, phần tử nào sẽ chắc chắn nằm ở đúng vị trí cuối cùng của dãy chưa sắp xếp?

  • - Phần tử nhỏ nhất
  • - Phần tử ở giữa dãy
  • - Phần tử lớn nhất
  • - Phần tử đầu tiên

Câu 18: Thuật toán sắp xếp chèn (Insertion Sort) thực hiện việc sắp xếp một dãy số bằng cách nào?

  • - Xây dựng dần dãy đã sắp xếp bằng cách chèn mỗi phần tử mới vào đúng vị trí của nó trong dãy đã được sắp trước đó
  • - Luôn luôn đổi chỗ phần tử lớn nhất với phần tử cuối cùng của dãy
  • - Chỉ so sánh phần tử đầu tiên và phần tử cuối cùng của toàn bộ danh sách
  • - Loại bỏ các phần tử nhỏ hơn giá trị trung bình của danh sách

Câu 19: Để hoán đổi giá trị của hai biến x và y trong Python một cách ngắn gọn, ta sử dụng cú pháp nào?

  • - x, y = y, x
  • - x = y; y = x
  • - swap(x, y)
  • - temp = x; x = y; y = x

Câu 20: Trong Python, nếu ta thực hiện 'a = [10, 2, 5]; a.sort(); print(a)', kết quả xuất ra màn hình là gì?

  • - [10, 5, 2]
  • - [2, 5, 10]
  • - [10, 2, 5]
  • - None

Câu 21: Lệnh nào dùng để sắp xếp danh sách các chuỗi 'words' theo độ dài của từng chuỗi tăng dần?

  • - words.sort(key=len)
  • - words.sort(key=max)
  • - words.sort(key=str)
  • - words.sort(key=count)

Câu 22: Để sắp xếp danh sách học sinh theo điểm số giảm dần, nếu điểm bằng nhau thì sắp xếp theo tên tăng dần, ta nên sử dụng tham số 'key' như thế nào?

  • - key = lambda x: (x.diem, x.ten)
  • - key = lambda x: (-x.diem, x.ten)
  • - key = lambda x: (x.ten, -x.diem)
  • - key = lambda x: x.diem + x.ten

Câu 23: Đặc điểm của một thuật toán sắp xếp 'ổn định' (stable sort) là gì?

  • - Nó không bao giờ làm thay đổi giá trị của các phần tử
  • - Nó giữ nguyên thứ tự tương đối của các phần tử có giá trị bằng nhau
  • - Nó luôn có tốc độ thực hiện không đổi trong mọi trường hợp
  • - Nó sử dụng ít bộ nhớ nhất trong các loại thuật toán

Câu 24: Điều gì xảy ra nếu ta cố gắng sắp xếp một danh sách chứa cả số nguyên và chuỗi ký tự bằng phương thức '.sort()'?

  • - Các số sẽ đứng trước các chuỗi
  • - Chương trình sẽ báo lỗi (TypeError) vì không thể so sánh trực tiếp hai kiểu dữ liệu này
  • - Các chuỗi sẽ được chuyển thành số để sắp xếp
  • - Danh sách sẽ được sắp xếp theo địa chỉ bộ nhớ

Câu 25: Ý tưởng của việc cải tiến thuật toán Bubble Sort bằng cách sử dụng một biến cờ (flag/stop) là gì?

  • - Để đếm số lần so sánh
  • - Để dừng thuật toán sớm nếu không còn phép hoán đổi nào được thực hiện trong một lượt quét
  • - Để đảo ngược danh sách sau khi sắp xong
  • - Để tìm kiếm phần tử X trong danh sách