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 nhìn nhận rõ các phần kiến thức cần cải thiện thông qua bộ bài tập bám sát thực tế.

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 bài thực hành, việc hoán đổi giá trị của hai biến 'a' và 'b' trong Python được viết ngắn gọn nhất là gì?

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

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

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

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

  • - Nó không bao giờ gây ra lỗi khi chạy
  • - Nó luôn chạy với thời gian O(n log n)
  • - Nó giữ nguyên thứ tự tương đối của các phần tử có khóa bằng nhau
  • - Nó chỉ sử dụng một lượng bộ nhớ cố định

Câu 4: Dãy số [4, 1, 3, 2] sau lượt duyệt đầu tiên của thuật toán Bubble Sort (sắp xếp tăng dần) sẽ trở thành dãy nào?

  • - [1, 3, 4, 2]
  • - [1, 3, 2, 4]
  • - [1, 4, 3, 2]
  • - [4, 3, 2, 1]

Câu 5: Trong thuật toán sắp xếp nổi bọt (Bubble Sort), nếu trong một vòng lặp không có bất kỳ phép hoán đổi nào xảy ra, ta có thể kết luận điều gì?

  • - Dãy số đã được sắp xếp xong
  • - Thuật toán đã bị lỗi mã nguồn
  • - Cần phải đổi chỗ các phần tử một cách ngẫu nhiên
  • - Dãy số đang ở thứ tự ngược hoàn toàn

Câu 6: Đặ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 7: Sắp xếp ổn định (Stable Sort) là gì (một khái niệm có thể gặp khi thực hành sắp xếp nâng cao)?

  • - Sắp xếp mà không làm thay đổi giá trị các phần tử
  • - Sắp xếp giữ nguyên thứ tự tương đối của các phần tử có giá trị bằng nhau
  • - Sắp xếp luôn có thời gian chạy cố định
  • - Sắp xếp chỉ áp dụng được cho số nguyên

Câu 8: Trong bài thực hành, cấu trúc dữ liệu nào thường được dùng để lưu trữ thông tin của nhiều học sinh nhằm mục đích sắp xếp?

  • - Danh sách các từ điển (list of dictionaries) hoặc danh sách các danh sách
  • - Một biến số nguyên duy nhất
  • - Một tập hợp (set)
  • - Một chuỗi văn bản dài

Câu 9: Số phép hoán đổi (swap) tối đa của thuật toán Selection Sort cho một dãy gồm n phần tử là bao nhiêu?

  • - n - 1
  • - n^2
  • - n(n-1)/2
  • - n

Câu 10: 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 11: 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 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: Xét đoạn mã Bubble Sort: 'for i in range(n-1, 0, -1):'. Mục đích của việc chạy ngược từ n-1 về 0 là gì?

  • - Để sắp xếp theo thứ tự giảm dần
  • - Để giảm phạm vi so sánh sau mỗi lượt vì phần tử lớn nhất đã nằm ở cuối
  • - Để thuật toán chạy nhanh gấp đôi
  • - Để tiết kiệm bộ nhớ RAM

Câu 14: Khi sắp xếp danh sách các chuỗi ['Chuối', 'Cam', 'Xoài'] theo thứ tự bảng chữ cái tăng dần, kết quả sẽ là gì?

  • - ['Cam', 'Chuối', 'Xoài']
  • - ['Chuối', 'Cam', 'Xoài']
  • - ['Xoài', 'Chuối', 'Cam']
  • - ['Cam', 'Xoài', 'Chuối']

Câu 15: Để sắp xếp danh sách học sinh theo điểm giảm dần, nếu cùng điểm thì xếp theo tên tăng dần, ta sử dụng biểu thức 'key' nào phù hợp nhất trong Python?

  • - key=lambda x: (x.diem, x.ten)
  • - key=lambda x: (-x[1], x[0])
  • - key=lambda x: (x[1], -x[0])
  • - key=lambda x: x[1] + x[0]

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

  • - Lấy một phần tử và chèn vào vị trí thích hợp trong phần đã sắp xếp trước đó
  • - Chia dãy thành hai nửa bằng nhau rồi ghép lại
  • - Luôn luôn đổi chỗ hai phần tử ở hai đầu dãy
  • - Xóa các phần tử nhỏ hơn giá trị trung bình

Câu 17: Điều gì xảy ra nếu ta gọi hàm 'sort()' trên một danh sách chứa cả số và chuỗi (ví dụ: [1, 'apple', 2])?

  • - Python tự động chuyển tất cả thành chuỗi
  • - Các số sẽ đứng trước các chuỗi
  • - Chương trình sẽ báo lỗi TypeError
  • - Các chuỗi sẽ đứng trước các số

Câu 18: Trong sắp xếp chèn, biến chạy 'j' thường di chuyển theo hướng nào để tìm vị trí chèn cho phần tử 'key'?

  • - Từ đầu danh sách đến cuối danh sách
  • - Từ vị trí hiện tại lùi về phía đầu danh sách
  • - Nhảy cách quãng hai phần tử một lần
  • - Luôn luôn đứng yên tại một vị trí cố định

Câu 19: Ý 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 20: Mục đích chính của bài toán sắp xếp trong lập trình là gì?

  • - Sắp xếp các phần tử theo một thứ tự xác định như tăng dần hoặc giảm dần
  • - Loại bỏ các phần tử trùng lặp trong danh sách
  • - Tìm kiếm một phần tử cụ thể trong danh sách nhanh hơn
  • - Thay đổi giá trị của tất cả các phần tử trong mảng

Câu 21: Khi sắp xếp danh sách các từ tiếng Việt theo mặc định của Python, kết quả có thể không hoàn toàn đúng theo quy tắc từ điển tiếng Việt vì lý do gì?

  • - Python không hỗ trợ tiếng Việt
  • - Sắp xếp dựa trên mã Unicode của ký tự thay vì quy tắc ngôn ngữ
  • - Dấu tiếng Việt luôn đứng đầu danh sách
  • - Python tự động loại bỏ các chữ cái có dấu

Câu 22: Ưu điểm nổi bật 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ì?

  • - Luôn thực hiện ít phép so sánh hơn trong mọi trường hợp
  • - Có hiệu suất rất tốt (gần như O(n)) khi dãy đầu vào đã gần như được sắp xếp
  • - Dễ cài đặt hơn vì không cần sử dụng vòng lặp
  • - Sử dụng nhiều bộ nhớ tạm hơn để tăng tốc độ

Câu 23: Trong thuật toán sắp xếp chọn, nếu danh sách có n phần tử, số lần hoán đổi (swap) tối đa là bao nhiêu?

  • - n^2
  • - n log n
  • - n - 1
  • - n / 2

Câu 24: 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 25: Đâu là một ví dụ về việc ứng dụng bài toán sắp xếp trong thực tế đời sống?

  • - Hiển thị danh sách sản phẩm từ giá thấp đến giá cao trên trang thương mại điện tử
  • - Gửi một email đến nhiều người cùng lúc
  • - Thay đổi hình nền máy tính theo thời gian
  • - Tăng âm lượng loa khi nghe nhạc