Bộ đề 1

Câu 1

Độ phức tạp thời gian trung bình của thuật toán QuickSort là bao nhiêu?

Câu 2

Trong thuật toán sắp xếp trộn (merge sort), giai đoạn nào chiếm phần lớn thời gian thực hiện?

Câu 3

Độ phức tạp thời gian của thao tác tìm kiếm trong cây tìm kiếm nhị phân (BST) lệch (skewed tree) là bao nhiêu?

Câu 4

Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian O(n^2) trong trường hợp xấu nhất?

Câu 5

Trong thuật toán tô màu đồ thị (graph coloring), mục tiêu là gì?

Câu 6

Trong biểu đồ (graph), thuật toán nào sau đây được sử dụng để tìm chu trình Euler?

Câu 7

Trong thuật toán Floyd-Warshall, mục đích chính là gì?

Câu 8

Ưu điểm chính của cây tìm kiếm nhị phân cân bằng (ví dụ: AVL tree, Red-Black tree) so với cây tìm kiếm nhị phân thông thường là gì?

Câu 9

Trong biểu đồ có hướng (directed graph), thành phần liên thông mạnh (strongly connected component) là gì?

Câu 10

Loại đồ thị nào sau đây có thể được biểu diễn bằng ma trận kề (adjacency matrix) một cách hiệu quả nhất?

Câu 11

Khi nào thì thuật toán Bubble Sort hoạt động hiệu quả nhất?

Câu 12

Trong cây AVL, hệ số cân bằng (balance factor) của một nút được định nghĩa như thế nào?

Câu 13

Khi nào nên sử dụng thuật toán tìm kiếm theo chiều sâu (depth-first search) thay vì tìm kiếm theo chiều rộng (breadth-first search)?

Câu 14

Khi nào nên sử dụng danh sách liên kết đơn (singly linked list) thay vì mảng (array)?

Câu 15

Trong cây đỏ-đen (Red-Black tree), một nút có thể có bao nhiêu màu?

Câu 16

Trong thuật toán sắp xếp vun đống (heap sort), thao tác 'vun đống' (heapify) có tác dụng gì?

Câu 17

Trong cây B, bậc của cây (order) được định nghĩa là gì?

Câu 18

Cấu trúc dữ liệu nào sau đây phù hợp nhất để cài đặt hàng đợi ưu tiên (priority queue)?

Câu 19

Trong thuật toán Prim để tìm cây khung nhỏ nhất, cấu trúc dữ liệu nào sau đây thường được sử dụng để lưu trữ các đỉnh chưa được thêm vào cây khung?

Câu 20

Thuật toán nào sau đây được sử dụng để tìm kiếm một phần tử trong mảng đã được sắp xếp?

Câu 21

Ưu điểm của việc sử dụng bảng băm (hash table) so với mảng (array) là gì?

Câu 22

Trong thuật toán A* tìm đường đi, hàm heuristic (h(n)) được sử dụng để làm gì?

Câu 23

Thuật toán sắp xếp nào sau đây là một thuật toán sắp xếp tại chỗ (in-place sorting algorithm)?

Câu 24

Trong thuật toán Kruskal để tìm cây khung nhỏ nhất, bước nào sau đây được thực hiện?

Câu 25

Thuật toán tìm kiếm nào sau đây có độ phức tạp thời gian O(1) trong trường hợp tốt nhất?

Câu 26

Khi nào nên sử dụng cây Trie (prefix tree)?

Câu 27

Trong cây quyết định (decision tree), mục đích của việc tỉa cây (pruning) là gì?

Câu 28

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

Câu 29

Khi sử dụng thuật toán Dijkstra để tìm đường đi ngắn nhất từ một đỉnh đến tất cả các đỉnh còn lại trong một đồ thị có trọng số không âm, cấu trúc dữ liệu nào thường được sử dụng để lưu trữ khoảng cách ước tính từ đỉnh nguồn đến các đỉnh khác?

Câu 30

Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một chuỗi có phải là palindrome hay không?