1.Dễ
Ghi nhớ (memoisation) là gì?
- ATự động chuyển đệ quy thành vòng lặp tương đương để không cần ngăn xếp lời gọi
- BViết chú thích bên cạnh từng dòng mã
- CLưu kết quả của các lời gọi hàm để các lời gọi lặp lại được trả lời từ bộ nhớ
- DGiải phóng bộ nhớ sau khi một hàm trả về
2.Dễ
Big O của 3n² + 5n + 2 là gì?
- AO(5n)
- BO(n³)
- CO(n²)
- DO(3n²)
3.Dễ
Thời gian chạy của một thuật toán là O(n). Tốc độ tăng này được gọi là gì?
- ABậc hai
- BLogarit
- CHằng số
- DTuyến tính
4.Trung bình
Thuật toán nào tìm đường đi ngắn nhất từ một nguồn trong đồ thị có trọng số cạnh không âm?
- ABắt buộc phải dùng Bellman–Ford trong mọi trường hợp
- BTìm kiếm theo chiều sâu
- CThuật toán Kruskal
- DThuật toán Dijkstra
5.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 sắp xếp
- CMột mảng có thứ tự ngẫu nhiên
- DMột mảng có độ dài 2
6.Trung bình
Quy hoạch động hữu ích khi một bài toán có:
- ACác bài toán con chồng lặp và cấu trúc con tối ưu
- BChỉ các đầu vào ngẫu nhiên
- CMột vòng lặp duy nhất
- DHoàn toàn không có bài toán con, nên có thể giải trong một bước
7.Khó
Lấy cả hai đầu mút của mọi cạnh trong một cặp ghép cực đại cho ta một phủ đỉnh. Phủ này tốt đến mức nào?
- AKhông rõ chất lượng so với tối ưu
- BCó kích thước tối đa gấp đôi phủ đỉnh nhỏ nhất
- CTối đa log n lần giá trị nhỏ nhất
- DLuôn là một phủ đỉnh nhỏ nhất
8.Khó
Chi phí khấu hao của việc tăng một bộ đếm nhị phân là bao nhiêu, biết rằng một lần tăng có thể lật nhiều bit?
- AO(1) mỗi lần tăng
- BO(log n) mỗi lần tăng
- CO(n) mỗi lần tăng
- DO(n log n) mỗi lần tăng
Đáp án
- 1. C · Lưu kết quả của các lời gọi hàm để các lời gọi lặp lại được trả lời từ bộ nhớ
- 2. C · O(n²)
- 3. D · Tuyến tính
- 4. D · Thuật toán Dijkstra
- 5. B · Một mảng đã được sắp xếp
- 6. A · Các bài toán con chồng lặp và cấu trúc con tối ưu
- 7. B · Có kích thước tối đa gấp đôi phủ đỉnh nhỏ nhất
- 8. A · O(1) mỗi lần tăng
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.