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

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

1. Ứng dụng phổ biến của hàng đợi (Queue) là gì?
2. Trong đồ thị (Graph), thuật toán nào sau đây được sử dụng để tìm đường đi ngắn nhất từ một đỉnh nguồn đến tất cả các đỉnh còn lại trong đồ thị có trọng số không âm?
3. Kỹ thuật 'chia để trị' (Divide and Conquer) được sử dụng trong thuật toán sắp xếp nào sau đây?
4. Giải thuật tìm kiếm nào sau đây hoạt động hiệu quả nhất trên dữ liệu đã được sắp xếp?
5. Trong thuật toán sắp xếp nổi bọt (Bubble Sort), sau mỗi lần duyệt qua mảng, phần tử nào sẽ được đặt đúng vị trí cuối cùng?
6. Trong cấu trúc dữ liệu đồ thị, ma trận kề (adjacency matrix) phù hợp nhất để biểu diễn loại đồ thị nào?
7. Khi nào thì thuật toán sắp xếp nhanh (Quick Sort) hoạt động kém hiệu quả nhất?
8. Trong thuật toán tìm kiếm theo chiều rộng (BFS), cấu trúc dữ liệu nào được sử dụng để quản lý các đỉnh cần thăm?
9. Hạn chế chính của việc sử dụng cây nhị phân tìm kiếm (Binary Search Tree) là gì?
10. Trong cây, duyệt theo thứ tự giữa (In-order traversal) thường được sử dụng để làm gì trong cây nhị phân tìm kiếm?
11. Độ 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?
12. Cấu trúc dữ liệu nào sau đây thường được sử dụng để cài đặt chức năng 'undo' trong các ứng dụng phần mềm?
13. Trong cây nhị phân tìm kiếm, thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n)?
14. Cấu trúc dữ liệu nào sau đây sử dụng hàm băm (hash function) để ánh xạ khóa tới giá trị?
15. Cấu trúc dữ liệu nào sau đây cho phép truy cập ngẫu nhiên (random access) các phần tử với độ phức tạp O(1)?
16. Độ phức tạp thời gian của thao tác thêm một phần tử vào đầu danh sách liên kết đơn (singly linked list) là bao nhiêu?
17. Phương pháp lập trình động (Dynamic Programming) thường được áp dụng để giải quyết loại bài toán nào?
18. Thuật toán nào sau đây tìm đường đi ngắn nhất giữa tất cả các cặp đỉnh trong đồ thị có trọng số?
19. Ư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ì?
20. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình và xấu nhất đều là O(n log n)?
21. Thuật toán nào sau đây được sử dụng để tìm cây khung nhỏ nhất (Minimum Spanning Tree) trong đồ thị?
22. Độ 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?
23. Trong biểu đồ Big O, O(1) biểu thị độ phức tạp thời gian như thế nào?
24. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last-In, First-Out)?
25. Cấu trúc dữ liệu nào thích hợp nhất để cài đặt hàng đợi ưu tiên (Priority Queue)?
26. Thuật toán nào sau đây thuộc loại 'tham lam' (Greedy)?
27. Trong cây AVL, thao tác cân bằng cây (tree balancing) được thực hiện khi nào?
28. Thuật toán sắp xếp nào sau đây hoạt động dựa trên việc so sánh và đổi chỗ các phần tử lân cận nếu chúng không đúng thứ tự?
29. Độ 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?
30. Khi nào thì nên sử dụng danh sách liên kết đôi (Doubly Linked List) thay vì danh sách liên kết đơn (Singly Linked List)?