1.Dễ
Thời gian chạy trong trường hợp xấu nhất của một thuật toán mô tả điều gì?
- AThời gian nó mất trên một máy tính chậm
- BThời gian kỳ vọng nó mất trên một đầu vào ngẫu nhiên kích thước n
- CThời gian tối đa nó mất trên mọi đầu vào kích thước n
- DThời gian nó mất trên đầu vào nhỏ nhất
2.Dễ
Thuật toán là gì?
- ABất kỳ chương trình máy tính nào có giao diện đồ họa
- BMột dãy hữu hạn các bước được xác định rõ để giải một bài toán
- CMột ngôn ngữ lập trình được thiết kế để viết các công thức toán học
- DMột cấu trúc dữ liệu lưu trữ các số
3.Dễ
Ba bước của một thuật toán chia để trị là gì?
- AĐoán, kiểm tra, lặp lại
- BSắp xếp, tìm kiếm, trả về
- CĐọc, tính toán, ghi
- DChia, trị, kết hợp
4.Trung bình
Có đúng không khi nói một thuật toán O(n²) cũng là O(n³)?
- AKhông, vì Big O phải luôn cho tốc độ tăng chính xác của hàm
- BKhông, vì n³ nhỏ hơn n² khi n lớn
- CĐúng, vì Big O là cận trên và n² tăng không nhanh hơn n³
- DĐúng, nhưng chỉ khi n nhỏ hơn 100
5.Trung bình
Độ phức tạp thời gian của: for i = 1 to n: (j = 1; while j < n: j = j × 2) là gì?
- AO(n)
- BO(log n)
- CO(n²)
- DO(n log n)
6.Trung bình
Quicksort luôn dùng phần tử đầu tiên làm pivot. Trên đầu vào nào nó thể hiện hành vi xấu nhất?
- AMột mảng mà các phần tử đều khác nhau
- BMột mảng có độ dài 2
- CMột mảng đã được sắp xếp
- DMột mảng có thứ tự ngẫu nhiên
7.Khó
Chi phí thời gian và không gian của việc tính số Fibonacci thứ n bằng một vòng lặp chỉ giữ hai giá trị cuối là bao nhiêu?
- AThời gian O(2ⁿ) và không gian O(1)
- BThời gian O(n) và không gian O(1)
- CThời gian O(n) và không gian O(n)
- DThời gian O(log n) và không gian O(n)
8.Khó
Bài toán dừng cho thấy rằng:
- AMột số chương trình chạy nhanh hơn trên máy tính nhanh hơn, nên việc dừng phụ thuộc vào phần cứng
- BMọi chương trình cuối cùng đều dừng
- CKhông thuật toán nào có thể quyết định, với mọi chương trình và đầu vào, liệu nó có dừng hay không
- DNên tránh các vòng lặp
Đáp án
- 1. C · Thời gian tối đa nó mất trên mọi đầu vào kích thước n
- 2. B · Một dãy hữu hạn các bước được xác định rõ để giải một bài toán
- 3. D · Chia, trị, kết hợp
- 4. C · Đúng, vì Big O là cận trên và n² tăng không nhanh hơn n³
- 5. D · O(n log n)
- 6. C · Một mảng đã được sắp xếp
- 7. B · Thời gian O(n) và không gian O(1)
- 8. C · Không thuật toán nào có thể quyết định, với mọi chương trình và đầu vào, liệu nó có dừng hay không
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.