Bài Tập, Đề Thi Trắc Nghiệm Online – Môn Cấu Trúc Dữ Liệu Và Giải Thuật – Đề 05

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật - Đề 05

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Cho một mảng đã được sắp xếp tăng dần. Giải thuật nào sau đây có độ phức tạp thời gian tốt nhất để tìm kiếm một phần tử cụ thể trong mảng?

  • A. Tìm kiếm tuyến tính (Linear Search)
  • B. Tìm kiếm theo chiều rộng (Breadth-First Search)
  • C. Tìm kiếm nhị phân (Binary Search)
  • D. Tìm kiếm theo chiều sâu (Depth-First Search)

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

  • A. Hàng đợi (Queue)
  • B. Ngăn xếp (Stack)
  • C. Danh sách liên kết (Linked List)
  • D. Cây nhị phân (Binary Tree)

Câu 3: Để duyệt một cây nhị phân theo thứ tự trước (pre-order traversal), bạn cần thực hiện các bước nào theo thứ tự đúng?

  • A. Thăm nút gốc, duyệt cây con trái, duyệt cây con phải
  • B. Duyệt cây con trái, thăm nút gốc, duyệt cây con phải
  • C. Duyệt cây con trái, duyệt cây con phải, thăm nút gốc
  • D. Thăm nút gốc, duyệt cây con phải, duyệt cây con trái

Câu 4: Giải thuật sắp xếp nào sau đây có độ phức tạp thời gian trung bình là O(n log n) và thường được coi là nhanh nhất trong thực tế cho các mảng lớn?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Sắp xếp chọn (Selection Sort)
  • D. Sắp xếp nhanh (Quick Sort)

Câu 5: 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 trong đồ thị có trọng số không âm?

  • A. Thuật toán Prim
  • B. Thuật toán Dijkstra
  • C. Thuật toán Kruskal
  • D. Thuật toán Floyd-Warshall

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

  • A. Truy cập phần tử ngẫu nhiên nhanh hơn
  • B. Sử dụng bộ nhớ hiệu quả hơn khi số lượng phần tử cố định
  • C. Kích thước có thể thay đổi động trong quá trình thực thi
  • D. Tìm kiếm phần tử nhanh hơn trong danh sách đã sắp xếp

Câu 7: Độ phức tạp thời gian tốt nhất, trung bình và xấu nhất của thuật toán sắp xếp chèn (Insertion Sort) lần lượt là:

  • A. O(n^2), O(n^2), O(n^2)
  • B. O(n), O(n^2), O(n^2)
  • C. O(log n), O(n log n), O(n^2)
  • D. O(n), O(n log n), O(n log n)

Câu 8: 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, ví dụ như cây thư mục trong hệ điều hành?

  • A. Mảng (Array)
  • B. Hàng đợi (Queue)
  • C. Cây (Tree)
  • D. Đồ thị (Graph)

Câu 9: Thuật toán nào sau đây là một ví dụ của phương pháp "chia để trị" (divide and conquer)?

  • A. Sắp xếp nổi bọt (Bubble Sort)
  • B. Sắp xếp chèn (Insertion Sort)
  • C. Tìm kiếm tuyến tính (Linear Search)
  • D. Sắp xếp trộn (Merge Sort)

Câu 10: Trong cây nhị phân tìm kiếm (BST), thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n)?

  • A. Tìm kiếm một phần tử
  • B. Duyệt cây theo thứ tự trước
  • C. Tìm phần tử lớn nhất
  • D. Xóa nút gốc

Câu 11: Xét một đồ thị vô hướng liên thông. Thuật toán nào sau đây tìm cây khung nhỏ nhất (Minimum Spanning Tree - MST)?

  • A. Thuật toán Dijkstra
  • B. Thuật toán tìm kiếm theo chiều sâu (DFS)
  • C. Thuật toán Kruskal
  • D. Thuật toán tìm kiếm theo chiều rộng (BFS)

