1.Dễ
Thuật toán sắp xếp nào chọn một pivot và phân hoạch mảng thành các phần tử nhỏ hơn và lớn hơn?
- AQuicksort
- BSắp xếp nổi bọt
- CSắp xếp trộn
- DSắp xếp chèn
2.Dễ
Tìm kiếm nhị phân đòi hỏi gì ở đầu vào của nó?
- AĐộ dài mảng phải là lũy thừa của hai
- BMảng chỉ được chứa số dương
- CMảng không được có quá 1000 phần tử
- DMảng phải được sắp xếp
3.Dễ
Thời gian chạy trong trường hợp trung bình mô tả điều gì?
- AThời gian trên loại máy tính phổ biến nhất
- BThời gian kỳ vọng trên một phân phối cho trước của các đầu vào kích thước n
- CThời gian cho một đầu vào có độ dài trung bình
- DGiá trị ở giữa thời gian chạy trường hợp tốt nhất và trường hợp xấu nhất
4.Trung bình
Độ phức tạp thời gian của Fibonacci đệ quy ngây thơ (fib(n) = fib(n−1) + fib(n−2)) là:
- AHàm mũ
- BLogarit
- CTuyến tính
- DHằng số
5.Trung bình
Công thức truy hồi T(n) = 2T(n − 1) + O(1) có nghiệm là gì?
- AO(n²)
- BO(n log n)
- CO(2ⁿ)
- DO(n)
6.Trung bình
Độ phức tạp thời gian của thuật toán quy hoạch động chuẩn cho dãy con chung dài nhất của các chuỗi có độ dài m và n là gì?
- AO(mn log n)
- BO(mn)
- CO(2m+n)
- DO(m + n)
7.Khó
Phát biểu nào về ký hiệu little-o là đúng?
- An = o(n²), nhưng n không phải o(n)
- Bn = o(n), vì mọi hàm đều là little-o của chính nó
- Cn² = o(n)
- D2n = o(n), vì 2n tăng chậm
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
- BKhô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
- CMọi chương trình cuối cùng đều dừng
- DNên tránh các vòng lặp
Đáp án
- 1. A · Quicksort
- 2. D · Mảng phải được sắp xếp
- 3. B · Thời gian kỳ vọng trên một phân phối cho trước của các đầu vào kích thước n
- 4. A · Hàm mũ
- 5. C · O(2ⁿ)
- 6. B · O(mn)
- 7. A · n = o(n²), nhưng n không phải o(n)
- 8. B · 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.