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

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

1. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai chức năng 'undo/redo' trong các ứng dụng chỉnh sửa?
2. 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?
3. Trong cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào sau đây có thể làm mất cân bằng cây và dẫn đến hiệu suất suy giảm trong trường hợp xấu nhất?
4. Độ 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à gì?
5. Để phát hiện chu trình trong một đồ thị có hướng, thuật toán nào sau đây thường được sử dụng?
6. Trong cây Trie (tiền tố), thao tác nào sau đây có độ phức tạp thời gian phụ thuộc vào chiều dài của khóa (từ) chứ không phụ thuộc vào số lượng khóa trong cây?
7. Thuật toán DFS (Depth-First Search) trong đồ thị thường được sử dụng để làm gì?
8. Trong cấu trúc dữ liệu đồ thị (Graph), thuật toán BFS (Breadth-First Search) thường được sử dụng để làm gì?
9. Ưu điểm chính của danh sách liên kết (Linked List) so với mảng (Array) là gì khi thực hiện các thao tác chèn và xóa phần tử?
10. Cấu trúc dữ liệu hàng đợi (Queue) thường được sử dụng trong ứng dụng nào sau đây?
11. Cấu trúc dữ liệu cây nào sau đây đảm bảo thời gian tìm kiếm, chèn và xóa trung bình là O(log n) trong trường hợp lý tưởng?
12. Trong bảng băm (Hash Table), 'xung đột' (collision) xảy ra khi nào?
13. Trong biểu diễn đồ thị bằng danh sách kề (Adjacency List), không gian bộ nhớ cần thiết phụ thuộc vào yếu tố nào?
14. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để triển khai hàng đợi ưu tiên (Priority Queue)?
15. Đệ quy (Recursion) trong lập trình liên quan mật thiết đến cấu trúc dữ liệu nào sau đây?
16. Độ phức tạp thời gian trung bình của thuật toán tìm kiếm tuyến tính (Linear Search) là bao nhiêu?
17. Hàm băm (Hash function) lý tưởng nên có tính chất nào sau đây?
18. Giải thuật Dijkstra được sử dụng để giải quyết bài toán nào trong đồ thị?
19. Độ 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?
20. Cấu trúc dữ liệu nào sau đây cho phép truy cập ngẫu nhiên đến các phần tử với độ phức tạp thời gian O(1)?
21. Kỹ thuật 'chia để trị' (Divide and Conquer) là nền tảng của thuật toán sắp xếp nào sau đây?
22. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
23. Trong thuật toán sắp xếp vun đống (Heap Sort), cấu trúc dữ liệu 'đống' (heap) được sử dụng để làm gì?
24. 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)?
25. Thuật toán sắp xếp nào sau đây là 'không ổn định' (unstable sorting algorithm)?
26. Thuật toán tìm kiếm nhị phân (Binary Search) hoạt động hiệu quả nhất trên cấu trúc dữ liệu nào?
27. Khi nào thì thuật toán tìm kiếm tuyến tính (Linear Search) có thể hiệu quả hơn thuật toán tìm kiếm nhị phân (Binary Search)?
28. Ưu điểm của việc sử dụng cây so với danh sách liên kết hoặc mảng để lưu trữ dữ liệu có thứ tự là gì?
29. Trong thuật toán sắp xếp nhanh (Quick Sort), kỹ thuật 'phân vùng' (partitioning) có vai trò gì?
30. Kỹ thuật 'quy hoạch động' (Dynamic Programming) thường được áp dụng để giải quyết các bài toán có tính chất nào?