Câu 12: Để kiểm tra một biểu thức số học (ví dụ: (a+b)*c ) có hợp lệ về dấu ngoặc hay không, cấu trúc dữ liệu nào sau đây là phù hợp nhất?

  • A. Hàng đợi (Queue)
  • B. Ngăn xếp (Stack)
  • C. Danh sách liên kết (Linked List)
  • D. Cây nhị phân (Binary Tree)

Câu 13: Hàm băm (hash function) lý tưởng nên có tính chất nào sau đây để giảm thiểu xung đột?

  • A. Luôn tạo ra các giá trị băm giống nhau cho các khóa khác nhau
  • B. Dễ dàng đảo ngược để tìm lại khóa gốc
  • C. Chỉ tạo ra một số lượng nhỏ các giá trị băm
  • D. Phân bố đều các khóa vào các ô băm khác nhau

Câu 14: Trong thuật toán sắp xếp Heap Sort, cấu trúc dữ liệu Heap được sử dụng là loại Heap nào?

  • A. Max Heap (Heap cực đại)
  • B. Min Heap (Heap cực tiểu)
  • C. Cả Max Heap và Min Heap đều được
  • D. Không sử dụng Heap

Câu 15: Khi nào thì thuật toán tìm kiếm nhị phân (Binary Search) hoạt động hiệu quả nhất?

  • A. Khi mảng có kích thước nhỏ
  • B. Khi phần tử cần tìm nằm ở đầu mảng
  • C. Khi mảng đã được sắp xếp
  • D. Khi mảng chứa nhiều phần tử trùng lặp

Câu 16: Cho một cây AVL. Điều gì luôn đúng với mọi nút trong cây AVL?

  • A. Mỗi nút có tối đa 2 con
  • B. Độ cao của cây con trái và cây con phải của mỗi nút chênh lệch nhau không quá 1
  • C. Tất cả các nút lá đều ở cùng một mức
  • D. Giá trị của nút con trái luôn nhỏ hơn giá trị của nút cha

Câu 17: Để cài đặt hàng đợi ưu tiên (priority queue), cấu trúc dữ liệu nào sau đây thường được sử dụng?

  • A. Mảng (Array)
  • B. Danh sách liên kết (Linked List)
  • C. Cây nhị phân tìm kiếm (BST)
  • D. Heap (Heap)

Câu 18: Trong biểu diễn đồ thị bằng danh sách kề (adjacency list), bộ nhớ sử dụng phụ thuộc vào yếu tố nào?

  • A. Số lượng đỉnh của đồ thị
  • B. Mức độ kết nối của đồ thị
  • C. Tổng số đỉnh và cạnh của đồ thị
  • D. Trọng số của các cạnh (nếu có)

Câu 19: Thuật toán nào sau đây có thể được sử dụng để phát hiện chu trình trong một đồ thị có hướng?

  • A. Tìm kiếm theo chiều sâu (DFS)
  • B. Tìm kiếm theo chiều rộng (BFS)
  • C. Thuật toán Dijkstra
  • D. Thuật toán Prim

Câu 20: Trong bảng băm, kỹ thuật "separate chaining" (danh sách liên kết riêng rẽ) được sử dụng để giải quyết vấn đề gì?

  • A. Tăng tốc độ tìm kiếm
  • B. Xử lý xung đột băm
  • C. Giảm bộ nhớ sử dụng
  • D. Sắp xếp các phần tử trong bảng băm

Câu 21: Cho đoạn mã giả sau:
`function TimKiem(mang A, gia_tri x):
for i from 1 to length(A):
if A[i] == x:
return i
return -1`
Đoạn mã trên mô tả thuật toán tìm kiếm nào?

  • A. Tìm kiếm nhị phân
  • B. Tìm kiếm theo chiều rộng
  • C. Tìm kiếm tuyến tính
  • D. Tìm kiếm theo chiều sâu

