1.Dễ
Thao tác peek (hoặc top) trên ngăn xếp làm gì?
- ALấy phần tử đỉnh ra và trả về nó
- BTrả về phần tử đáy của ngăn xếp
- CXóa tất cả phần tử khỏi ngăn xếp
- DTrả về phần tử đỉnh mà không lấy nó ra
2.Dễ
Trong danh sách liên kết đơn, mỗi nút chứa:
- AChỉ dữ liệu
- BDữ liệu và tham chiếu đến mọi nút khác
- CDữ liệu và một chỉ số
- DDữ liệu và một tham chiếu đến nút kế tiếp
3.Dễ
Trong một cây, lá là gì?
- ANút không có cha
- BNút có đúng một con
- CNút không có con
- DNút có giá trị lớn nhất
4.Trung bình
Kiểm tra cạnh (u, v) có tồn tại hay không bằng ma trận kề mất bao lâu?
- AO(V)
- BO(1)
- CO(log V)
- DO(E)
5.Trung bình
Vì sao duyệt mảng thường nhanh hơn nhiều trong thực tế so với duyệt danh sách liên kết cùng độ dài?
- ADuyệt mảng tổng cộng là O(1) còn duyệt danh sách liên kết là O(n)
- BCác phần tử mảng liền kề, nên tận dụng tốt bộ nhớ đệm CPU
- CDanh sách liên kết luôn lưu phần tử trên đĩa
- DMảng dùng ít lệnh hơn để so sánh giá trị
6.Trung bình
Trong hàng đợi vòng lưu trong mảng có sức chứa n, vị trí kế tiếp sau chỉ số i được tính thế nào?
- A(i + 1) mod n
- B(i − 1) mod n
- Ci + 1
- D2i + 1
7.Khó
Thời gian chạy của tìm kiếm theo chiều rộng trên đồ thị có V đỉnh được lưu bằng ma trận kề là bao nhiêu?
- AO(V²)
- BO(E log V)
- CO(V + E)
- DO(V)
8.Khó
Bạn phải giữ k giá trị nhỏ nhất từ một luồng n số bằng bộ nhớ O(k). Cách nào chạy trong thời gian O(n log k)?
- AMột mảng đã sắp xếp chứa tất cả n giá trị
- BMột đống min chứa tất cả n giá trị, từ đó k giá trị nhỏ nhất được lấy ra ở cuối
- CMột đống max kích thước k, thay gốc của nó khi có giá trị nhỏ hơn đến
- DMột hàng đợi FIFO gồm k giá trị cuối
Đáp án
- 1. D · Trả về phần tử đỉnh mà không lấy nó ra
- 2. D · Dữ liệu và một tham chiếu đến nút kế tiếp
- 3. C · Nút không có con
- 4. B · O(1)
- 5. B · Các phần tử mảng liền kề, nên tận dụng tốt bộ nhớ đệm CPU
- 6. A · (i + 1) mod n
- 7. A · O(V²)
- 8. C · Một đống max kích thước k, thay gốc của nó khi có giá trị nhỏ hơn đến
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.