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

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

1. Cấu trúc dữ liệu nào sau đây phù hợp nhất để biểu diễn mối quan hệ 'cha-con' trong một gia đình hoặc tổ chức?
2. 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) và thường được sử dụng trong thực tế nhờ hiệu suất tốt?
3. Trong thuật toán Dijkstra, cấu trúc dữ liệu nào thường được sử dụng để lưu trữ tập hợp các đỉnh chưa được thăm và ưu tiên đỉnh có khoảng cách ngắn nhất?
4. Ưu điểm chính của việc sử dụng 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. Trong cấu trúc dữ liệu cây AVL, thao tác 'xoay cây' (tree rotation) được sử dụng để làm gì?
6. Trong cây đỏ-đen (Red-Black Tree), thuộc tính nào sau đây không đúng?
7. Trong thuật toán tô pô (topological sort), đồ thị đầu vào phải có tính chất gì để thuật toán có thể thực hiện được?
8. Khái niệm 'đệ quy' (Recursion) trong lập trình liên quan chặt chẽ đến cấu trúc dữ liệu nào sau đây khi thực hiện các cuộc gọi hàm?
9. Ứng dụng phổ biến của cây khung nhỏ nhất (Minimum Spanning Tree - MST) là gì?
10. Cấu trúc dữ liệu nào sau đây thường được sử dụng để quản lý bộ nhớ động (dynamic memory allocation) trong hệ điều hành?
11. Điểm khác biệt chính giữa thuật toán tham lam (Greedy algorithm) và thuật toán quy hoạch động (Dynamic Programming) là gì?
12. Giải thuật Floyd-Warshall được sử dụng để giải quyết bài toán nào?
13. Trong cấu trúc dữ liệu đồ thị (Graph), cách biểu diễn nào sau đây sử dụng ít bộ nhớ hơn khi đồ thị là đồ thị thưa (sparse graph)?
14. 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)?
15. Trong ngữ cảnh của bảng băm (Hash Table), 'xung đột' (collision) xảy ra khi nào?
16. Độ 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, giả sử hàm băm phân phối đều các khóa?
17. Phương pháp tiếp cận 'chia để trị' (Divide and Conquer) thường được sử dụng trong thuật toán nào sau đây?
18. Trong cấu trúc dữ liệu đồ thị, thuật toán Prim và Kruskal được sử dụng để giải quyết cùng một bài toán nào?
19. Thuật toán sắp xếp nào sau đây là 'ổn định' (stable sort), nghĩa là các phần tử có khóa bằng nhau giữ nguyên thứ tự tương đối ban đầu của chúng?
20. Trong thuật toán KMP (Knuth-Morris-Pratt) để tìm kiếm chuỗi con, bảng 'bảng tiền tố' (prefix table) được sử dụng để làm gì?
21. Phương pháp 'backtracking' (quay lui) thường được sử dụng để giải quyết loại bài toán nào sau đây?
22. Trong cây nhị phân tìm kiếm (BST), khi nào thao tác tìm kiếm có độ phức tạp thời gian xấu nhất là O(n)?
23. Trong thuật toán tìm kiếm theo chiều rộng (BFS), cấu trúc dữ liệu nào được sử dụng để quản lý các đỉnh cần được thăm?
24. Độ 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) trong trường hợp mảng đã được sắp xếp là bao nhiêu?
25. Khi nào thì nên sử dụng thuật toán sắp xếp chèn (Insertion Sort) thay vì các thuật toán sắp xếp phức tạp hơn như Quick Sort hay Merge Sort?
26. Cho một mảng đã sắp xếp. Thuật toán nào sau đây có thể được sử dụng để tìm kiếm một phần tử với độ phức tạp thời gian O(log n)?
27. Trong cấu trúc dữ liệu đồ thị, chu trình Euler tồn tại trong đồ thị vô hướng liên thông khi và chỉ khi điều kiện nào sau đây được thỏa mãn?
28. Trong các cấu trúc dữ liệu sau, cấu trúc nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?
29. Độ phức tạp không gian của thuật toán sắp xếp trộn (Merge Sort) là O(n), điều này chủ yếu là do đâu?
30. Ưu điểm chính của việc sử dụng cây Trie (tiền tố) là gì?