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 tối đa nó mất trên mọi đầu vào kích thước n
- CThời gian kỳ vọng nó mất trên một đầu vào ngẫu nhiên kích thước n
- DThời gian nó mất trên đầu vào nhỏ nhất
2.Dễ
Sắp xếp chọn hoạt động như thế nào?
- ANó liên tục tìm phần tử nhỏ nhất của phần chưa sắp xếp và hoán đổi nó lên đầu
- BNó liên tục hoán đổi các phần tử kề nhau đang sai thứ tự
- CNó chèn từng phần tử vào phần đã sắp xếp đang lớn dần bằng cách dịch chuyển
- DNó chia mảng làm đôi rồi trộn lại
3.Dễ
Độ phức tạp thời gian của tìm kiếm nhị phân trên một mảng đã sắp xếp là gì?
- AO(n)
- BO(log n)
- CO(1)
- DO(n log n)
4.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)
- BO(2m+n)
- CO(m + n)
- DO(mn log n)
5.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?
- ATìm kiếm theo chiều sâu
- BThuật toán Dijkstra
- CThuật toán Kruskal
- DBắt buộc phải dùng Bellman–Ford trong mọi trường hợp
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 có độ dài 2
- BMột mảng đã được sắp xếp
- CMột mảng có thứ tự ngẫu nhiên
- DMột mảng mà các phần tử đều khác nhau
7.Khó
Phát biểu nào về ký hiệu little-o là đúng?
- An = o(n), vì mọi hàm đều là little-o của chính nó
- Bn = o(n²), nhưng n không phải o(n)
- C2n = o(n), vì 2n tăng chậm
- Dn² = o(n)
8.Khó
Sắp xếp chèn chạy trong O(n) trên đầu vào đã sắp xếp. Điều này có mâu thuẫn với cận dưới Ω(n log n) cho sắp xếp dựa trên so sánh không?
- ACó, nhưng chỉ với mảng ngắn hơn 100
- BCó, nên cận dưới là sai
- CKhông, vì sắp xếp chèn không phải là sắp xếp dựa trên so sánh
- DKhông, cận dưới áp dụng cho trường hợp xấu nhất trên mọi đầu vào, không phải cho từng đầu vào
Đáp án
- 1. B · Thời gian tối đa nó mất trên mọi đầu vào kích thước n
- 2. A · Nó liên tục tìm phần tử nhỏ nhất của phần chưa sắp xếp và hoán đổi nó lên đầu
- 3. B · O(log n)
- 4. A · O(mn)
- 5. B · Thuật toán Dijkstra
- 6. B · Một mảng đã được sắp xếp
- 7. B · n = o(n²), nhưng n không phải o(n)
- 8. D · Không, cận dưới áp dụng cho trường hợp xấu nhất trên mọi đầu vào, không phải cho từng đầu vào
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.