Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật – Đề 13

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é!!!


Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Đề 13 - Bài tập, đề thi trắc nghiệm online Cấu trúc dữ liệu và giải thuật

1. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai chức năng `undo/redo` trong các ứng dụng chỉnh sửa?

A. Hàng đợi (Queue)
B. Ngăn xếp (Stack)
C. Cây nhị phân tìm kiếm (Binary Search Tree)
D. Bảng băm (Hash Table)

2. Giải thuật tham lam (Greedy algorithm) thường được sử dụng để giải quyết loại bài toán nào?

A. Bài toán tìm kiếm đường đi ngắn nhất trên đồ thị có trọng số âm
B. Bài toán tối ưu hóa, tìm giải pháp tối ưu cục bộ với hy vọng đạt được tối ưu toàn cục
C. Bài toán sắp xếp một lượng lớn dữ liệu
D. Bài toán tìm kiếm trong không gian trạng thái lớn

3. Trong cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào sau đây có thể làm mất cân bằng cây và dẫn đến hiệu suất suy giảm trong trường hợp xấu nhất?

A. Tìm kiếm (Search)
B. Chèn (Insertion)
C. Duyệt cây (Traversal)
D. Xóa (Deletion)

4. Độ phức tạp thời gian tốt nhất của thuật toán sắp xếp chèn (Insertion Sort) là gì?

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

5. Để phát hiện chu trình trong một đồ thị có hướng, thuật toán nào sau đây thường được sử dụng?

A. Thuật toán Dijkstra
B. Thuật toán Kruskal
C. DFS (Depth-First Search)
D. BFS (Breadth-First Search)

6. Trong cây Trie (tiền tố), thao tác nào sau đây có độ phức tạp thời gian phụ thuộc vào chiều dài của khóa (từ) chứ không phụ thuộc vào số lượng khóa trong cây?

A. Duyệt cây (Traversal)
B. Tìm kiếm (Search)
C. Sắp xếp (Sorting)
D. Cân bằng cây (Balancing)

7. Thuật toán DFS (Depth-First Search) trong đồ thị thường được sử dụng để làm gì?

A. Tìm đường đi ngắn nhất giữa hai đỉnh
B. Tìm kiếm theo chiều rộng
C. Kiểm tra tính liên thông của đồ thị
D. Sắp xếp các đỉnh theo thứ tự độ ưu tiên

8. Trong cấu trúc dữ liệu đồ thị (Graph), thuật toán BFS (Breadth-First Search) thường được sử dụng để làm gì?

A. Tìm đường đi ngắn nhất trong đồ thị có trọng số dương
B. Tìm đường đi ngắn nhất trong đồ thị không trọng số
C. Tìm chu trình âm trong đồ thị
D. Sắp xếp các đỉnh của đồ thị theo thứ tự topo

9. Ưu điểm chính của danh sách liên kết (Linked List) so với mảng (Array) là gì khi thực hiện các thao tác chèn và xóa phần tử?

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
C. Chèn và xóa phần tử ở đầu hoặc giữa danh sách nhanh hơn
D. Dễ dàng triển khai hơn

10. Cấu trúc dữ liệu hàng đợi (Queue) thường được sử dụng trong ứng dụng nào sau đây?

A. Quản lý lịch sử duyệt web
B. Đánh giá biểu thức số học
C. Xử lý tác vụ theo thứ tự đến trước phục vụ trước (FIFO)
D. Tìm kiếm đường đi ngắn nhất trong đồ thị

11. Cấu trúc dữ liệu cây nào sau đây đảm bảo thời gian tìm kiếm, chèn và xóa trung bình là O(log n) trong trường hợp lý tưởng?

A. Cây nhị phân suy biến (Degenerate Binary Tree)
B. Cây nhị phân tìm kiếm cân bằng (Balanced Binary Search Tree)
C. Cây phân đoạn (Segment Tree)
D. Cây Trie

12. Trong bảng băm (Hash Table), `xung đột` (collision) xảy ra khi nào?

A. Khi bảng băm đầy
B. Khi hai khóa khác nhau băm ra cùng một vị trí chỉ mục
C. Khi khóa tìm kiếm không tồn tại trong bảng băm
D. Khi kích thước bảng băm quá nhỏ

13. Trong biểu diễn đồ thị bằng danh sách kề (Adjacency List), không gian bộ nhớ cần thiết phụ thuộc vào yếu tố nào?

