Bộ đề 1

Câu 1

Độ phức tạp thời gian của thuật toán tìm kiếm nhị phân (binary search) trong trường hợp tốt nhất là bao nhiêu?

Câu 2

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)?

Câu 3

Trong cấu trúc dữ liệu đồ thị (graph), ma trận kề (adjacency matrix) được sử dụng để biểu diễn điều gì?

Câu 4

Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?

Câu 5

Thuật toán sắp xếp nào sau đây hoạt động tốt nhất trên các tập dữ liệu đã gần như được sắp xếp?

Câu 6

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 khác?

Câu 7

Thuật toán sắp xếp nào sau đây là 'ổn định' (stable)?

Câu 8

Trong cấu trúc dữ liệu cây, chiều cao của cây được định nghĩa là gì?

Câu 9

Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình là O(n log n)?

Câu 10

Trong một cây nhị phân tìm kiếm cân bằng (balanced binary search tree), sự cân bằng có nghĩa là gì?

Câu 11

Trong cấu trúc dữ liệu đồ thị, thuật toán nào sau đây được sử dụng để phát hiện chu trình (cycle)?

Câu 12

Ứng dụng nào sau đây là phù hợp nhất cho cấu trúc dữ liệu hàng đợi (queue)?

Câu 13

Ư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ì?

Câu 14

Độ phức tạp thời gian tốt nhất của thuật toán sắp xếp nổi bọt (bubble sort) là bao nhiêu?

Câu 15

Thuật toán nào sau đây có độ phức tạp thời gian xấu nhất là O(n^2)?

Câu 16

Khi nào nên sử dụng bảng băm (hash table) thay vì cây tìm kiếm?

Câu 17

Độ phức tạp thời gian trung bình của thao tác tìm kiếm trong danh sách liên kết (linked list) là bao nhiêu?

Câu 18

Trong một bảng băm (hash table), 'collision' xảy ra khi nào?

Câu 19

Trong cấu trúc dữ liệu cây (tree), nút nào không có nút con được gọi là gì?

Câu 20

Thuật toán nào sau đây được sử dụng để tìm cây khung nhỏ nhất (minimum spanning tree) trong một đồ thị?

Câu 21

Khi nào nên sử dụng thuật toán tìm kiếm theo chiều sâu (Depth-First Search - DFS) thay vì tìm kiếm theo chiều rộng (Breadth-First Search - BFS)?

Câu 22

Cấu trúc dữ liệu nào sau đây được sử dụng để triển khai thuật toán tìm kiếm theo chiều rộng (Breadth-First Search - BFS)?

Câu 23

Ưu điểm của việc sử dụng danh sách liên kết đôi (doubly linked list) so với danh sách liên kết đơn (singly linked list) là gì?

Câu 24

Cấu trúc dữ liệu nào sau đây thường được sử dụng để biểu diễn hàng đợi ưu tiên (priority queue)?

Câu 25

Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai bộ nhớ cache?

Câu 26

Điều gì xảy ra nếu bạn chèn một phần tử vào một hàng đợi (queue) đã đầy?

Câu 27

Thuật toán nào sau đây là một ví dụ về kỹ thuật 'chia để trị' (divide and conquer)?

Câu 28

Độ 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?

Câu 29

Điều gì xảy ra khi bạn cố gắng lấy một phần tử từ một ngăn xếp (stack) trống?

Câu 30

Trong cây nhị phân (binary tree), duyệt cây theo thứ tự giữa (inorder traversal) thường được sử dụng để làm gì?