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

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

1. Giải thuật tham lam (Greedy algorithm) thường được sử dụng để giải quyết loại bài toán nào?
2. Hash Table (Bảng băm) hoạt động hiệu quả nhất khi nào?
3. 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?
4. Thuật toán nào sau đây là một ví dụ của phương pháp `Chia để trị` (Divide and Conquer)?
5. Thuật toán Kruskal được sử dụng để giải quyết bài toán nào?
6. Đệ quy (Recursion) là gì trong lập trình?
7. Kiểu dữ liệu trừu tượng (Abstract Data Type - ADT) là gì?
8. Ư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ì?
9. Trong thuật toán tô màu đồ thị (Graph Coloring), mục tiêu chính là gì?
10. Độ phức tạp không gian của thuật toán Merge Sort (Sắp xếp trộn) là bao nhiêu?
11. Trong một cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào có độ phức tạp thời gian trung bình là O(log n)?
12. Trong thuật toán tìm kiếm theo chiều rộng (Breadth-First Search - BFS) trên đồ thị, cấu trúc dữ liệu nào thường được sử dụng để quản lý các đỉnh cần thăm?
13. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian tốt nhất trong trường hợp trung bình?
14. Khi nào thì việc sử dụng danh sách liên kết đôi (Doubly Linked List) trở nên hữu ích hơn so với danh sách liên kết đơn (Singly Linked List)?
15. Trong cây nhị phân đầy đủ (Full Binary Tree), nếu cây có chiều cao h (tính từ gốc, gốc ở mức 0), thì số lượng nút tối đa có thể có là bao nhiêu?
16. 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?
17. Cấu trúc dữ liệu đồ thị (Graph) được sử dụng để mô hình hóa loại quan hệ nào?
18. Bộ nhớ Cache hoạt động dựa trên nguyên tắc nào để tăng tốc độ truy cập dữ liệu?
19. Phương pháp lập trình động (Dynamic Programming) tiếp cận bài toán bằng cách nào?
20. Trong ngữ cảnh cấu trúc dữ liệu và giải thuật, `overflow` (tràn bộ nhớ) xảy ra khi nào?
21. 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)?
22. Thuật toán sắp xếp nào sau đây là `ổn định` (stable), tức là duy trì thứ tự tương đối của các phần tử có khóa bằng nhau?
23. Độ 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?
24. Thuật toán Dijkstra được sử dụng để giải quyết bài toán nào?
25. 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)?
26. Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong một mảng (Array) đã được sắp xếp bằng thuật toán tìm kiếm nhị phân (Binary Search) là bao nhiêu?
27. Cây AVL là gì?
28. Thuật toán quay lui (Backtracking) thường được sử dụng để giải quyết loại bài toán nào?
29. So sánh độ phức tạp thời gian của tìm kiếm tuyến tính (Linear Search) và tìm kiếm nhị phân (Binary Search) trong trường hợp xấu nhất.
30. Trong thuật toán sắp xếp Heap Sort (Sắp xếp vun đống), cấu trúc dữ liệu Heap được sử dụng có tính chất gì?