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

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

1. Thuật toán duyệt đồ thị theo chiều rộng (BFS - Breadth-First Search) thường sử dụng cấu trúc dữ liệu nào để quản lý các đỉnh cần thăm?
2. Ưu điểm của việc sử dụng cây khung tối thiểu (Minimum Spanning Tree - MST) trong bài toán mạng máy tính là gì?
3. Thuật toán Kruskal và thuật toán Prim đều được sử dụng để giải quyết bài toán nào?
4. Ưu điểm chính của danh sách liên kết đôi (Doubly Linked List) so với danh sách liên kết đơn (Singly Linked List) là gì?
5. Cấu trúc dữ liệu nào sau đây cho phép truy cập phần tử ở vị trí bất kỳ trong thời gian O(1)?
6. Độ phức tạp thời gian của thao tác chèn một phần tử vào đầu danh sách liên kết đơn (Singly Linked List) là bao nhiêu?
7. Điểm khác biệt chính giữa thuật toán sắp xếp chọn (Selection Sort) và sắp xếp nổi bọt (Bubble Sort) là gì?
8. Độ phức tạp thời gian tốt nhất của thuật toán tìm kiếm tuyến tính (Linear Search) trong trường hợp mảng đã được sắp xếp là bao nhiêu?
9. Cấu trúc dữ liệu nào sau đây thường được sử dụng để cài đặt hàng đợi ưu tiên (Priority Queue)?
10. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
11. Thuật toán duyệt đồ thị theo chiều sâu (DFS - Depth-First Search) thường sử dụng cấu trúc dữ liệu nào để quản lý các đỉnh cần thăm?
12. Trong thuật toán sắp xếp trộn (Merge Sort), giai đoạn 'chia' (divide) thực hiện công việc gì?
13. Ứng dụng phổ biến nhất của cấu trúc dữ liệu hàng đợi (Queue) trong khoa học máy tính là gì?
14. Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong bảng băm (Hash Table) là bao nhiêu khi hàm băm phân phối đều các khóa?
15. Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp nhanh (Quick Sort) là bao nhiêu?
16. Trong cây đỏ-đen (Red-Black Tree), một tính chất quan trọng đảm bảo cây luôn cân bằng là gì?
17. Trong thuật toán tìm kiếm nhị phân (Binary Search), điều kiện tiên quyết để thuật toán hoạt động đúng là gì?
18. Trong cây AVL, yếu tố cân bằng (balance factor) của một nút được định nghĩa là gì?
19. Cấu trúc dữ liệu nào sau đây KHÔNG phải là cấu trúc dữ liệu tuyến tính?
20. Trong cấu trúc dữ liệu cây nhị phân tìm kiếm (Binary Search Tree), nút con bên trái của một nút luôn có giá trị như thế nào so với nút cha?
21. Thuật toán nào sau đây thuộc loại thuật toán tham lam (Greedy Algorithm)?
22. Độ phức tạp không gian của thuật toán sắp xếp chèn (Insertion Sort) là bao nhiêu?
23. Thuật toán Dijkstra thường được sử dụng để giải quyết bài toán nào?
24. Thuật toán nào sau đây là một ví dụ của phương pháp 'chia để trị' (Divide and Conquer)?
25. Khi nào thì việc sử dụng danh sách liên kết (Linked List) được ưu tiên hơn so với mảng (Array)?
26. Trong bảng băm (Hash Table), 'xung đột' (collision) xảy ra khi nào?
27. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình là O(n log n)?
28. Trong đồ thị vô hướng, bậc của một đỉnh được định nghĩa là gì?
29. Khi nào thì độ phức tạp thời gian trung bình của thuật toán sắp xếp nhanh (Quick Sort) có thể trở thành O(n^2)?
30. Cấu trúc dữ liệu nào sau đây phù hợp nhất để biểu diễn mối quan hệ phân cấp, ví dụ như cây thư mục trong hệ điều hành?