Bộ số 1

Câu 1

Độ phức tạp thời gian của thuật toán sắp xếp Heap Sort là bao nhiêu trong mọi trường hợp?

Câu 2

Trong thuật toán BFS (Breadth-First Search) để duyệt đồ thị, cấu trúc dữ liệu nào được sử dụng để lưu trữ các đỉnh cần được thăm kế tiếp?

Câu 3

Cấu trúc dữ liệu nào được sử dụng để triển khai thuật toán Floyd-Warshall, nhằm tìm đường đi ngắn nhất giữa tất cả các cặp đỉnh trong một đồ thị có trọng số?

Câu 4

Trong một cây nhị phân, nếu một nút có hai con, thì nút đó được gọi là gì?

Câu 5

Độ phức tạp thời gian của thuật toán sắp xếp Merge Sort là bao nhiêu trong mọi trường hợp?

Câu 6

Khi gặp xung đột băm (hash collision) trong bảng băm, phương pháp nào sau đây thường được sử dụng để giải quyết?

Câu 7

Cấu trúc dữ liệu nào cho phép truy cập phần tử cuối cùng được thêm vào một cách hiệu quả nhất?

Câu 8

Cây nhị phân đầy đủ (Full Binary Tree) là cây mà mỗi nút có bao nhiêu con?

Câu 9

Cây nhị phân hoàn chỉnh (Complete Binary Tree) là cây mà tất cả các mức đều được điền đầy, ngoại trừ có thể là mức cuối cùng, và các nút ở mức cuối cùng được điền từ trái sang phải. Điều này có ý nghĩa gì đối với việc triển khai Heap?

Câu 10

Cấu trúc dữ liệu nào được sử dụng để triển khai hàm băm (hashing) nhằm mục đích lưu trữ và truy xuất dữ liệu nhanh chóng dựa trên khóa?

Câu 11

Độ phức tạp không gian (space complexity) của thuật toán QuickSort khi sử dụng đệ quy là bao nhiêu trong trường hợp tốt nhất?

Câu 12

Cấu trúc dữ liệu nào được sử dụng để mô tả một chuỗi các thao tác có thể được hoàn tác (undo) hoặc thực hiện lại (redo)?

Câu 13

Cấu trúc dữ liệu nào phù hợp nhất để biểu diễn mối quan hệ giữa các thực thể, nơi mỗi thực thể có thể có nhiều mối liên kết với các thực thể khác, và thứ tự các liên kết không quan trọng?

Câu 14

Độ phức tạp thời gian của thuật toán sắp xếp Bubble Sort là bao nhiêu trong trường hợp tốt nhất (dữ liệu đã sắp xếp)?

Câu 15

Độ phức tạp thời gian của thuật toán sắp xếp QuickSort trong trường hợp xấu nhất là bao nhiêu?

Câu 16

Cây nhị phân tìm kiếm có thể được cân bằng hóa bằng cách sử dụng thuật toán nào để duy trì độ phức tạp O(log n) cho các phép toán?

Câu 17

Cây nhị phân cân bằng (balanced binary tree) như AVL tree hay Red-Black tree được sử dụng để đảm bảo điều gì cho các phép toán tìm kiếm, thêm, xóa?

Câu 18

Độ phức tạp thời gian của thuật toán sắp xếp Counting Sort khi phạm vi các giá trị là K và số lượng phần tử là n là bao nhiêu?

Câu 19

Trong thuật toán DFS (Depth-First Search) để duyệt đồ thị, cấu trúc dữ liệu nào được sử dụng để lưu trữ các đỉnh cần được thăm kế tiếp?

Câu 20

Trong thuật toán sắp xếp Insertion Sort, mỗi phần tử được chèn vào vị trí đúng của nó trong phần nào của mảng?

Câu 21

Khi duyệt cây theo thứ tự trước (pre-order traversal), thứ tự các nút được truy cập là gì?

Câu 22

Cấu trúc dữ liệu nào được sử dụng để biểu diễn một chuỗi các phép tính mà mỗi phép tính phụ thuộc vào kết quả của phép tính trước đó, và kết quả cuối cùng là một giá trị duy nhất?

Câu 23

Độ phức tạp thời gian của thuật toán sắp xếp Selection Sort là bao nhiêu trong mọi trường hợp (tốt nhất, trung bình, xấu nhất)?

Câu 24

Trong đồ thị, thuật toán Dijkstra được sử dụng để tìm đường đi ngắn nhất từ một nút nguồn đến tất cả các nút khác, với điều kiện gì về trọng số của các cạnh?

Câu 25

Độ phức tạp thời gian cho phép toán 'pop' (lấy ra phần tử) trên một ngăn xếp được triển khai bằng danh sách liên kết là bao nhiêu?

Câu 26

Cây tìm kiếm nhị phân (Binary Search Tree - BST) có đặc điểm gì nổi bật về thứ tự các phần tử?

Câu 27

Độ phức tạp thời gian của thuật toán sắp xếp Radix Sort phụ thuộc vào số chữ số (D) trong số lớn nhất và số lượng phần tử (n). Độ phức tạp thường là:

Câu 28

Cấu trúc dữ liệu nào được sử dụng để quản lý các tiến trình đang chờ CPU theo thứ tự ưu tiên, nơi tiến trình có độ ưu tiên cao nhất sẽ được xử lý trước?

Câu 29

Trong duyệt cây theo thứ tự giữa (in-order traversal), thứ tự các nút được truy cập là gì đối với một cây tìm kiếm nhị phân?

Câu 30

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

Câu 31

Trong các cấu trúc dữ liệu sau, cấu trúc nào được sử dụng để triển khai hàng đợi ưu tiên (priority queue) hiệu quả nhất về mặt thời gian cho các phép toán thêm và xóa phần tử có độ ưu tiên cao nhất?

Câu 32

Độ phức tạp thời gian của thuật toán sắp xếp Insertion Sort là bao nhiêu trong trường hợp xấu nhất?

Câu 33

Khi duyệt cây theo thứ tự sau (post-order traversal), thứ tự các nút được truy cập là gì?

Câu 34

Cấu trúc dữ liệu nào phù hợp nhất để lưu trữ một tập hợp các phần tử duy nhất, không có thứ tự và hỗ trợ các phép toán như thêm, xóa, kiểm tra sự tồn tại một cách hiệu quả?

Câu 35

Độ phức tạp thời gian của thuật toán sắp xếp Insertion Sort trong trường hợp tốt nhất (dữ liệu đã sắp xếp) là bao nhiêu?

Câu 36

Cấu trúc dữ liệu nào được sử dụng để lưu trữ các hàm đang chờ được thực thi theo thứ tự FIFO (First-In, First-Out)?

Câu 37

Trong thuật toán tìm kiếm nhị phân (Binary Search), điều kiện tiên quyết để thuật toán hoạt động hiệu quả là gì?

Câu 38

Độ phức tạp thời gian của thuật toán sắp xếp Shell Sort phụ thuộc vào chuỗi các bước nhảy (gap sequence) được sử dụng, nhưng nó thường hiệu quả hơn Insertion Sort và QuickSort trong một số trường hợp. Trong các trường hợp thông thường, nó có độ phức tạp gần với:

Câu 39

Cấu trúc dữ liệu nào là phù hợp nhất để lưu trữ các phần tử theo thứ tự, cho phép thêm và xóa phần tử ở cả hai đầu (đầu và cuối) một cách hiệu quả?

Câu 40

Trong một đồ thị có hướng, cạnh (u, v) có nghĩa là gì?