Câu 22: Để đảo ngược một danh sách liên kết đơn, phương pháp nào sau đây hiệu quả nhất về mặt thời gian và không gian?

  • A. Sử dụng mảng phụ trợ để lưu trữ các phần tử rồi đảo ngược
  • B. Đệ quy
  • C. Sao chép danh sách sang một danh sách liên kết mới theo thứ tự ngược lại
  • D. Lặp và thay đổi con trỏ của các nút

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

  • A. Tìm đường đi ngắn nhất giữa các đỉnh
  • B. Gán màu cho các đỉnh sao cho không có hai đỉnh kề nhau nào có cùng màu và sử dụng ít màu nhất
  • C. Phân loại các đỉnh vào các nhóm khác nhau
  • D. Tìm chu trình Hamilton trong đồ thị

Câu 24: Cho một cây nhị phân đầy đủ (complete binary tree) có chiều cao h. Số lượng nút tối đa mà cây có thể chứa là bao nhiêu?

  • A. h
  • B. 2^h
  • C. 2^(h+1) - 1
  • D. h^2

Câu 25: Trong thuật toán Floyd-Warshall, ma trận nào được sử dụng để lưu trữ khoảng cách ngắn nhất giữa tất cả các cặp đỉnh?

  • A. Ma trận kề (Adjacency matrix)
  • B. Ma trận trọng số (Weight matrix)
  • C. Ma trận đường đi (Path matrix)
  • D. Ma trận khoảng cách (Distance matrix)

Câu 26: Để thực hiện duyệt theo chiều rộng (BFS) trên đồ thị, cấu trúc dữ liệu nào sau đây được sử dụng hiệu quả nhất?

  • A. Ngăn xếp (Stack)
  • B. Hàng đợi (Queue)
  • C. Mảng (Array)
  • D. Danh sách liên kết (Linked List)

Câu 27: Độ 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?

  • A. O(1)
  • B. O(log n)
  • C. O(n)
  • D. O(n log n)

Câu 28: Trong cây đỏ-đen (red-black tree), thuộc tính nào sau đây không phải là thuộc tính của cây đỏ-đen?

  • A. Mỗi nút là màu đỏ hoặc màu đen.
  • B. Nút gốc luôn là màu đen.
  • C. Mọi đường đi từ một nút đến các nút lá con cháu của nó đều chứa cùng số nút đen.
  • D. Nút lá luôn là màu đỏ.

Câu 29: Cho một mảng số nguyên chưa sắp xếp. Yêu cầu tìm phần tử lớn thứ k trong mảng. Giải thuật nào sau đây có độ phức tạp thời gian trung bình tốt nhất để giải quyết vấn đề này?

  • A. QuickSelect
  • B. Sắp xếp toàn bộ mảng rồi lấy phần tử thứ k
  • C. Tìm kiếm tuyến tính k lần
  • D. Sử dụng Heap Sort

Câu 30: Xét bài toán "Cái túi" (Knapsack problem) phiên bản 0/1. Phương pháp nào sau đây thường được sử dụng để giải bài toán này một cách tối ưu?

  • A. Thuật toán tham lam (Greedy algorithm)
  • B. Quy hoạch động (Dynamic Programming)
  • C. Tìm kiếm theo chiều sâu (DFS)
  • D. Tìm kiếm theo chiều rộng (BFS)

1 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 1: Cho một mảng đã được sắp xếp tăng dần. Giải thuật nào sau đây có độ phức tạp thời gian tốt nhất để tìm kiếm một phần tử cụ thể trong mảng?

2 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

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

3 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 3: Để duyệt một cây nhị phân theo thứ tự trước (pre-order traversal), bạn cần thực hiện các bước nào theo thứ tự đúng?

4 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 4: Giải thuật sắp xếp nào sau đây có độ phức tạp thời gian trung bình là O(n log n) và thường được coi là nhanh nhất trong thực tế cho các mảng lớn?

