1.Dễ
Truy cập một phần tử theo chỉ số trong một mảng mất:
- AO(n²)
- BO(n)
- CO(log n)
- DO(1)
2.Dễ
Độ phức tạp thời gian trong trường hợp tốt nhất của sắp xếp chèn, trên một mảng đã sắp xếp, là gì?
- AO(n²)
- BO(n)
- CO(n log n)
- DO(1)
3.Dễ
Một phép toán chạy trong thời gian O(1) có nghĩa là gì?
- ANó luôn mất đúng một giây
- BNó chỉ có thể chạy một lần
- CNó xử lý đúng một phần tử mỗi giây thời gian chạy
- DThời gian chạy của nó không tăng theo kích thước đầu vào
4.Trung bình
Trong một mảng đã sắp xếp, bạn tìm hai phần tử có tổng bằng giá trị đích bằng cách di chuyển một con trỏ từ mỗi đầu vào trong. Độ phức tạp thời gian là bao nhiêu?
- AO(n log n)
- BO(n²)
- CO(log n)
- DO(n)
5.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
- BĐúng, nhưng chỉ khi n nhỏ hơn 100
- CĐúng, vì Big O là cận trên và n² tăng không nhanh hơn n³
- DKhông, vì n³ nhỏ hơn n² khi n lớn
6.Trung bình
Một hàm giai thừa đệ quy đơn giản fact(n) = n × fact(n − 1) dùng bao nhiêu không gian ngăn xếp?
- AO(log n)
- BO(n)
- CO(1)
- DO(n²)
7.Khó
22n có thuộc O(2ⁿ) không?
- ACó, vì cả hai đều là hàm mũ
- BCó, vì các hệ số hằng trong số mũ luôn bị bỏ qua trong Big O
- CKhông, vì 22n = 4ⁿ và 4ⁿ / 2ⁿ = 2ⁿ tăng không giới hạn
- DKhông, vì 22n tăng chậm hơn 2ⁿ
8.Khó
Với biến thể bài toán cái túi nào thì quy tắc tham lam "lấy các món theo thứ tự giá trị trên cân nặng" luôn cho đáp án tối ưu?
- ABài toán cái túi 0/1, trong đó các món luôn phải được lấy nguyên
- BCả hai biến thể
- CKhông biến thể nào
- DCái túi phân số, trong đó các món có thể bị chia nhỏ
Đáp án
- 1. D · O(1)
- 2. B · O(n)
- 3. D · Thời gian chạy của nó không tăng theo kích thước đầu vào
- 4. D · O(n)
- 5. C · Đúng, vì Big O là cận trên và n² tăng không nhanh hơn n³
- 6. B · O(n)
- 7. C · Không, vì 22n = 4ⁿ và 4ⁿ / 2ⁿ = 2ⁿ tăng không giới hạn
- 8. D · Cái túi phân số, trong đó các món có thể bị chia nhỏ
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.