Đề 5 – Đề thi, câu hỏi trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Đề 5 - Đề thi, câu hỏi trắc nghiệm online Cấu trúc dữ liệu và giải thuật

1. Trong thuật toán KMP (Knuth-Morris-Pratt), bảng tiền xử lý (prefix table) được sử dụng để làm gì?
2. Cấu trúc dữ liệu nào sau đây cho phép truy cập phần tử đầu và cuối với thời gian O(1)?
3. Hash table giải quyết xung đột (collision) bằng phương pháp nào sau đây?
4. Cấu trúc dữ liệu nào sau đây sử dụng con trỏ để liên kết các phần tử?
5. Giải thuật Bellman-Ford được sử dụng để giải quyết vấn đề nào?
6. Thuật toán Kruskal được sử dụng để giải quyết vấn đề nào?
7. Ưu điểm chính của việc sử dụng danh sách liên kết (Linked List) so với mảng (Array) là gì?
8. Trong cây quyết định (Decision Tree), mục đích của việc tỉa cây (pruning) là gì?
9. Độ phức tạp thời gian tốt nhất của thuật toán Insertion Sort là bao nhiêu?
10. Cấu trúc dữ liệu nào thường được sử dụng để triển khai hàng đợi ưu tiên (Priority Queue)?
11. Độ phức tạp thời gian trung bình của thuật toán Bubble Sort là bao nhiêu?
12. Độ phức tạp thời gian xấu nhất của thuật toán Quick Sort là bao nhiêu?
13. Cấu trúc dữ liệu Trie được sử dụng để làm gì?
14. Thuật toán Prim được sử dụng để giải quyết vấn đề nào?
15. Độ phức tạp thời gian tốt nhất của thuật toán tìm kiếm nhị phân (Binary Search) là bao nhiêu?
16. Cấu trúc dữ liệu nào sau đây thích hợp nhất để kiểm tra xem một dấu ngoặc đóng có khớp với dấu ngoặc mở tương ứng hay không?
17. Kỹ thuật quay lui (Backtracking) thường được sử dụng để giải quyết các bài toán nào?
18. Trong đồ thị, chu trình Euler là gì?
19. Trong thuật toán Ford-Fulkerson, mục tiêu chính là gì?
20. Điểm khác biệt chính giữa Breadth-First Search (BFS) và Depth-First Search (DFS) là gì?
21. Cây tìm kiếm nhị phân (Binary Search Tree) có tính chất nào sau đây?
22. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?
23. Thuật toán sắp xếp nào có độ phức tạp thời gian trung bình là O(n log n)?
24. Trong thuật toán Dijkstra, cấu trúc dữ liệu nào thường được sử dụng để lưu trữ khoảng cách từ nút nguồn đến các nút khác?
25. Thuật toán nào sau đây là một thuật toán chia để trị (Divide and Conquer)?
26. Phương pháp tiếp cận 'tham lam' (Greedy) thường được sử dụng trong các bài toán nào?
27. Thuật toán Floyd-Warshall được sử dụng để giải quyết vấn đề nào?
28. Cây nào sau đây đảm bảo thời gian tìm kiếm, chèn và xóa O(log n) trong trường hợp xấu nhất?
29. Trong lập trình động (Dynamic Programming), kỹ thuật memoization dùng để làm gì?
30. Trong cây đỏ đen (Red-Black Tree), mục đích của việc sử dụng màu đỏ và đen cho các nút là gì?