Trắc nghiệm Cấu trúc dữ liệu và giải thuật
150+ câu trắc nghiệm Cấu trúc dữ liệu và giải thuật chương 3
Lưu ý và Miễn trừ trách nhiệm:Các câu hỏi và đáp án trong các bộ trắc nghiệm này được biên soạn nhằm phục vụ mục đích tham khảo và ôn luyện kiến thức. Chúng không đại diện cho bất kỳ tài liệu, đề thi chính thức hay đề thi chứng chỉ nào từ các tổ chức giáo dục hoặc cơ quan cấp chứng chỉ chuyên môn. Admin không chịu trách nhiệm về tính chính xác tuyệt đối của nội dung hoặc bất kỳ quyết định nào của bạn được đưa ra dựa trên kết quả của các bài trắc nghiệm.
Chào mừng bạn đã đến với bộ 150+ câu trắc nghiệm Cấu trúc dữ liệu và giải thuật chương 3. Đây là nơi tổng hợp các câu hỏi trắc nghiệm giúp bạn ôn luyện và kiểm tra kiến thức. Hãy chọn một bộ câu hỏi bên dưới để bắt đầu ngay. Chúc bạn làm bài thật tốt và đạt điểm cao!
1. Trong thuật toán sắp xếp trộn (merge sort), quá trình ‘merge’ có chức năng gì?
2. Cây nào sau đây thường được sử dụng để biểu diễn các biểu thức số học?
3. Thuật toán nào sau đây thường được sử dụng để duyệt cây theo thứ tự trước (preorder traversal)?
4. Khi nào nên sử dụng thuật toán sắp xếp nhanh (quick sort) thay vì sắp xếp trộn (merge sort)?
5. 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?
6. Phương pháp nào sau đây được sử dụng để giải quyết xung đột trong bảng băm bằng cách sử dụng danh sách liên kết?
7. Độ phức tạp thời gian tốt nhất của thuật toán sắp xếp nổi bọt (bubble sort) là bao nhiêu?
8. Kỹ thuật nào sau đây giúp giảm thiểu số lượng truy cập đĩa trong các hệ thống cơ sở dữ liệu?
9. Trong cấu trúc dữ liệu, thao tác nào sau đây có độ phức tạp thời gian trung bình là O(1) trong bảng băm (hash table)?
10. 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)?
11. Trong cấu trúc dữ liệu hàng đợi (queue), thao tác nào sau đây thêm một phần tử vào cuối hàng đợi?
12. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
13. Đâu là ứng dụng phổ biến của cấu trúc dữ liệu hàng đợi (queue)?
14. Trong danh sách liên kết đôi (doubly linked list), mỗi nút chứa bao nhiêu con trỏ?
15. Ưu điểm chính của việc sử dụng cây tìm kiếm nhị phân tự cân bằng (self-balancing binary search tree) so với cây tìm kiếm nhị phân thông thường là gì?
16. Trong cấu trúc dữ liệu đồ thị, một đồ thị liên thông mạnh (strongly connected graph) là gì?
17. Trong bảng băm (hash table), ‘collision’ xảy ra khi nào?
18. Độ 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?
19. Thuật toán nào sau đây có độ phức tạp thời gian trung bình tốt nhất để tìm kiếm trong một mảng chưa được sắp xếp?
20. Trong cấu trúc dữ liệu đồ thị, thuật toán nào sau đây được sử dụng để tìm đường đi ngắn nhất giữa hai đỉnh?
21. Thuật toán sắp xếp nào sau đây là một thuật toán sắp xếp ổn định (stable sorting algorithm)?
22. Trong cây tìm kiếm nhị phân (binary search tree), điều kiện nào sau đây phải luôn đúng?
23. Trong cấu trúc dữ liệu đồ thị, một chu trình (cycle) là gì?
24. Phương pháp giải quyết xung đột nào sau đây thường được sử dụng trong bảng băm (hash table)?
25. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một dấu ngoặc trong một biểu thức toán học có hợp lệ hay không?
26. Trong thuật toán tìm kiếm nhị phân (binary search), dữ liệu cần phải đáp ứng điều kiện gì?
27. Cây nào sau đây đảm bảo độ cao của cây luôn là O(log n), với n là số lượng nút?
28. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trường hợp xấu nhất là O(n^2)?
29. Khi nào nên sử dụng danh sách liên kết đơn (singly linked list) thay vì mảng (array)?
30. Cấu trúc dữ liệu nào sau đây cho phép truy cập các phần tử theo thứ tự FIFO (First In, First Out)?
31. Trong thuật toán tìm kiếm nhị phân, điều kiện tiên quyết nào phải được đáp ứng để thuật toán hoạt động chính xác?
32. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai thuật toán tìm kiếm theo chiều sâu (DFS) trong đồ thị?
33. Trong cấu trúc dữ liệu cây, thuật ngữ ‘chiều cao’ của một cây được định nghĩa là gì?
34. Cây nào sau đây tự cân bằng sau mỗi thao tác chèn hoặc xóa để đảm bảo độ phức tạp thời gian tìm kiếm là O(log n)?
35. Ưu điểm chính của việc sử dụng bảng băm (hash table) so với cây tìm kiếm là gì?
36. Thuật toán nào sau đây thường được sử dụng để duyệt cây theo chiều rộng?
37. Độ phức tạp thời gian của thuật toán sắp xếp trộn (merge sort) là gì?
38. Trong cấu trúc dữ liệu đồ thị, thuật ngữ nào mô tả một đường đi từ một đỉnh đến chính nó?
39. Sự khác biệt chính giữa cây tìm kiếm nhị phân (BST) và cây AVL là gì?
40. Thuật toán nào sau đây có thể được sử dụng để phát hiện chu trình trong một đồ thị có hướng?
41. Trong cây tìm kiếm nhị phân, thao tác nào sau đây không bảo toàn tính chất của cây tìm kiếm nhị phân?
42. Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong danh sách liên kết là gì?
43. Thao tác nào sau đây được sử dụng để loại bỏ một phần tử khỏi đầu của hàng đợi?
44. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
45. Thuật toán nào sau đây được sử dụng để tìm cây khung nhỏ nhất (minimum spanning tree) trong một đồ thị có trọng số?
46. Trong cây tìm kiếm nhị phân, thao tác nào sau đây được sử dụng để duy trì tính chất cân bằng của cây sau khi chèn hoặc xóa một nút?
47. Cấu trúc dữ liệu nào thường được sử dụng để triển khai hàng đợi ưu tiên?
48. Trong cây tìm kiếm nhị phân, thứ tự duyệt nào sau đây in ra các nút theo thứ tự tăng dần?
49. Trong cấu trúc dữ liệu đồ thị, một đồ thị được gọi là ‘liên thông’ nếu điều gì sau đây đúng?
50. Độ phức tạp thời gian trung bình để chèn một phần tử vào bảng băm (hash table) là gì, giả sử hàm băm phân phối đều các khóa?
51. Trong cấu trúc dữ liệu cây, thuật ngữ nào mô tả một nút không có nút con?
52. Thuật toán nào sau đây được sử dụng để tìm đường đi ngắn nhất từ một đỉnh nguồn đến tất cả các đỉnh khác trong một đồ thị có trọng số không âm?
53. Độ phức tạp thời gian tốt nhất để tìm kiếm một phần tử trong cây tìm kiếm nhị phân cân bằng là gì?
54. Thao tác nào sau đây được sử dụng để thêm một phần tử vào đỉnh của ngăn xếp?
55. Kiểu dữ liệu trừu tượng (ADT) nào mô tả một cấu trúc dữ liệu có thể truy cập các phần tử theo thứ tự bất kỳ?
56. Ư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ì?
57. Phương pháp giải quyết xung đột nào trong bảng băm sử dụng danh sách liên kết để lưu trữ các khóa có cùng giá trị băm?
58. Cấu trúc dữ liệu nào sau đây là một dạng đặc biệt của cây, trong đó mỗi nút cha có tối đa hai nút con?
59. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất là O(n)?
60. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc FIFO (First In, First Out)?
61. Cấu trúc dữ liệu nào sau đây lưu trữ các phần tử theo thứ tự mà chúng được thêm vào?
62. Trong cây nhị phân, nút nào không có nút con được gọi là gì?
63. Trong cấu trúc dữ liệu đồ thị, điều gì biểu thị một cạnh (edge)?
64. Trong thuật toán Quick Sort, phần tử nào được sử dụng để phân vùng mảng?
65. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai chức năng ‘undo’ trong các ứng dụng?
66. Khi nào thì nên sử dụng danh sách liên kết thay vì mảng?
67. Cấu trúc dữ liệu nào sau đây cho phép truy cập ngẫu nhiên đến các phần tử?
68. Hoạt động nào sau đây KHÔNG phải là hoạt động cơ bản trên một ngăn xếp (stack)?
69. Cây nào sau đây đảm bảo rằng độ cao của cây luôn là O(log n), với n là số lượng nút?
70. Trong cây nhị phân tìm kiếm, thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n), với n là số lượng nút trong cây?
71. Cây nào sau đây thường được sử dụng để triển khai hàng đợi ưu tiên (priority queue)?
72. Giải thuật sắp xếp nào sau đây có độ phức tạp thời gian trung bình tốt nhất?
73. Cấu trúc dữ liệu nào sau đây tuân theo nguyên tắc LIFO (Last In, First Out)?
74. Trong cây nhị phân tìm kiếm, thao tác nào sau đây có độ phức tạp thời gian là O(n) trong trường hợp xấu nhất, với n là số lượng nút trong cây?
75. Giải thuật tìm kiếm nào sau đây yêu cầu dữ liệu phải được sắp xếp trước?
76. Trong cấu trúc dữ liệu đồ thị, ma trận kề (adjacency matrix) được sử dụng để biểu diễn điều gì?
77. Giải thuật sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất trong trường hợp đã được sắp xếp một phần?
78. Cấu trúc dữ liệu nào sau đây được sử dụng để triển khai thuật toán tìm kiếm theo chiều rộng (BFS)?
79. Giải thuật nào sau đây thuộc loại ‘chia để trị’ (divide and conquer)?
80. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai hàng đợi (queue)?
81. Thuật toán nào sau đây có thể được sử dụng để phát hiện chu trình trong đồ thị?
82. Độ phức tạp không gian của thuật toán Merge Sort là bao nhiêu?
83. Độ phức tạp thời gian của thao tác tìm kiếm trong bảng băm (hash table) tốt nhất là bao nhiêu?
84. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một dấu ngoặc đơn có khớp với dấu ngoặc kép hay không?
85. Thuật toán nào sau đây được sử dụng để tìm đường đi ngắn nhất giữa hai nút trong một đồ thị có trọng số dương?
86. Độ phức tạp thời gian của thuật toán Bubble Sort trong trường hợp xấu nhất là bao nhiêu?
87. Điều gì xảy ra khi bạn cố gắng lấy một phần tử từ một ngăn xếp (stack) rỗng?
88. Ưu điểm chính của việc sử dụng bảng băm (hash table) là gì?
89. Phương pháp nào sau đây được sử dụng để giải quyết xung đột trong bảng băm?
90. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất trong trường hợp xấu nhất?
91. Thuật toán nào sau đây được sử dụng để tìm cây khung nhỏ nhất (Minimum Spanning Tree) trong một đồ thị?
92. Khi nào thì nên sử dụng thuật toán tìm kiếm nhị phân (Binary Search)?
93. Ưu điểm chính của việc sử dụng bảng băm (Hash Table) là gì?
94. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất là O(n)?
95. Cấu trúc dữ liệu nào phù hợp nhất để biểu diễn mối quan hệ ‘cha-con’ trong một tổ chức?
96. Trong bảng băm, điều gì xảy ra khi có quá nhiều xung đột?
97. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một dấu ngoặc có hợp lệ hay không?
98. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai bộ nhớ cache?
99. Giải thuật nào sau đây là giải thuật chia để trị (Divide and Conquer)?
100. Độ 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) là bao nhiêu?
101. Trong cấu trúc dữ liệu đồ thị (Graph), thuật toán nào được sử dụng để tìm đường đi ngắn nhất từ một đỉnh đến tất cả các đỉnh còn lại?
102. Trong cấu trúc dữ liệu đồ thị, điều gì xảy ra khi thuật toán DFS (Depth-First Search) thăm một đỉnh đã được thăm trước đó?
103. Heap là một dạng đặc biệt của cây gì?
104. Cây nào sau đây đảm bảo rằng chiều cao của cây luôn là O(log n), với n là số lượng nút?
105. Trong cấu trúc dữ liệu hàng đợi (Queue), thao tác nào được sử dụng để thêm một phần tử vào cuối hàng đợi?
106. Trong cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào cho phép duyệt qua tất cả các nút theo thứ tự tăng dần?
107. Độ phức tạp không gian của thuật toán Merge Sort là bao nhiêu?
108. Trong cấu trúc dữ liệu ngăn xếp (stack), thao tác nào dùng để loại bỏ một phần tử khỏi đỉnh ngăn xếp?
109. Giải thuật nào sau đây thường được sử dụng để tìm kiếm đường đi trong một mê cung?
110. Ư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ì?
111. Cây đỏ đen (Red-Black Tree) là một dạng của cây nào?
112. Trong thuật toán Quick Sort, yếu tố nào ảnh hưởng lớn nhất đến hiệu suất của thuật toán?
113. Độ phức tạp thời gian của thao tác tìm kiếm trong cây nhị phân tìm kiếm cân bằng (Balanced Binary Search Tree) là bao nhiêu?
114. Thuật toán sắp xếp nào sau đây là ổn định (stable)?
115. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trong trường hợp xấu nhất là O(n^2)?
116. Trong cấu trúc dữ liệu đồ thị, ma trận kề (Adjacency Matrix) được sử dụng để biểu diễn điều gì?
117. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc FIFO (First In, First Out)?
118. Thuật toán sắp xếp nào có độ phức tạp trung bình là O(n log n)?
119. Trong bảng băm (Hash Table), kỹ thuật nào được sử dụng để giải quyết xung đột (collision)?
120. Cấu trúc dữ liệu nào sau đây có thể được sử dụng để triển khai thuật toán BFS (Breadth-First Search)?
121. Trong cây tìm kiếm nhị phân, thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n)?
122. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một dấu ngoặc (ví dụ: ‘(‘, ‘[‘, ‘{‘) đã được đóng đúng cách hay chưa?
123. Độ phức tạp thời gian của thao tác tìm kiếm trong bảng băm (hash table) trong trường hợp tốt nhất là gì?
124. Trong cây, chiều cao của một nút được định nghĩa là gì?
125. 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?
126. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai thuật toán tìm kiếm theo chiều rộng (Breadth-First Search)?
127. Cây nào sau đây đảm bảo rằng độ cao của cây luôn là O(log n), với n là số lượng nút?
128. Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai thuật toán tìm kiếm theo chiều sâu (Depth-First Search)?
129. Trong cây tìm kiếm nhị phân, duyệt cây theo thứ tự giữa (inorder traversal) có nghĩa là gì?
130. Trong cây, một nút lá (leaf node) là gì?
131. Ưu điểm của việc sử dụng bảng băm (hash table) so với cây tìm kiếm nhị phân là gì?
132. Thuật toán nào sau đây được sử dụng để tìm cây khung nhỏ nhất (minimum spanning tree) của một đồ thị?
133. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian ổn định (stable)?
134. Độ phức tạp thời gian để tìm phần tử nhỏ nhất trong một heap (min-heap) là gì?
135. Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai chức năng ‘undo’ trong một trình soạn thảo văn bản?
136. Độ phức tạp thời gian của thao tác xóa (deletion) trong cây tìm kiếm nhị phân là gì?
137. Trong đồ thị có hướng, một thành phần liên thông mạnh (strongly connected component) là gì?
138. Cấu trúc dữ liệu nào sau đây cho phép truy cập phần tử đầu tiên và cuối cùng trong thời gian O(1)?
139. Ư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ì?
140. Trong thuật toán Dijkstra, mục đích chính là gì?
141. Độ phức tạp thời gian của thuật toán tìm kiếm tuyến tính (linear search) trong trường hợp xấu nhất là gì?
142. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất trong trường hợp đã gần sắp xếp?
143. Độ phức tạp thời gian của thao tác chèn (insertion) trong danh sách liên kết đơn là gì?
144. 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?
145. Trong một đồ thị vô hướng, bậc của một đỉnh là gì?
146. Thuật toán nào sau đây là một ví dụ về thuật toán chia để trị?
147. Thuật toán nào sau đây là một ví dụ về thuật toán tham lam (greedy algorithm)?
148. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
149. Trong đồ thị, một chu trình Euler là gì?
150. Thuật toán nào sau đây được sử dụng để tìm tất cả các cặp đường đi ngắn nhất trong một đồ thị có trọng số?
