Đề 5 – Đề thi, câu hỏi trắc nghiệm online Cấu trúc dữ liệu và giải thuật

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Cấu trúc dữ liệu và giải thuật

Đề 5 - Đề thi, câu hỏi trắc nghiệm online Cấu trúc dữ liệu và giải thuật

1. Trong thuật toán KMP (Knuth-Morris-Pratt), bảng tiền xử lý (prefix table) được sử dụng để làm gì?

A. Để lưu trữ các ký tự của mẫu
B. Để lưu trữ vị trí của các ký tự trong văn bản
C. Để tránh so sánh lại các ký tự đã khớp khi có sự không khớp
D. Để sắp xếp các ký tự của mẫu

2. 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 thời gian O(1)?

A. Mảng
B. Danh sách liên kết đơn
C. Danh sách liên kết kép
D. Hàng đợi

3. Hash table giải quyết xung đột (collision) bằng phương pháp nào sau đây?

A. Sắp xếp lại các phần tử
B. Xóa các phần tử trùng lặp
C. Sử dụng hàm băm khác
D. Chaining hoặc Open Addressing

4. Cấu trúc dữ liệu nào sau đây sử dụng con trỏ để liên kết các phần tử?

A. Array
B. Stack
C. Linked List
D. Queue

5. Giải thuật Bellman-Ford được sử dụng để giải quyết vấn đề nào?

A. Tìm đường đi ngắn nhất giữa hai nút trong đồ thị có cạnh âm
B. Tìm cây khung nhỏ nhất
C. Sắp xếp một mảng
D. Tìm luồng cực đại trong mạng

6. Thuật toán Kruskal được sử dụng để giải quyết vấn đề nào?

A. Tìm đường đi ngắn nhất giữa hai nút
B. Tìm cây khung nhỏ nhất (Minimum Spanning Tree)
C. Sắp xếp một mảng
D. Tìm luồng cực đại trong mạng

7. Ư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ì?

A. Truy cập ngẫu nhiên nhanh hơn
B. Sử dụng bộ nhớ hiệu quả hơn khi kích thước không xác định trước
C. Tìm kiếm nhanh hơn
D. Dễ dàng sắp xếp hơn

8. Trong cây quyết định (Decision Tree), mục đích của việc tỉa cây (pruning) là gì?

A. Tăng độ chính xác của cây
B. Giảm kích thước của cây và tránh overfitting
C. Tăng độ phức tạp của cây
D. Cân bằng cây

9. Độ phức tạp thời gian tốt nhất của thuật toán Insertion Sort là bao nhiêu?

A. O(n)
B. O(log n)
C. O(n log n)
D. O(n^2)

10. Cấu trúc dữ liệu nào thường được sử dụng để triển khai hàng đợi ưu tiên (Priority Queue)?

A. Stack
B. Queue
C. Heap
D. Linked List

11. Độ phức tạp thời gian trung bình của thuật toán Bubble Sort là bao nhiêu?

A. O(n)
B. O(log n)
C. O(n log n)
D. O(n^2)

12. Độ phức tạp thời gian xấu nhất của thuật toán Quick Sort là bao nhiêu?

A. O(n)
B. O(log n)
C. O(n log n)
D. O(n^2)

13. Cấu trúc dữ liệu Trie được sử dụng để làm gì?

A. Sắp xếp dữ liệu
B. Lưu trữ và tìm kiếm chuỗi
C. Lưu trữ số nguyên
D. Lưu trữ đồ thị

14. Thuật toán Prim được sử dụng để giải quyết vấn đề nào?

A. Tìm đường đi ngắn nhất giữa hai nút
B. Tìm cây khung nhỏ nhất (Minimum Spanning Tree)
C. Sắp xếp một mảng
D. Tìm luồng cực đại trong mạng

15. Độ 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) là bao nhiêu?

A. O(n)
B. O(log n)
C. O(1)
D. O(n^2)

16. Cấu trúc dữ liệu nào sau đây thích hợp nhất để kiểm tra xem một dấu ngoặc đóng có khớp với dấu ngoặc mở tương ứng hay không?

A. Queue
B. Stack
C. Linked List
D. Tree

17. Kỹ thuật quay lui (Backtracking) thường được sử dụng để giải quyết các bài toán nào?

A. Bài toán tìm kiếm đường đi ngắn nhất
B. Bài toán tối ưu hóa
C. Bài toán liệt kê tất cả các cấu hình thỏa mãn điều kiện
D. Bài toán sắp xếp

18. Trong đồ thị, chu trình Euler là gì?

A. Đường đi ngắn nhất giữa hai đỉnh
B. Đường đi thăm tất cả các đỉnh đúng một lần
C. Đường đi thăm tất cả các cạnh đúng một lần và quay lại đỉnh bắt đầu
D. Đường đi không có cạnh lặp lại

19. Trong thuật toán Ford-Fulkerson, mục tiêu chính là gì?

A. Tìm đường đi ngắn nhất
B. Tìm cây khung nhỏ nhất
C. Tìm luồng cực đại trong mạng
D. Sắp xếp các nút

20. Điểm khác biệt chính giữa Breadth-First Search (BFS) và Depth-First Search (DFS) là gì?

A. BFS sử dụng stack, DFS sử dụng queue
B. BFS duyệt theo chiều rộng, DFS duyệt theo chiều sâu
C. BFS nhanh hơn DFS
D. DFS luôn tìm thấy đường đi ngắn nhất

21. Cây tìm kiếm nhị phân (Binary Search Tree) có tính chất nào sau đây?

A. Tất cả các nút bên trái lớn hơn nút gốc
B. Tất cả các nút bên phải nhỏ hơn nút gốc
C. Nút gốc lớn hơn tất cả các nút con
D. Tất cả các nút bên trái nhỏ hơn nút gốc và tất cả các nút bên phải lớn hơn nút gốc

22. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?

A. Queue
B. Stack
C. Linked List
D. Tree

23. Thuật toán sắp xếp nào có độ phức tạp thời gian trung bình là O(n log n)?

A. Bubble Sort
B. Insertion Sort
C. Merge Sort
D. Selection Sort

24. Trong thuật toán Dijkstra, cấu trúc dữ liệu nào thường được sử dụng để lưu trữ khoảng cách từ nút nguồn đến các nút khác?

A. Stack
B. Queue
C. Priority Queue
D. Linked List

25. Thuật toán nào sau đây là một thuật toán chia để trị (Divide and Conquer)?

A. Insertion Sort
B. Bubble Sort
C. Merge Sort
D. Selection Sort

26. Phương pháp tiếp cận `tham lam` (Greedy) thường được sử dụng trong các bài toán nào?

A. Tìm kiếm đường đi ngắn nhất
B. Tối ưu hóa cục bộ với hy vọng đạt được tối ưu toàn cục
C. Sắp xếp dữ liệu
D. Tìm kiếm trong cây

27. Thuật toán Floyd-Warshall được sử dụng để giải quyết vấn đề nào?

A. Tìm đường đi ngắn nhất giữa hai nút
B. Tìm cây khung nhỏ nhất
C. Tìm đường đi ngắn nhất giữa tất cả các cặp nút
D. Sắp xếp một mảng

28. Cây nào sau đây đảm bảo thời gian tìm kiếm, chèn và xóa O(log n) trong trường hợp xấu nhất?

A. Binary Search Tree
B. AVL Tree
C. Complete Binary Tree
D. Binary Tree

29. Trong lập trình động (Dynamic Programming), kỹ thuật memoization dùng để làm gì?

A. Tối ưu hóa việc sử dụng bộ nhớ
B. Lưu trữ kết quả của các bài toán con đã giải để tránh tính toán lại
C. Chia bài toán thành các bài toán con nhỏ hơn
D. Sắp xếp dữ liệu đầu vào

30. Trong cây đỏ đen (Red-Black Tree), mục đích của việc sử dụng màu đỏ và đen cho các nút là gì?

A. Để dễ dàng phân biệt các nút
B. Để đảm bảo cây luôn cân bằng
C. Để tăng tốc độ tìm kiếm
D. Để giảm dung lượng bộ nhớ

1 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

1. Trong thuật toán KMP (Knuth-Morris-Pratt), bảng tiền xử lý (prefix table) được sử dụng để làm gì?

2 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

2. 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 thời gian O(1)?

3 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

3. Hash table giải quyết xung đột (collision) bằng phương pháp nào sau đây?

4 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

4. Cấu trúc dữ liệu nào sau đây sử dụng con trỏ để liên kết các phần tử?

5 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

5. Giải thuật Bellman-Ford được sử dụng để giải quyết vấn đề nào?

6 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

6. Thuật toán Kruskal được sử dụng để giải quyết vấn đề nào?

7 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

7. Ư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ì?

8 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

8. Trong cây quyết định (Decision Tree), mục đích của việc tỉa cây (pruning) là gì?

9 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

9. Độ phức tạp thời gian tốt nhất của thuật toán Insertion Sort là bao nhiêu?

10 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

10. Cấu trúc dữ liệu nào thường được sử dụng để triển khai hàng đợi ưu tiên (Priority Queue)?

11 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

11. Độ phức tạp thời gian trung bình của thuật toán Bubble Sort là bao nhiêu?

12 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

12. Độ phức tạp thời gian xấu nhất của thuật toán Quick Sort là bao nhiêu?

13 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

13. Cấu trúc dữ liệu Trie được sử dụng để làm gì?

14 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

14. Thuật toán Prim được sử dụng để giải quyết vấn đề nào?

15 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

15. Độ 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) là bao nhiêu?

16 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

16. Cấu trúc dữ liệu nào sau đây thích hợp nhất để kiểm tra xem một dấu ngoặc đóng có khớp với dấu ngoặc mở tương ứng hay không?

17 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

17. Kỹ thuật quay lui (Backtracking) thường được sử dụng để giải quyết các bài toán nào?

18 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

18. Trong đồ thị, chu trình Euler là gì?

19 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

19. Trong thuật toán Ford-Fulkerson, mục tiêu chính là gì?

20 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

20. Điểm khác biệt chính giữa Breadth-First Search (BFS) và Depth-First Search (DFS) là gì?

21 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

21. Cây tìm kiếm nhị phân (Binary Search Tree) có tính chất nào sau đây?

22 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

22. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?

23 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

23. Thuật toán sắp xếp nào có độ phức tạp thời gian trung bình là O(n log n)?

24 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

24. Trong thuật toán Dijkstra, cấu trúc dữ liệu nào thường được sử dụng để lưu trữ khoảng cách từ nút nguồn đến các nút khác?

25 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

25. Thuật toán nào sau đây là một thuật toán chia để trị (Divide and Conquer)?

26 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

26. Phương pháp tiếp cận 'tham lam' (Greedy) thường được sử dụng trong các bài toán nào?

27 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

27. Thuật toán Floyd-Warshall được sử dụng để giải quyết vấn đề nào?

28 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

28. Cây nào sau đây đảm bảo thời gian tìm kiếm, chèn và xóa O(log n) trong trường hợp xấu nhất?

29 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

29. Trong lập trình động (Dynamic Programming), kỹ thuật memoization dùng để làm gì?

30 / 30

Category: Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 5

30. Trong cây đỏ đen (Red-Black Tree), mục đích của việc sử dụng màu đỏ và đen cho các nút là gì?