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

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

1. Trong cấu trúc dữ liệu đồ thị, thuật toán nào thường đượ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 khác trong đồ thị có trọng số không âm?
2. Giải thuật 'chia để trị' (Divide and Conquer) thường được áp dụng hiệu quả nhất cho loại bài toán nào?
3. Cấu trúc dữ liệu nào sau đây cho phép truy cập phần tử đầu và cuối trong thời gian O(1)?
4. Ưu điểm chính của việc sử dụng bảng băm (Hash Table) là gì?
5. Điều gì xảy ra khi bạn cố gắng lấy một phần tử ra khỏi một ngăn xếp (Stack) rỗng?
6. Độ 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?
7. Thuật toán Kruskal tìm cây khung nhỏ nhất (MST) hoạt động dựa trên nguyên tắc nào?
8. Thuật toán Prim và Kruskal được sử dụng để giải quyết bài toán nào trong lý thuyết đồ thị?
9. Trong cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n)?
10. Ưu điểm chính của danh sách liên kết (Linked List) so với mảng (Array) là gì?
11. Thuật toán sắp xếp nào có độ phức tạp thời gian trung bình tốt nhất trong số các thuật toán sắp xếp so sánh?
12. Cấu trúc dữ liệu nào sau đây thường được sử dụng để cài đặt hàng đợi ưu tiên (Priority Queue)?
13. Trong cây nhị phân tìm kiếm, duyệt cây theo thứ tự giữa (Inorder traversal) sẽ cho ra kết quả gì?
14. Thuật toán Floyd-Warshall được sử dụng để giải quyết bài toán nào trong đồ thị?
15. Thuật toán tìm kiếm nào sau đây có độ phức tạp thời gian tốt nhất là O(1)?
16. Độ phức tạp không gian của thuật toán sắp xếp nhanh (Quick Sort) trong trường hợp trung bình là bao nhiêu?
17. Thuật toán nào sau đây không phải là thuật toán sắp xếp so sánh?
18. Trong cây nhị phân cân bằng (ví dụ AVL tree, Red-Black tree), mục đích chính của việc cân bằng cây là gì?
19. Thuật toán nào sau đây là thuật toán sắp xếp ổn định (stable sorting algorithm)?
20. Thuật toán tìm kiếm theo chiều rộng (BFS) thường được sử dụng để làm gì trong đồ thị?
21. Khi nào 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)?
22. Trong cây nhị phân tìm kiếm, khi xóa một nút có hai con, nút nào thường được chọn để thay thế?
23. Thuật toán sắp xếp nào sau đây hoạt động tốt nhất trên dữ liệu gần như đã được sắp xếp?
24. Kiểu dữ liệu trừu tượng (Abstract Data Type - ADT) nào mô tả một tập hợp các phần tử mà việc thêm và xóa phần tử chỉ được thực hiện ở một đầu?
25. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?
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 có đặc điểm gì?
27. Cấu trúc dữ liệu nào phù hợp nhất để kiểm tra xem một chuỗi ngoặc có hợp lệ hay không (ví dụ: '()[]{}' là hợp lệ, '([)]' là không hợp lệ)?
28. Độ phức tạp không gian của thuật toán sắp xếp vun đống (Heap Sort) là bao nhiêu?
29. Cấu trúc dữ liệu nào thích hợp nhất để biểu diễn mối quan hệ 'nhiều-nhiều' giữa các đối tượng?
30. Độ phức tạp thời gian trường hợp xấu nhất của thuật toán sắp xếp trộn (Merge Sort) là bao nhiêu?