15 câu Trắc nghiệm Tin học 11 KNTT Định hướng Khoa học máy tính Bài 25: Thực hành xác định độ phức tạp thời gian thuật toán có đáp án
15 câu Trắc nghiệm Tin học 11 KNTT Định hướng Khoa học máy tính Bài 25: Thực hành xác định độ phức tạp thời gian thuật toán có đáp án
-
60 lượt thi
-
10 câu hỏi
-
60 phút
Danh sách câu hỏi
Câu 1:
PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.
Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự LinearSearch(A, K) là:
Đáp án: B
Giải thích: Trong trường hợp xấu nhất, thuật toán tìm kiếm tuần tự phải duyệt qua toàn bộ mảng để tìm phần tử, do đó độ phức tạp là O(n).
Câu 2:
Độ phức tạp thời gian của thuật toán sắp xếp chọn SelectionSort(A) là:
Đáp án: C
Giải thích: Thuật toán sắp xếp chọn có độ phức tạp thời gian là O(n^2) do cần thực hiện các vòng lặp lồng nhau để tìm phần tử nhỏ nhất và đổi chỗ ở mỗi lần duyệt.
Câu 3:
Độ phức tạp thời gian của thuật toán sắp xếp nổi bọt BubbleSort(A) là:
Đáp án: B
Giải thích: Trong trường hợp xấu nhất, thuật toán sắp xếp nổi bọt sẽ có độ phức tạp O(n^2) vì có hai vòng lặp lồng nhau chạy qua các phần tử.
Câu 4:
Đối với thuật toán LinearSearch(A, K), thời gian tính toán trong trường hợp tốt nhất là:
Đáp án: C
Giải thích: Trong trường hợp tốt nhất, phần tử cần tìm có thể nằm ngay ở vị trí đầu tiên của mảng, và thuật toán chỉ cần thực hiện một lần so sánh để trả về kết quả, do đó độ phức tạp là O(1).
Câu 5:
Độ phức tạp thời gian của hàm Mystery(n) với các vòng lặp lồng nhau từ i đến j và j đến k là:
Đáp án: C
Giải thích: Hàm Mystery(n) có ba vòng lặp lồng nhau, do đó độ phức tạp thời gian của nó là O(n^3).
Câu 6:
Nếu thời gian thực hiện thuật toán sắp xếp chọn là 1 giây, giá trị lớn nhất của n sẽ là:
Đáp án: D
Giải thích: Với độ phức tạp O(n^2) và 1 giây thực thi, n phải khoảng √(1 giây / thời gian đơn vị), do đó n gần 316.
Câu 7:
Hàm func(A) với hai vòng lặp lồng nhau chạy từ 0 đến n-1, thực hiện một phép so sánh mỗi lần duyệt, có độ phức tạp là:
Đáp án: C
Giải thích: Với hai vòng lặp lồng nhau mỗi lần duyệt toàn bộ phần tử, hàm có độ phức tạp O(n^2).
Câu 8:
Trong các thuật toán tìm kiếm tuần tự, thời gian thực hiện tối đa sẽ là bao nhiêu đối với mảng kích thước n?
Đáp án: A
Giải thích: Trong trường hợp xấu nhất, thuật toán tìm kiếm tuần tự cần duyệt qua toàn bộ mảng, do đó độ phức tạp là O(n).
Câu 9:
Khi SelectionSort(A) thực hiện một phép đổi chỗ tại dòng cuối, phép tính này sẽ tốn:
Đáp án: C
Giải thích: Phép đổi chỗ trong SelectionSort(A) được phân tích tốn 3 đơn vị thời gian.
Câu 10:
Độ phức tạp thời gian của BubbleSort trong trường hợp tốt nhất khi mảng đã sắp xếp là:
Đáp án: A
Giải thích: Trong trường hợp tốt nhất, BubbleSort sẽ chỉ cần duyệt qua một lần mảng và kiểm tra rằng tất cả các phần tử đã sắp xếp đúng, do đó độ phức tạp là O(n).