Bộ đề 1

Câu 1

Trong biểu đồ (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 đến tất cả các đỉnh còn lại?

Câu 2

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

Câu 3

Khi nào nên sử dụng cấu trúc dữ liệu 'heap'?

Câu 4

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

Câu 5

Thuật toán nào sau đây thường được sử dụng để nén dữ liệu?

Câu 6

Ưu điểm chính của việc sử dụng danh sách liên kết so với mảng là gì?

Câu 7

Trong thuật toán sắp xếp trộn (Merge Sort), quá trình 'trộn' (merge) hai mảng đã sắp xếp có độ phức tạp thời gian là bao nhiêu?

Câu 8

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

Câu 9

Trong lập trình, kỹ thuật 'memoization' thường được sử dụng để làm gì?

Câu 10

Khi nào nên sử dụng 'lập trình động' (dynamic programming)?

Câu 11

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 12

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

Câu 13

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

Câu 14

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

Câu 15

Cấu trúc dữ liệu nào sau đây phù hợp nhất để biểu diễn mối quan hệ 'cha-con' trong một tổ chức?

Câu 16

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

Câu 17

Trong cây nhị phân, nút gốc (root) là gì?

Câu 18

Trong một đồ thị vô hướng, bậc của một đỉnh là gì?

Câu 19

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

Câu 20

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?

Câu 21

Điểm khác biệt chính giữa cây nhị phân tìm kiếm (BST) và cây AVL là gì?

Câu 22

Ưu điểm của việc sử dụng cây khung nhỏ nhất (Minimum Spanning Tree) trong mạng máy tính là gì?

Câu 23

Ứng dụng nào sau đây sử dụng cấu trúc dữ liệu đồ thị (graph)?

Câu 24

Ưu điểm của việc sử dụng 'đệ quy' trong lập trình là gì?

Câu 25

Độ phức tạp không gian của thuật toán sắp xếp nổi bọt (Bubble Sort) là bao nhiêu?

Câu 26

Ứng dụng nào sau đây sử dụng cấu trúc dữ liệu hàng đợi (queue)?

Câu 27

Thuật toán nào sau đây được sử dụng để tìm chu trình Euler trong một đồ thị?

Câu 28

Cấu trúc dữ liệu nào sau đây cho phép truy cập phần tử ở giữa một cách hiệu quả?

Câu 29

Trong thuật toán tìm kiếm theo chiều sâu (DFS), cấu trúc dữ liệu nào sau đây được sử dụng?

Câu 30

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