A. Số đỉnh của đồ thị
B. Số cạnh của đồ thị
C. Tổng số đỉnh và cạnh của đồ thị
D. Mức độ kết nối của đồ thị

14. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để triển khai hàng đợi ưu tiên (Priority Queue)?

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

15. Đệ quy (Recursion) trong lập trình liên quan mật thiết đến cấu trúc dữ liệu nào sau đây?

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

16. Độ phức tạp thời gian trung bình của thuật toán tìm kiếm tuyến tính (Linear Search) là bao nhiêu?

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

17. Hàm băm (Hash function) lý tưởng nên có tính chất nào sau đây?

A. Luôn tạo ra các giá trị băm giống nhau cho các khóa khác nhau
B. Phân phối đều các khóa vào các vị trí trong bảng băm để giảm thiểu xung đột
C. Có độ phức tạp tính toán cao để tăng tính bảo mật
D. Chỉ hoạt động với dữ liệu số nguyên

18. Giải thuật Dijkstra được sử dụng để giải quyết bài toán nào trong đồ thị?

A. Tìm chu trình âm
B. Tìm đường đi ngắn nhất từ một đỉnh nguồn đến tất cả các đỉnh khác trong đồ thị có trọng số không âm
C. Tìm cây khung nhỏ nhất
D. Sắp xếp topo

19. Độ 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)

20. Cấu trúc dữ liệu nào sau đây cho phép truy cập ngẫu nhiên đến các phần tử với độ phức tạp thời gian O(1)?

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

21. Kỹ thuật `chia để trị` (Divide and Conquer) là nền tảng của thuật toán sắp xếp nào sau đây?

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

22. 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. Mảng (Array)

23. Trong thuật toán sắp xếp vun đống (Heap Sort), cấu trúc dữ liệu `đống` (heap) được sử dụng để làm gì?

A. Lưu trữ các phần tử đã được sắp xếp
B. Chọn phần tử chốt
C. Tìm phần tử nhỏ nhất hoặc lớn nhất một cách hiệu quả
D. Chia mảng thành các đoạn con

24. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình và trường hợp xấu nhất đều là O(n log 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 nhanh (Quick Sort)
D. Sắp xếp trộn (Merge Sort)

25. Thuật toán sắp xếp nào sau đây là `không ổn định` (unstable sorting algorithm)?

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

26. Thuật toán tìm kiếm nhị phân (Binary Search) hoạt động hiệu quả nhất trên cấu trúc dữ liệu nào?

A. Danh sách liên kết (Linked List) chưa sắp xếp
B. Mảng (Array) đã sắp xếp
C. Cây nhị phân tìm kiếm (Binary Search Tree) chưa cân bằng
D. Đồ thị (Graph)

27. Khi nào thì thuật toán tìm kiếm tuyến tính (Linear Search) có thể hiệu quả hơn thuật toán tìm kiếm nhị phân (Binary Search)?

A. Khi mảng đã được sắp xếp
B. Khi kích thước mảng rất lớn
C. Khi cần tìm phần tử đầu tiên trong mảng
D. Khi mảng có kích thước nhỏ hoặc chưa được sắp xếp

28. Ưu điểm của việc sử dụng cây so với danh sách liên kết hoặc mảng để lưu trữ dữ liệu có thứ tự là gì?

A. Tiết kiệm bộ nhớ hơn
B. Truy cập phần tử nhanh hơn trong mọi trường hợp
C. Tìm kiếm, chèn và xóa hiệu quả hơn trong nhiều trường hợp
D. Dễ dàng duyệt tuần tự hơn

29. Trong thuật toán sắp xếp nhanh (Quick Sort), kỹ thuật `phân vùng` (partitioning) có vai trò gì?

A. Chọn phần tử trung vị
B. Chia mảng thành các đoạn con bằng nhau
C. Sắp xếp tại chỗ các phần tử nhỏ hơn và lớn hơn phần tử chốt
D. Trộn hai mảng đã sắp xếp

30. Kỹ thuật `quy hoạch động` (Dynamic Programming) thường được áp dụng để giải quyết các bài toán có tính chất nào?

A. Bài toán có không gian trạng thái nhỏ
B. Bài toán có cấu trúc cây
C. Bài toán con tối ưu chồng lấn và cấu trúc con tối ưu
D. Bài toán có thể giải quyết bằng giải thuật tham lam

1 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

1. Cấu trúc dữ liệu nào sau đây thường được sử dụng để triển khai chức năng 'undo/redo' trong các ứng dụng chỉnh sửa?

2 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

2. Giải thuật tham lam (Greedy algorithm) thường được sử dụng để giải quyết loại bài toán nào?

3 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

3. Trong cây nhị phân tìm kiếm (Binary Search Tree), thao tác nào sau đây có thể làm mất cân bằng cây và dẫn đến hiệu suất suy giảm trong trường hợp xấu nhất?

4 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

4. Độ phức tạp thời gian tốt nhất của thuật toán sắp xếp chèn (Insertion Sort) là gì?

5 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

5. Để phát hiện chu trình trong một đồ thị có hướng, thuật toán nào sau đây thường được sử dụng?

6 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

6. Trong cây Trie (tiền tố), thao tác nào sau đây có độ phức tạp thời gian phụ thuộc vào chiều dài của khóa (từ) chứ không phụ thuộc vào số lượng khóa trong cây?

7 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

7. Thuật toán DFS (Depth-First Search) trong đồ thị thường được sử dụng để làm gì?

8 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

8. Trong cấu trúc dữ liệu đồ thị (Graph), thuật toán BFS (Breadth-First Search) thường được sử dụng để làm gì?

9 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

9. Ưu điểm chính của danh sách liên kết (Linked List) so với mảng (Array) là gì khi thực hiện các thao tác chèn và xóa phần tử?

10 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

10. Cấu trúc dữ liệu hàng đợi (Queue) thường được sử dụng trong ứng dụng nào sau đây?

11 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

11. Cấu trúc dữ liệu cây nào sau đây đảm bảo thời gian tìm kiếm, chèn và xóa trung bình là O(log n) trong trường hợp lý tưởng?

12 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

12. Trong bảng băm (Hash Table), 'xung đột' (collision) xảy ra khi nào?

13 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

13. Trong biểu diễn đồ thị bằng danh sách kề (Adjacency List), không gian bộ nhớ cần thiết phụ thuộc vào yếu tố nào?

14 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

14. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để triển khai hàng đợi ưu tiên (Priority Queue)?

15 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

15. Đệ quy (Recursion) trong lập trình liên quan mật thiết đến cấu trúc dữ liệu nào sau đây?

16 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

16. Độ phức tạp thời gian trung bình của thuật toán tìm kiếm tuyến tính (Linear Search) là bao nhiêu?

17 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

17. Hàm băm (Hash function) lý tưởng nên có tính chất nào sau đây?

18 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

18. Giải thuật Dijkstra được sử dụng để giải quyết bài toán nào trong đồ thị?

19 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

19. Độ 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?

20 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

20. Cấu trúc dữ liệu nào sau đây cho phép truy cập ngẫu nhiên đến các phần tử với độ phức tạp thời gian O(1)?

21 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

21. Kỹ thuật 'chia để trị' (Divide and Conquer) là nền tảng của thuật toán sắp xếp nào sau đây?

22 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

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

23 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

23. Trong thuật toán sắp xếp vun đống (Heap Sort), cấu trúc dữ liệu 'đống' (heap) được sử dụng để làm gì?

24 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

24. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình và trường hợp xấu nhất đều là O(n log n)?

25 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

25. Thuật toán sắp xếp nào sau đây là 'không ổn định' (unstable sorting algorithm)?

26 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

26. Thuật toán tìm kiếm nhị phân (Binary Search) hoạt động hiệu quả nhất trên cấu trúc dữ liệu nào?

27 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

27. Khi nào thì thuật toán tìm kiếm tuyến tính (Linear Search) có thể hiệu quả hơn thuật toán tìm kiếm nhị phân (Binary Search)?

28 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

28. Ưu điểm của việc sử dụng cây so với danh sách liên kết hoặc mảng để lưu trữ dữ liệu có thứ tự là gì?

29 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

29. Trong thuật toán sắp xếp nhanh (Quick Sort), kỹ thuật 'phân vùng' (partitioning) có vai trò gì?

30 / 30

Category: Đề thi, bài tập trắc nghiệm online Cấu trúc dữ liệu và giải thuật

Tags: Bộ đề 13

30. Kỹ thuật 'quy hoạch động' (Dynamic Programming) thường được áp dụng để giải quyết các bài toán có tính chất nào?