Đề 1 – Bài tập, đề thi trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Đề 1 - Bài tập, đề thi trắc nghiệm online Cấu trúc dữ liệu và giải thuật

1. Trong thuật toán tìm kiếm theo chiều sâu (DFS) trên đồ thị, cấu trúc dữ liệu nào thường được sử dụng để quản lý các nút cần được thăm?
2. Độ phức tạp thời gian tốt nhất, trung bình và xấu nhất của thuật toán Insertion Sort lần lượt là:
3. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình tốt nhất?
4. Trong cây tìm kiếm nhị phân, thao tác `in-order traversal` (duyệt trung thứ tự) sẽ cho ra kết quả gì?
5. Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong một mảng đã được sắp xếp bằng thuật toán tìm kiếm nhị phân là bao nhiêu?
6. 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 độ phức tạp O(1)?
7. Giải thuật nào sau đây là một ví dụ của kỹ thuật `chia để trị` (divide and conquer)?
8. Kiểu duyệt cây nào sau đây duyệt các nút theo chiều rộng, từng mức một?
9. Trong bảng băm (hash table), `xung đột` xảy ra khi nào?
10. Cấu trúc dữ liệu nào sau đây là `phi tuyến tính`?
11. Giải thuật Floyd-Warshall được sử dụng để giải quyết bài toán nào?
12. Trong bảng băm, kích thước bảng băm (số lượng vị trí) nên được chọn như thế nào để giảm thiểu xung đột?
13. Kiểu duyệt cây nào sau đây thường được sử dụng để sao chép cây?
14. Ưu điểm chính của việc sử dụng danh sách liên kết so với mảng là gì?
15. Trong thuật toán Dijkstra, cấu trúc dữ liệu nào được sử dụng để theo dõi khoảng cách ngắn nhất hiện tại từ nút nguồn đến tất cả các nút khác?
16. Phương pháp nào sau đây thường được sử dụng để giải quyết xung đột trong bảng băm?
17. Ưu điểm của việc sử dụng cây tìm kiếm nhị phân cân bằng (ví dụ: AVL tree, Red-Black tree) so với cây tìm kiếm nhị phân thông thường là gì?
18. Trong thuật toán QuickSort, việc chọn phần tử chốt (pivot) ảnh hưởng đến điều gì?
19. Trong cấu trúc dữ liệu đồ thị, ma trận kề (adjacency matrix) phù hợp nhất cho việc biểu diễn đồ thị nào?
20. Thuật toán Bellman-Ford được sử dụng để giải bài toán đường đi ngắn nhất nguồn đơn trong đồ thị có đặc điểm gì?
21. Trong cấu trúc dữ liệu Stack, thao tác nào sau đây tuân theo nguyên tắc LIFO (Last-In, First-Out)?
22. Độ phức tạp thời gian để chèn một phần tử vào vị trí đầu của danh sách liên kết đơn là bao nhiêu?
23. Cho một mảng số nguyên chưa sắp xếp. Để tìm phần tử lớn thứ k trong mảng, giải thuật nào sau đây hiệu quả nhất về mặt thời gian (trung bình)?
24. Thuật toán sắp xếp nào sau đây hoạt động tốt nhất với dữ liệu đã gần như được sắp xếp?
25. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai hàng đợi ưu tiên?
26. Độ phức tạp không gian của thuật toán Merge Sort là bao nhiêu?
27. Thuật toán Kruskal và Prim đều được sử dụng để giải quyết bài toán nào trên đồ thị?
28. Trong đồ thị, chu trình Euler tồn tại khi nào?
29. Cấu trúc dữ liệu nào sau đây hoạt động tốt nhất cho việc biểu diễn mối quan hệ `cha-con` trong một hệ thống phân cấp?
30. Thuật toán sắp xếp nào sau đây là một ví dụ của thuật toán `tham lam` (greedy algorithm)?