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

Đề 8 - 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 nào sau đây không thuộc nhóm thuật toán sắp xếp so sánh (comparison sort)?
2. Thuật toán tìm kiếm nào sau đây có thể hoạt động trên dữ liệu chưa được sắp xếp?
3. Độ 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 một mảng đã sắp xếp là bao nhiêu?
4. Khi nào thì việc sử dụng danh sách liên kết đôi (Doubly Linked List) được ưu tiên hơn danh sách liên kết đơn (Singly Linked List)?
5. 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)?
6. 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)?
7. Độ 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?
8. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian ổn định (stable sort)?
9. 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)?
10. Trong đồ thị (Graph), ma trận kề (Adjacency Matrix) phù hợp nhất để biểu diễn đồ thị nào?
11. Phương pháp xử lý xung đột phổ biến nhất trong bảng băm (Hash Table) là gì?
12. 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 hệ thống phân cấp, ví dụ như cây thư mục trong hệ điều hành?
13. Trong thuật toán sắp xếp trộn (Merge Sort), quá trình `trộn` (merge) hai mảng con đã sắp xếp có độ phức tạp thời gian là bao nhiêu?
14. 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 trong đồ thị có trọng số không âm?
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 chèn (Insertion Sort) là bao nhiêu?
16. Khi nào nên sử dụng thuật toán tìm kiếm theo chiều sâu (DFS) thay vì tìm kiếm theo chiều rộng (BFS)?
17. Phương pháp tiếp cận `chia để trị` (Divide and Conquer) được sử dụng trong thuật toán sắp xếp nào sau đây?
18. 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)?
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. Ư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ì?
21. Ưu điểm của việc sử dụng đồ thị (Graph) so với cây (Tree) là gì?
22. Cấu trúc dữ liệu nào thường được sử dụng để kiểm tra tính hợp lệ của dấu ngoặc trong biểu thức toán học?
23. 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à khoảng cách hiện tại từ đỉnh nguồn?
24. Trong bảng băm (Hash Table), `xung đột` (collision) xảy ra khi nào?
25. Ứng dụng phổ biến nhất của hàng đợi (Queue) là gì?
26. 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ị liên thông có trọng số?
27. Cấu trúc dữ liệu nào cho phép truy cập phần tử đầu và cuối trong thời gian O(1)?
28. Trong cây nhị phân cân bằng (Balanced Binary Tree), chiều cao của cây được giới hạn bởi độ phức tạp nào so với số lượng nút (n)?
29. 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 coi là hiệu quả nhất cho mảng lớn?
30. Bảng băm (Hash Table) hoạt động hiệu quả nhất khi nào?