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: 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 2: 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 3: Để 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 4: Ý 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
Câu 5: 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 6: 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 7: Để 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 8: Đ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 9: Để 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 10: 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 11: Đặ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 12: Để 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 13: 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 14: 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 15: 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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 22: 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 23: 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 24: 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 25: 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