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 2
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 2. Đâ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. Độ phức tạp thời gian của thao tác tìm kiếm 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?
2. 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 (priority queue)?
3. 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)?
4. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai thuật toán duyệt đồ thị theo chiều rộng (Breadth-First Search)?
5. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai thuật toán duyệt đồ thị theo chiều sâu (Depth-First Search)?
6. 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)?
7. Độ phức tạp không gian của thuật toán Merge Sort là bao nhiêu?
8. Thuật toán nào sau đây có thể được sử dụng để phát hiện chu trình trong đồ thị?
9. Thuật toán sắp xếp nào sau đây hoạt động bằng cách chia mảng thành các đoạn con, sắp xếp các đoạn con này, sau đó hợp nhất chúng lại?
10. Độ phức tạp thời gian của thao tác xóa một phần tử ở cuối danh sách liên kết đôi (doubly linked list) là bao nhiêu?
11. Cấu trúc dữ liệu nào sau đây cho phép truy cập các phần tử theo chỉ số (index) với độ phức tạp thời gian O(1)?
12. Độ phức tạp thời gian để chèn một nút vào cây nhị phân tìm kiếm cân bằng (ví dụ: AVL tree, Red-Black tree) là bao nhiêu?
13. Trong cấu trúc dữ liệu cây (tree), thuật ngữ nào sau đây dùng để chỉ một nút không có nút con?
14. Độ phức tạp thời gian của thao tác lấy phần tử đầu tiên ra khỏi hàng đợi (dequeue) được triển khai bằng danh sách liên kết là bao nhiêu?
15. Thuật toán sắp xếp nào sau đây hoạt động bằng cách lặp đi lặp lại việc tìm phần tử nhỏ nhất từ phần chưa được sắp xếp và đặt nó vào vị trí đúng?
16. Ư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ì?
17. Trong thuật toán tìm kiếm nhị phân, điều kiện tiên quyết để thuật toán hoạt động đúng là gì?
18. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
19. Trong cây nhị phân tìm kiếm (Binary Search Tree), tính chất nào sau đây luôn đúng?
20. Trong cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n)?
21. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian xấu nhất là O(n^2)?
22. Khi nào nên sử dụng danh sách liên kết thay vì mảng?
23. Ưu điểm của việc sử dụng bảng băm (hash table) là gì?
24. Trong thuật toán Quick Sort, thao tác nào sau đây được sử dụng để chia mảng thành hai phần?
25. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một biểu thức toán học có cân bằng dấu ngoặc hay không?
26. Độ 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?
27. Trong cấu trúc dữ liệu đồ thị (graph), thuật toán nào sau đây được sử dụng để tìm đường đi ngắn nhất giữa hai đỉnh?
28. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai hàng đợi (queue)?
29. Trong cây, độ cao của một nút được định nghĩa như thế nào?
30. Độ phức tạp thời gian của thao tác tìm kiếm trong danh sách liên kết đơn (singly linked list) là bao nhiêu?
31. Trong thuật toán tìm kiếm theo chiều sâu (Depth-First Search), cấu trúc dữ liệu nào thường được sử dụng để theo dõi các đỉnh đã được ghé thăm?
32. 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?
33. 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 là O(h), với h là chiều cao của cây?
34. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
35. Trong cấu trúc dữ liệu cây, nút nào không có nút con được gọi là gì?
36. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để biểu diễn một hàng đợi ưu tiên?
37. Độ phức tạp thời gian tốt nhất của thuật toán Insertion Sort (Sắp xếp chèn) là bao nhiêu?
38. Trong một cây nhị phân tìm kiếm, mối quan hệ giữa một nút và các nút con bên trái của nó là gì?
39. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian xấu nhất là O(n^2)?
40. Ư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ì?
41. Khi nào nên sử dụng thuật toán tìm kiếm tuyến tính (Linear Search) thay vì tìm kiếm nhị phân (Binary Search)?
42. 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) trong đồ thị?
43. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để kiểm tra xem một chuỗi có phải là palindrome (chuỗi đối xứng) hay không?
44. 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)?
45. 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ử?
46. Khi nào thì việc sử dụng bảng băm (hash table) là lựa chọn tốt nhất?
47. Độ phức tạp thời gian của thao tác tìm kiếm 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?
48. Độ phức tạp thời gian để truy cập phần tử ở vị trí thứ i trong một mảng là gì?
49. Ưu điểm chính 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ì?
50. Thuật toán nào sau đây sử dụng phương pháp ‘chia để trị’ để sắp xếp?
51. Trong đồ thị, một chu trình (cycle) là gì?
52. Trong cây nhị phân, chiều cao của cây được định nghĩa như thế nào?
53. Trong biểu đồ, một thành phần liên thông mạnh (strongly connected component) là gì?
54. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc FIFO (First In, First Out)?
55. Nhược đ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ì?
56. Trong cây, bậc của một nút là gì?
57. Thuật toán sắp xếp nào sau đây ổn định (stable)?
58. Độ 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?
59. Thuật toán nào sau đây là một thuật toán chia để trị?
60. Trong thuật toán Quick Sort, thao tác nào sau đây được thực hiện đầu tiên?
61. Trong cây, một nút lá (leaf node) là gì?
62. Thuật toán nào sau đây là một ví dụ về chiến lược ‘chia để trị’?
63. Độ phức tạp thời gian tốt nhất của thuật toán sắp xếp chèn (Insertion Sort) là bao nhiêu?
64. 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 tốt nhất là O(1)?
65. Điều gì xảy ra nếu bạn cố gắng lấy một phần tử từ một ngăn xếp (stack) trống?
66. Độ phức tạp thời gian để chèn một phần tử vào hàng đợi (queue) sử dụng mảng là bao nhiêu?
67. Khi nào thì nên sử dụng sắp xếp chèn (Insertion Sort) thay vì sắp xếp nhanh (Quick Sort)?
68. Phương pháp nào sau đây được sử dụng để tìm chu trình Euler trong một đồ thị?
69. 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ử?
70. Cấu trúc dữ liệu nào sau đây thích hợp nhất để biểu diễn hàng đợi ưu tiên?
71. Thuật toán nào sau đây thường được sử dụng để tìm đường đi ngắn nhất giữa hai đỉnh trong một đồ thị có trọng số không âm?
72. Trong cây nhị phân tìm kiếm, thứ tự duyệt nào sau đây in ra các nút theo thứ tự tăng dần?
73. 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?
74. Cây nào sau đây đảm bảo độ phức tạp O(log n) cho các thao tác tìm kiếm, chèn và xóa trong trường hợp xấu nhất?
75. 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?
76. Thuật toán nào sau đây được sử dụng để tìm cây bao trùm tối thiểu (minimum spanning tree) trong một đồ thị?
77. 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)?
78. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
79. Thao tác nào sau đây không thể thực hiện trong thời gian O(1) trên một danh sách liên kết đơn?
80. Ư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ì?
81. Thuật toán nào sau đây có độ phức tạp thời gian xấu nhất là O(n^2)?
82. Cấu trúc dữ liệu nào sau đây được sử dụng để thực hiện tìm kiếm theo chiều sâu (DFS) trong một đồ thị?
83. Độ phức tạp không gian của thuật toán sắp xếp trộn (Merge Sort) là bao nhiêu?
84. Độ phức tạp thời gian của thao tác tìm kiếm 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?
85. 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ó được đóng đúng cách hay không?
86. Độ phức tạp không gian của thuật toán sắp xếp nổi bọt (Bubble Sort) là bao nhiêu?
87. Trong đồ thị, một chu trình Euler là gì?
88. Phương pháp nào sau đây được sử dụng để chuyển đổi một biểu thức trung tố (infix) thành biểu thức hậu tố (postfix)?
89. Trong cây nhị phân, chiều cao của cây được định nghĩa là gì?
90. Trong bảng băm, kích thước bảng nên là một số nguyên tố vì lý do gì?
91. Độ 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?
92. Cấu trúc dữ liệu nào sau đây thích hợp nhất để biểu diễn mối quan hệ cha-con trong một tổ chức?
93. Thuật toán nào sau đây được sử dụng để nén dữ liệu không mất mát?
94. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai thuật toán Dijkstra tìm đường đi ngắn nhất?
95. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
96. Thuật toán sắp xếp nào sau đây hoạt động bằng cách liên tục tìm phần tử nhỏ nhất từ phần chưa sắp xếp và đưa nó về đầu?
97. Thao tác nào sau đây không phải là thao tác cơ bản trên một hàng đợi (Queue)?
98. 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)?
99. 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?
100. Trong thuật toán tìm kiếm theo chiều sâu (Depth-First Search), cấu trúc dữ liệu nào thường được sử dụng để lưu trữ các nút sẽ được duyệt?
101. Trong cây nhị phân tìm kiếm (Binary Search Tree), thứ tự duyệt nào sau đây sẽ cho ra một dãy các nút đã được sắp xếp tăng dần?
102. Ưu điểm chính của danh sách liên kết (Linked List) so với mảng (Array) là gì?
103. Trong bảng băm (hash table), điều gì xảy ra khi hai khóa khác nhau băm (hash) đến cùng một vị trí?
104. Độ phức tạp thời gian của thao tác tìm kiếm 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?
105. Thuật toán sắp xếp nào sau đây là một thuật toán sắp xếp tại chỗ (in-place sorting algorithm)?
106. Thuật toán nào sau đây thường được sử dụng để tìm chu trình Euler trong một đồ thị?
107. Trong một danh sách liên kết đôi (doubly linked list), bạn có thể duyệt danh sách theo hướng nào?
108. Loại cây nào sau đây được sử dụng để biểu diễn các biểu thức số học?
109. Trong thuật toán sắp xếp Bubble Sort, sau mỗi lần lặp, phần tử nào được đặt đúng vị trí cuối cùng?
110. Đ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) trống?
111. Độ phức tạp thời gian tốt nhất của thuật toán sắp xếp chèn (Insertion Sort) là bao nhiêu?
112. Độ phức tạp thời gian để tìm phần tử lớn nhất trong một cây nhị phân tìm kiếm (Binary Search Tree) là bao nhiêu?
113. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất, trung bình và xấu nhất đều là O(n log n)?
114. Ưu điểm chính của thuật toán Merge Sort so với Quick Sort là gì?
115. Trong thuật toán tìm kiếm theo chiều rộng (Breadth-First Search), cấu trúc dữ liệu nào sau đây được sử dụng?
116. 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ử?
117. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để thực hiện một bộ nhớ cache (cache memory)?
118. 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ị?
119. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai undo/redo functionality trong các ứng dụng?
120. Trong cây nhị phân, một nút được coi là lá (leaf) nếu nó có bao nhiêu nút con?
121. Thuật toán sắp xếp nào sau đây hoạt động bằng cách chia mảng thành các mảng con, sắp xếp chúng, và sau đó trộn chúng lại?
122. Thuật toán nào sau đây thường được sử dụng để tìm kiếm đường đi ngắn nhất giữa hai đỉnh trong một đồ thị có trọng số âm?
123. Độ phức tạp thời gian xấu nhất của thuật toán sắp xếp nhanh (quick sort) là bao nhiêu?
124. Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai thuật toán Dijkstra tìm đường đi ngắn nhất trong đồ thị?
125. Độ phức tạp không gian của thuật toán sắp xếp trộn (merge sort) là bao nhiêu?
126. Trong danh sách liên kết (linked list), con trỏ (pointer) được sử dụng để làm gì?
127. Trong thuật toán tìm kiếm theo chiều sâu (depth-first search), cấu trúc dữ liệu nào thường được sử dụng để lưu trữ các đỉnh sẽ được thăm?
128. 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)?
129. Thuật toán tìm kiếm nào sau đây yêu cầu dữ liệu phải được sắp xếp trước?
130. 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ó được đóng đúng cách trong một biểu thức toán học hay không?
131. Trong cấu trúc dữ liệu đồ thị (graph), một chu trình (cycle) là gì?
132. Độ phức tạp thời gian tốt nhất để 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 (binary search) là bao nhiêu?
133. Độ phức tạp thời gian trung bình của thao tác tìm kiếm trong bảng băm (hash table) là bao nhiêu?
134. Thuật toán sắp xếp nào sau đây có hiệu suất tốt nhất trên một mảng đã gần như được sắp xếp?
135. Thao tác nào sau đây có độ phức tạp thời gian O(1) trong hàng đợi (queue) được cài đặt bằng mảng vòng?
136. Độ phức tạp không gian của thuật toán tìm kiếm theo chiều rộng (BFS) trong trường hợp xấu nhất là bao nhiêu?
137. Trong cây nhị phân hoàn chỉnh (complete binary tree), số lượng nút ở mức ‘k’ là bao nhiêu?
138. Thao tác nào sau đây không phải là một thao tác cơ bản trên ngăn xếp (stack)?
139. Trong cây nhị phân tìm kiếm (binary search tree), thuộc tính nào sau đây luôn đúng?
140. Cấu trúc dữ liệu nào sau đây tuân theo nguyên tắc LIFO (Last-In, First-Out)?
141. Trong cây nhị phân (binary tree), mức của một nút được định nghĩa như thế nào?
142. Trong các cấu trúc dữ liệu sau, cấu trúc nào thường được sử dụng để cài đặt hàng đợi (queue)?
143. Cấu trúc dữ liệu nào sau đây thường được sử dụng để biểu diễn mối quan hệ ‘cha-con’ trong hệ thống phân cấp?
144. Trong cây, nút nào được gọi là lá (leaf)?
145. Cấu trúc dữ liệu nào sau đây sử dụng bộ nhớ không liền kề để lưu trữ các phần tử?
146. Trong cấu trúc dữ liệu cây (tree), nút gốc (root node) là gì?
147. 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)?
148. Trong thuật toán tìm kiếm theo chiều rộng (breadth-first search), cấu trúc dữ liệu nào được sử dụng để lưu trữ các nút sẽ được duyệt?
149. Phương pháp nào sau đây được sử dụng để giải quyết xung đột trong bảng băm (hash table)?
150. Trong cây nhị phân tìm kiếm (binary search tree), thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n)?
