Bộ đề 1

Câu 1

Độ phức tạp không gian của thuật toán Merge Sort là bao nhiêu?

Câu 2

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 3

Trong cấu trúc dữ liệu đồ thị, điều gì phân biệt giữa đồ thị có hướng (directed graph) và đồ thị vô hướng (undirected graph)?

Câu 4

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

Câu 5

Cấu trúc dữ liệu nào sau đây sử dụng con trỏ (pointer) để liên kết các phần tử?

Câu 6

Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai một hệ thống quản lý bộ nhớ?

Câu 7

Ưu điểm chính của việc sử dụng hàng đợi (queue) trong lập trình là gì?

Câu 8

Trong cấu trúc dữ liệu cây nhị phân tìm kiếm (binary search tree), đặc điểm nào sau đây là đúng?

Câu 9

Khi nào nên sử dụng thuật toán tìm kiếm nhị phân (binary search)?

Câu 10

Trong cấu trúc dữ liệu đồ thị, thuật toán nào sau đây được sử dụng để tìm tất cả các thành phần liên thông (connected components)?

Câu 11

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

Câu 12

Trong cấu trúc dữ liệu ngăn xếp (stack), thao tác nào dùng để loại bỏ một phần tử khỏi đỉnh ngăn xếp?

Câu 13

Độ phức tạp thời gian để truy cập một phần tử trong mảng (array) là bao nhiêu?

Câu 14

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

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ệ phân cấp (hierarchical relationship)?

Câu 16

Trong cấu trúc dữ liệu đồ thị, thuật toán nào sau đây được sử dụng để tìm đường đi ngắn nhất giữa hai đỉnh?

Câu 17

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 18

Trong cấu trúc dữ liệu ngăn xếp (stack), thao tác nào cho phép xem phần tử ở đỉnh ngăn xếp mà không loại bỏ nó?

Câu 19

Thuật toán sắp xếp nào sau đây hoạt động bằng cách chia danh sách thành các danh sách con nhỏ hơn, sắp xếp chúng, và sau đó hợp nhất chúng lại?

Câu 20

Trong cấu trúc dữ liệu đồ thị (graph), một chu trình (cycle) là gì?

Câu 21

Độ phức tạp thời gian tốt nhất của thuật toán Bubble Sort là bao nhiêu?

Câu 22

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 23

Độ phức tạp thời gian tốt nhất của thuật toán Insertion Sort là bao nhiêu?

Câu 24

Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong một mảng chưa được sắp xếp là bao nhiêu?

Câu 25

Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong bảng băm (hash table) là bao nhiêu?

Câu 26

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 27

Trong cấu trúc dữ liệu đồ thị, thuật toán nào sau đây được sử dụng để tìm cây khung nhỏ nhất (minimum spanning tree)?

Câu 28

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

Câu 29

Khi nào nên sử dụng thuật toán Quick Sort thay vì Merge Sort?

Câu 30

Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai thuật toán Huffman coding?