5 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 5: 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 trong đồ thị có trọng số không âm?

6 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

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

7 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 7: Độ phức tạp thời gian tốt nhất, trung bình và xấu nhất của thuật toán sắp xếp chèn (Insertion Sort) lần lượt là:

8 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 8: 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, ví dụ như cây thư mục trong hệ điều hành?

9 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 9: Thuật toán nào sau đây là một ví dụ của phương pháp 'chia để trị' (divide and conquer)?

10 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 10: Trong cây nhị phân tìm kiếm (BST), thao tác nào sau đây có độ phức tạp thời gian trung bình là O(log n)?

11 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 11: Xét một đồ thị vô hướng liên thông. Thuật toán nào sau đây tìm cây khung nhỏ nhất (Minimum Spanning Tree - MST)?

12 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 12: Để kiểm tra một biểu thức số học (ví dụ: (a+b)*c ) có hợp lệ về dấu ngoặc hay không, cấu trúc dữ liệu nào sau đây là phù hợp nhất?

13 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 13: Hàm băm (hash function) lý tưởng nên có tính chất nào sau đây để giảm thiểu xung đột?

14 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 14: Trong thuật toán sắp xếp Heap Sort, cấu trúc dữ liệu Heap được sử dụng là loại Heap nào?

15 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 15: Khi nào thì thuật toán tìm kiếm nhị phân (Binary Search) hoạt động hiệu quả nhất?

16 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 16: Cho một cây AVL. Điều gì luôn đúng với mọi nút trong cây AVL?

17 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 17: Để cài đặt hàng đợi ưu tiên (priority queue), cấu trúc dữ liệu nào sau đây thường được sử dụng?

18 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 18: Trong biểu diễn đồ thị bằng danh sách kề (adjacency list), bộ nhớ sử dụng phụ thuộc vào yếu tố nào?

19 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 19: Thuật toán nào sau đây có thể được sử dụng để phát hiện chu trình trong một đồ thị có hướng?

20 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 20: Trong bảng băm, kỹ thuật 'separate chaining' (danh sách liên kết riêng rẽ) được sử dụng để giải quyết vấn đề gì?

21 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 21: Cho đoạn mã giả sau:
`function TimKiem(mang A, gia_tri x):
for i from 1 to length(A):
if A[i] == x:
return i
return -1`
Đoạn mã trên mô tả thuật toán tìm kiếm nào?

22 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 22: Để đảo ngược một danh sách liên kết đơn, phương pháp nào sau đây hiệu quả nhất về mặt thời gian và không gian?

23 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

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

24 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 24: Cho một cây nhị phân đầy đủ (complete binary tree) có chiều cao h. Số lượng nút tối đa mà cây có thể chứa là bao nhiêu?

25 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 25: Trong thuật toán Floyd-Warshall, ma trận nào được sử dụng để lưu trữ khoảng cách ngắn nhất giữa tất cả các cặp đỉnh?

26 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 26: Để thực hiện duyệt theo chiều rộng (BFS) trên đồ thị, cấu trúc dữ liệu nào sau đây được sử dụng hiệu quả nhất?

27 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 27: Độ 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?

28 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 28: Trong cây đỏ-đen (red-black tree), thuộc tính nào sau đây không phải là thuộc tính của cây đỏ-đen?

29 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 29: Cho một mảng số nguyên chưa sắp xếp. Yêu cầu tìm phần tử lớn thứ k trong mảng. Giải thuật nào sau đây có độ phức tạp thời gian trung bình tốt nhất để giải quyết vấn đề này?

30 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cấu Trúc Dữ Liệu Và Giải Thuật

Tags: Bộ đề 5

Câu 30: Xét bài toán 'Cái túi' (Knapsack problem) phiên bản 0/1. Phương pháp nào sau đây thường được sử dụng để giải bài toán này một cách tối ưu?

Xem kết quả