1.Dễ
Đệ quy là gì?
- AMột vòng lặp không bao giờ kết thúc
- BMột phương pháp sắp xếp
- CMột loại cấu trúc dữ liệu
- DMột hàm gọi chính nó trên các đầu vào nhỏ hơn
2.Dễ
Thuật toán là gì?
- AMột ngôn ngữ lập trình được thiết kế để viết các công thức toán học
- BBất kỳ chương trình máy tính nào có giao diện đồ họa
- CMột cấu trúc dữ liệu lưu trữ các số
- 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
3.Dễ
Độ phức tạp thời gian trong trường hợp xấu nhất của sắp xếp trộn là gì?
- AO(n)
- BO(n²)
- CO(log n)
- DO(n log n)
4.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ó thứ tự ngẫu nhiên
- BMột mảng mà các phần tử đều khác nhau
- CMột mảng đã được sắp xếp
- DMột mảng có độ dài 2
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?
- 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 Dijkstra
- DThuật toán Kruskal
6.Trung bình
Tìm kiếm nhị phân cần khoảng bao nhiêu phép so sánh trong trường hợp xấu nhất trên một mảng đã sắp xếp có 1,000,000 phần tử?
- AKhoảng 20
- BKhoảng 100
- CKhoảng 500,000
- DKhoảng 1,000
7.Khó
Vì sao thuật toán Dijkstra có thể cho kết quả sai khi một số trọng số cạnh âm?
- AMột đỉnh được chốt khi được lấy ra, nhưng một cạnh âm sau đó vẫn có thể cho nó một đường đi ngắn hơn
- BSố âm không thể lưu trong hàng đợi ưu tiên
- CNó chỉ hoạt động trên đồ thị vô hướng
- DNó rơi vào vòng lặp vô hạn ở mọi cạnh âm
8.Khó
Cận nào là đúng cho log(n!)?
- AΘ(n²)
- BΘ(n)
- CΘ(log n)
- DΘ(n log n)
Đáp án
- 1. D · Một hàm gọi chính nó trên các đầu vào nhỏ hơn
- 2. 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
- 3. D · O(n log n)
- 4. C · Một mảng đã được sắp xếp
- 5. C · Thuật toán Dijkstra
- 6. A · Khoảng 20
- 7. A · Một đỉnh được chốt khi được lấy ra, nhưng một cạnh âm sau đó vẫn có thể cho nó một đường đi ngắn hơn
- 8. D · Θ(n log n)
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.