1.Dễ
Thuật toán là gì?
- AMột cấu trúc dữ liệu lưu trữ các số
- BMột ngôn ngữ lập trình được thiết kế để viết các công thức toán học
- CBất kỳ chương trình máy tính nào có giao diện đồ họa
- DMột dãy hữu hạn các bước được xác định rõ để giải một bài toán
2.Dễ
Ghi nhớ (memoisation) là gì?
- AGiải phóng bộ nhớ sau khi một hàm trả về
- BTự độ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
- 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ớ
- DViết chú thích bên cạnh từng dòng mã
3.Dễ
Một vòng lặp bắt đầu với i = 1 và nhân đôi i mỗi lần lặp cho đến khi i > n. Nó chạy bao nhiêu lần lặp?
- AKhoảng n / 2
- BKhoảng n
- CKhoảng n²
- DKhoảng log₂ n
4.Trung bình
Thuật toán sắp xếp nào là ổn định?
- ASắp xếp chọn (phiên bản điển hình)
- BSắp xếp vun đống
- CSắp xếp trộn
- DQuicksort (phiên bản tại chỗ điển hình)
5.Trung bình
Vì sao quy hoạch động không đem lại sự tăng tốc thực sự cho sắp xếp trộn?
- ASắp xếp trộn đã là O(n)
- BSắp xếp trộn không có cấu trúc đệ quy
- CQuy hoạch động chỉ hoạt động trên các bài toán đồ thị, không dùng được trên mảng
- DCác bài toán con của nó không chồng lặp, nên không có gì để tái sử dụng
6.Trung bình
Độ phức tạp thời gian của việc tính số Fibonacci thứ n bằng bảng từ dưới lên là gì?
- AO(log n)
- BO(2ⁿ)
- CO(n²)
- DO(n)
7.Khó
Kỹ thuật nào cho thời gian chạy kỳ vọng O(n log n) của quicksort trên mọi đầu vào?
- ALuôn chọn phần tử đầu tiên
- BChọn pivot đồng đều ngẫu nhiên
- CSắp xếp đầu vào trước khi chạy quicksort
- DChỉ dùng đệ quy ở phía bên trái
8.Khó
Vì sao mọi tìm kiếm dựa trên so sánh trong một mảng đã sắp xếp cần Ω(log n) phép so sánh trong trường hợp xấu nhất?
- AMọi phần tử phải được so sánh ít nhất một lần
- BMỗi phép so sánh mất thời gian logarit
- CMột cây quyết định với n kết quả có thể phải có độ sâu ít nhất log₂ n
- DTìm kiếm nhị phân là thuật toán khả dĩ duy nhất, và nó cần log₂ n phép so sánh
Đáp án
- 1. D · 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
- 2. 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ớ
- 3. D · Khoảng log₂ n
- 4. C · Sắp xếp trộn
- 5. D · Các bài toán con của nó không chồng lặp, nên không có gì để tái sử dụng
- 6. D · O(n)
- 7. B · Chọn pivot đồng đều ngẫu nhiên
- 8. C · Một cây quyết định với n kết quả có thể phải có độ sâu ít nhất log₂ n
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.