Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 24 Đánh giá độ phức tạp thời gian thuật toán giúp bạn nhận biết điểm mạnh và điểm yếu của bản thân thông qua nội dung bám sát chương trình học.
Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 24 Đánh giá độ phức tạp thời gian thuật toán
⏱ 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: Làm thế nào để giảm độ phức tạp của một thuật toán từ O(n^2) xuống O(n)?
- - Sử dụng cấu trúc dữ liệu phù hợp hoặc chiến lược chia để trị
- - Chạy chương trình trên máy tính cấu hình mạnh hơn
- - Thêm nhiều vòng lặp hơn vào code
- - Tăng kích thước dữ liệu đầu vào
Câu 2: Thuật toán có độ phức tạp thời gian O(n) được gọi là gì?
- - Độ phức tạp hằng số
- - Độ phức tạp tuyến tính
- - Độ phức tạp bình phương
- - Độ phức tạp logarit
Câu 3: Độ phức tạp O(n log n) thường là hiệu năng tốt nhất của thuật toán nào
- - Sắp xếp trộn (Merge Sort)
- - Tìm kiếm tuần tự
- - Sắp xếp nổi bọt
- - Cộng hai số
Câu 4: Để đánh giá thuật toán, người ta thường bỏ qua các số hạng có bậc thấp. Tại sao?
- - Vì chúng chiếm ít thời gian khi n rất lớn
- - Vì chúng không tồn tại
- - Vì chúng làm phức tạp thêm các phép toán
- - Vì chúng luôn luôn bằng 0
Câu 5: Độ phức tạp thời gian O(log n) thường xuất hiện trong thuật toán nào
- - Tìm kiếm tuần tự trên mảng chưa sắp xếp
- - Tìm kiếm nhị phân trên mảng đã sắp xếp
- - Sắp xếp nổi bọt
- - Duyệt tất cả các cặp phần tử
Câu 6: Một thuật toán có độ phức tạp thời gian là O(1) có đặc điểm gì?
- - Thời gian chạy tỉ lệ thuận với n
- - Thời gian chạy tỉ lệ với n bình phương
- - Thời gian chạy là hằng số, không phụ thuộc vào kích thước dữ liệu
- - Thời gian chạy tăng theo hàm mũ
Câu 7: Biểu thức O(2n) trong phân tích độ phức tạp tương đương với
- - O(n^2)
- - O(n)
- - O(log n)
- - O(n + 2)
Câu 8: Khi đánh giá độ phức tạp thời gian, ta thường xét trường hợp nào?
- - Trường hợp tốt nhất
- - Trường hợp xấu nhất
- - Trường hợp ngẫu nhiên
- - Trường hợp trung bình
Câu 9: Độ phức tạp thời gian của thuật toán tìm kiếm nhị phân trên n phần tử là gì?
- - O(n)
- - O(log n)
- - O(n log n)
- - O(n^2)
Câu 10: Trong đánh giá thuật toán, yếu tố nào không quan trọng nhất?
- - Tốc độ xử lý của CPU cụ thể
- - Cách thuật toán tăng trưởng khi n tăng
- - Độ phức tạp thời gian của thuật toán
- - Số lượng thao tác cơ bản
Câu 11: Độ phức tạp thời gian O(2^n) thường được coi là gì?
- - Rất hiệu quả
- - Hiệu quả trung bình
- - Không hiệu quả với n lớn
- - Chỉ áp dụng cho máy tính siêu mạnh
Câu 12: Tại sao việc thiết kế thuật toán tối ưu là quan trọng?
- - Để giảm chi phí tài nguyên và nâng cao trải nghiệm người dùng
- - Để làm cho code trở nên khó hiểu hơn
- - Để thuật toán chạy chậm hơn khi cần thiết
- - Để không cần sử dụng máy tính mạnh
Câu 13: Trong thuật toán sắp xếp chọn (Selection Sort), độ phức tạp thời gian là bao nhiêu?
- - O(n log n)
- - O(n bình phương)
- - O(n)
- - O(1)
Câu 14: Khi nói một thuật toán có độ phức tạp O(n^2), điều đó có nghĩa là?
- - Thời gian chạy tăng theo hàm logarit
- - Thời gian chạy tăng theo hàm mũ
- - Thời gian chạy tỉ lệ thuận với bình phương kích thước dữ liệu
- - Thời gian chạy giảm dần khi n tăng
Câu 15: Sự khác biệt giữa O(n^2) và O(2^n) là gì?
- - O(2^n) tăng nhanh hơn nhiều so với O(n^2)
- - O(n^2) tăng nhanh hơn O(2^n)
- - Chúng không khác nhau
- - O(n^2) là hàm mũ
Câu 16: Khi n = 1000, thuật toán nào chạy nhanh nhất?
- - Thuật toán O(n bình phương)
- - Thuật toán O(n)
- - Thuật toán O(2 mũ n)
- - Thuật toán O(n log n)
Câu 17: Việc phân tích độ phức tạp thời gian giúp ích gì nhất cho lập trình viên?
- - Viết mã ngắn gọn hơn
- - Chọn được giải pháp phù hợp với quy mô dữ liệu dự kiến
- - Tăng tốc phần cứng máy tính
- - Thay thế các ngôn ngữ lập trình
Câu 18: Yếu tố nào sau đây không ảnh hưởng đến độ phức tạp thời gian theo ký hiệu Big O
- - Hệ số tỉ lệ hằng số
- - Kích thước đầu vào n
- - Cấu trúc vòng lặp
- - Số lượng thao tác phụ thuộc vào n
Câu 19: Trong phân tích thuật toán, O(1) + O(n) bằng bao nhiêu?
- - O(n)
- - O(1)
- - O(n^2)
- - O(n log n)
Câu 20: Tại sao cần đánh giá độ phức tạp thuật toán bằng kích thước đầu vào n?
- - Để tính chính xác thời gian thực hiện bằng giây
- - Để đánh giá hiệu quả thuật toán khi n rất lớn
- - Để xác định dung lượng RAM cần dùng
- - Để biết số lượng máy tính cần thiết
Câu 21: Khi phân tích độ phức tạp thời gian, ta thường quan tâm đến điều gì nhất?
- - Trường hợp tốt nhất
- - Trường hợp xấu nhất
- - Trường hợp trung bình
- - Thời gian thực thi trên phần cứng cũ
Câu 22: Để đánh giá thuật toán, ta cần quan tâm nhất đến điều gì khi n tăng lớn?
- - Tốc độ máy tính
- - Tốc độ tăng trưởng của số phép toán theo n
- - Ngôn ngữ lập trình được sử dụng
- - Số lượng code viết ra
Câu 23: Một vòng lặp chạy n/2 lần có độ phức tạp là bao nhiêu?
- - O(n)
- - O(n^2)
- - O(log n)
- - O(1)
Câu 24: Độ phức tạp O(n^2) thường được coi là gì so với O(n log n)?
- - Kém hiệu quả hơn
- - Hiệu quả hơn
- - Tương đương
- - Tốc độ nhanh hơn
Câu 25: Trong đánh giá thuật toán, 'kích thước đầu vào' thường được ký hiệu là
- - x
- - m
- - n
- - t