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

Đề 4 - 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 sắp xếp nào thường được coi là nhanh nhất trong thực tế cho dữ liệu lớn, mặc dù độ phức tạp trường hợp xấu nhất là O(n^2)?
2. 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ố dương?
3. Trong thuật toán BFS (Breadth-First Search), cấu trúc dữ liệu nào được sử dụng để quản lý các đỉnh cần duyệt?
4. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc FIFO (First In, First Out)?
5. 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)?
6. Thuật toán nào sau đây có thể phát hiện chu trình trong đồ thị có hướng?
7. Thuật toán sắp xếp nào có tính ổn định (stable sort), nghĩa là các phần tử bằng nhau giữ nguyên thứ tự tương đối sau khi sắp xếp?
8. Trong thuật toán tìm kiếm nhị phân trên mảng có n phần tử, số phép so sánh tối đa trong trường hợp xấu nhất là bao nhiêu?
9. Độ 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, giả sử hàm băm tốt và phân bố đều?
10. Trong cấu trúc dữ liệu Stack, thao tác nào sau đây tuân theo nguyên tắc LIFO (Last In, First Out)?
11. Độ phức tạp thời gian tốt nhất của thuật toán Bubble Sort là bao nhiêu?
12. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình và trường hợp xấu nhất đều là O(n log n)?
13. Ưu điểm của 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ì?
14. Giải thuật sắp xếp nào có độ phức tạp thời gian tốt nhất là O(n) trong trường hợp dữ liệu đã gần như được sắp xếp?
15. Thuật toán nào sau đây là ví dụ của phương pháp `tham lam` (greedy algorithm)?
16. Cấu trúc dữ liệu nào sử dụng hàm băm (hash function) để ánh xạ khóa (key) đến vị trí lưu trữ?
17. Trong cây, nút gốc (root node) là nút có đặc điểm gì?
18. Khi nào thì việc sử dụng bảng băm (Hash Table) trở nên kém hiệu quả hơn so với cây nhị phân tìm kiếm (Binary Search Tree)?
19. Độ 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?
20. Phương pháp tiếp cận `chia để trị` (Divide and Conquer) được sử dụng hiệu quả trong thuật toán sắp xếp nào?
21. Trong thuật toán DFS (Depth-First Search), cấu trúc dữ liệu nào thường được sử dụng (một cách ngầm định hoặc tường minh) để theo dõi đường đi?
22. 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 hệ thống phân cấp, ví dụ như cây thư mục trong máy tính?
23. Cấu trúc dữ liệu nào phù hợp để cài đặt hàng đợi ưu tiên (Priority Queue)?
24. Giải thuật nào sau đây sử dụng kỹ thuật `ghi nhớ` (memoization) để tối ưu hóa hiệu suất?
25. Trong cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào sau đây có thể cho độ phức tạp thời gian trường hợp xấu nhất là O(n)?
26. Trong thuật toán tìm kiếm nhị phân (Binary Search), dữ liệu đầu vào cần phải đáp ứng điều kiện tiên quyết nào?
27. Trong cây nhị phân đầy đủ (full binary tree), mỗi nút (trừ lá) có bao nhiêu nút con?
28. Ư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ì?
29. Trong cấu trúc dữ liệu đồ thị (Graph), ma trận kề (adjacency matrix) phù hợp nhất để biểu diễn loại đồ thị nào?
30. Cấu trúc dữ liệu nào có thể được sử dụng để kiểm tra xem một biểu thức ngoặc có hợp lệ (ví dụ: `()[]{}`) hay không?