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

Đề 3 - 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 tìm kiếm theo chiều rộng (BFS - Breadth-First Search) thường sử dụng cấu trúc dữ liệu nào để quản lý các đỉnh cần duyệt?
2. 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?
3. Cây cân bằng (Balanced tree) như cây AVL hay cây đỏ-đen (Red-Black tree) được sử dụng để giải quyết vấn đề gì của cây nhị phân tìm kiếm thông thường?
4. Thao tác duyệt cây theo thứ tự trước (Preorder traversal) trong cây nhị phân được thực hiện như thế nào?
5. Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong một mảng đã sắp xếp bằng thuật toán tìm kiếm nhị phân là bao nhiêu?
6. 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, ví dụ như cấu trúc thư mục trong hệ điều hành?
7. Bộ nhớ cache (Cache memory) thường được sử dụng để cải thiện hiệu suất truy cập dữ liệu. Nguyên tắc locality (tính cục bộ) nào được cache tận dụng?
8. Hash table (Bảng băm) sử dụng hàm băm (hash function) để làm gì?
9. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc FIFO (First-In, First-Out)?
10. Ưu điểm chính của việc sử dụng cấu trúc dữ liệu phù hợp là gì?
11. Đồ thị (Graph) được sử dụng để mô hình hóa mối quan hệ giữa các đối tượng. Loại đồ thị nào mà các cạnh có hướng?
12. Giải thuật 'chia để trị' (Divide and Conquer) hoạt động bằng cách nào?
13. Trong cây Heap (đống), loại nào sau đây đảm bảo rằng nút gốc luôn có giá trị lớn nhất trong số tất cả các nút trong cây?
14. Độ 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?
15. Trong cấu trúc dữ liệu đồ thị (Graph), chu trình Euler (Eulerian cycle) là gì?
16. Xung đột (collision) trong bảng băm (hash table) xảy ra khi nào?
17. Cấu trúc dữ liệu nào sau đây cho phép truy cập phần tử ở đầu và cuối một cách hiệu quả?
18. Trong lập trình động (Dynamic Programming), kỹ thuật 'ghi nhớ' (memoization) dùng để làm gì?
19. Thao tác nào sau đây KHÔNG phải là thao tác cơ bản trên ngăn xếp (Stack)?
20. Thuật toán tham lam (Greedy algorithm) thường được sử dụng để giải quyết loại bài toán nào?
21. Trong thuật toán sắp xếp nhanh (Quick Sort), thao tác 'phân vùng' (partition) có vai trò gì?
22. Đâu là phát biểu đúng nhất về cấu trúc dữ liệu?
23. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last-In, First-Out)?
24. Trong cây nhị phân tìm kiếm (Binary Search Tree), thuộc tính nào sau đây luôn đúng?
25. Danh sách liên kết đơn (Singly Linked List) khác với mảng (Array) ở điểm nào?
26. Trong thuật toán tìm kiếm theo chiều sâu (DFS - Depth-First Search), thứ tự duyệt các đỉnh phụ thuộc vào yếu tố nào?
27. Kiểu dữ liệu trừu tượng (Abstract Data Type - ADT) là gì?
28. 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 một đồ thị có trọng số không âm?
29. Độ 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?
30. Độ 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?