Trắc nghiệm Tin học 11 Cánh diều Bài 7 (có đáp án): Lập trình một số thuật toán sắp xếp
15 câu · Đề theo bài
Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án. Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải. Thi thử: nộp bài mới chấm điểm và hiện lời giải.
Câu 1
Thuật toán sắp xếp nào được gọi là sắp xếp tại chỗ?
Đáp án và lời giải
Đáp án: D
Câu 2
Mục đích của thuật toán sắp xếp nổi bọt là gì?
Đáp án và lời giải
Đáp án: B
Câu 3
Trong thuật toán sắp xếp chèn tuyến tính, khi nào thì dãy con được coi là có thứ tự?
Đáp án và lời giải
Đáp án: A
Câu 4
Trong thuật toán sắp xếp nổi bọt, điều gì sẽ xảy ra nếu trong một vòng lặp không có bất kỳ lần đổi chỗ nào?
Đáp án và lời giải
Đáp án: B
Câu 5
Thuật toán nào sau đây không phải là một thuật toán sắp xếp?
Đáp án và lời giải
Đáp án: D
Câu 6
Trong thuật toán sắp xếp chèn tuyến tính, phần tử nào sẽ được chèn vào dãy đã được sắp xếp?
Đáp án và lời giải
Đáp án: D
Câu 7
Tính chất nào sau đây là đúng về thuật toán sắp xếp nổi bọt?
Đáp án và lời giải
Đáp án: C
Câu 8
Khi sử dụng hàm sorted() trong Python, kết quả sẽ là gì?
Đáp án và lời giải
Đáp án: B
Câu 9
Tại sao việc sắp xếp dữ liệu là quan trọng trong tin học?
Đáp án và lời giải
Đáp án: B
Câu 10
Nghịch thể trong một dãy số được định nghĩa như thế nào?
Đáp án và lời giải
Đáp án: B
Câu 11
Khi nào thuật toán sắp xếp nổi bọt (Bubble Sort) được cho là đã hoàn thành?
a)Khi không còn cặp phần tử nào là nghịch thế.
b)Khi tất cả các phần tử trong dãy đều bằng nhau.
c)Khi không xảy ra bất kỳ thao tác đổi chỗ nào trong một vòng lặp.
d)Khi đã thực hiện đủ n vòng lặp.
Đáp án và lời giải
Đáp án: a) Sai; b) Sai; c) Đúng; d) Sai
Câu 12
Thuật toán sắp xếp chèn (Insertion Sort) hoạt động như thế nào khi chèn một phần tử vào dãy đã sắp xếp?
a)Nó so sánh phần tử với các phần tử trong dãy và di chuyển chúng sang trái cho đến khi tìm thấy vị trí thích hợp.
b)Nó thêm phần tử vào cuối dãy và sắp xếp lại toàn bộ dãy.
c)Nó chỉ thay đổi vị trí của phần tử mà không cần so sánh với các phần tử khác.
d)Nó sử dụng một dãy tạm thời để lưu trữ các phần tử trong khi sắp xếp.
Đáp án và lời giải
Đáp án: a) Đúng; b) Sai; c) Sai; d) Sai
Câu 13
Thuật toán sắp xếp nổi bọt (Bubble Sort) hoạt động như thế nào để sắp xếp một dãy số?
Đáp án và lời giải
Đáp án: Thuật toán sắp xếp nổi bọt so sánh từng cặp phần tử liền kề trong dãy và đổi chỗ chúng nếu chúng ở sai thứ tự. Quá trình này được lặp lại cho đến khi không còn cặp phần tử nào cần đổi chỗ, nghĩa là dãy đã được sắp xếp. Giải thích: Ý tưởng của thuật toán là "nổi bọt" các phần tử lớn hơn lên cuối dãy. Sau mỗi vòng lặp, phần tử lớn nhất trong dãy sẽ được chuyển tới vị trí cuối cùng, do đó không cần phải xem xét lại nó trong các vòng lặp tiếp theo. Điều này giúp giảm số lượng so sánh và đổi chỗ cần thiết, làm cho thuật toán có thể dừng lại sớm hơn khi dãy đã được sắp xếp.
Câu 14
Khi nào thì thuật toán sắp xếp tại chỗ được sử dụng và nó khác gì với thuật toán sắp xếp không tại chỗ?
Đáp án và lời giải
Đáp án: Thuật toán sắp xếp tại chỗ được sử dụng khi không cần thêm một mảng khác để chứa kết quả sắp xếp, mà chỉ cần thực hiện các thao tác đổi chỗ giữa các phần tử trong dãy ban đầu. Ngược lại, thuật toán sắp xếp không tại chỗ sẽ sử dụng một mảng khác để lưu trữ kết quả. Giải thích: Sắp xếp tại chỗ giúp tiết kiệm bộ nhớ, điều này rất quan trọng khi làm việc với các dãy dữ liệu lớn. Các thuật toán như Bubble Sort và Insertion Sort thường được thực hiện theo cách này, trong khi một số thuật toán như Merge Sort cần một mảng phụ để hoàn thành việc sắp xếp.
Câu 15
Tại sao sắp xếp là một thao tác quan trọng trong lập trình và xử lý dữ liệu?
Đáp án và lời giải
Đáp án: Sắp xếp giúp tổ chức lại dữ liệu theo thứ tự cụ thể, từ đó hỗ trợ cho các thao tác tìm kiếm nhanh hơn và dễ dàng hơn trong việc phân tích dữ liệu. Giải thích: Khi dữ liệu được sắp xếp, các thuật toán tìm kiếm như tìm kiếm nhị phân có thể được áp dụng, giúp giảm thời gian tìm kiếm từ O(n) xuống O(log n). Ngoài ra, sắp xếp cũng giúp cho việc trình bày dữ liệu dễ dàng hơn, như trong các bảng điểm hay danh sách sản phẩm, làm cho người dùng có thể nhanh chóng tìm kiếm và phân tích thông tin hơn.