Skip to content
Võ Việt Hoàng SEO - Founder SEO GenZ

Viet Hoang Vo's SEO Portfolio

Case study SEO, Ấn phẩm SEO, Blog SEO

    • Trang chủ
    • Điều khoản sử dụng
    • Quiz Online
    • Blog SEO
    • Tools
    • Võ Việt Hoàng SEO
    • SEO GenZ
    • Sitemap

    Trang chủ » Trắc nghiệm Cấu trúc dữ liệu và giải thuật chương 2

    Danh sách các chương
    • Chương 1
    • Chương 2
    • Chương 3
    • Chương 4
    • Chương 5
    • Chương 6
    • Chương 7
    • Chương 8
    • Chương 9

    Trắc nghiệm Cấu trúc dữ liệu và giải thuật

    Trắc nghiệm Cấu trúc dữ liệu và giải thuật chương 2

    Ngày cập nhật: 26/02/2026

    Lưu ý và Miễn trừ trách nhiệm:Các câu hỏi và đáp án trong bộ trắc nghiệm này được xây dựng với mục đích hỗ trợ ôn luyện kiến thức và tham khảo. Nội dung này không phản ánh tài liệu chính thức, đề thi chuẩn hay bài kiểm tra chứng chỉ từ bất kỳ tổ chức giáo dục hoặc cơ quan cấp chứng chỉ chuyên ngành nào. Admin không chịu trách nhiệm về độ chính xác tuyệt đối của thông tin cũng như mọi quyết định bạn đưa ra dựa trên kết quả của các bài trắc nghiệm.

    Cùng bắt đầu hành trình chinh phục bộ Trắc nghiệm Cấu trúc dữ liệu và giải thuật chương 2. Bộ câu hỏi trắc nghiệm sẽ mang đến cho bạn trải nghiệm học tập tích cực và chủ động. Chỉ cần chọn một bộ câu hỏi phía dưới và bắt đầu khám phá ngay. Hy vọng bạn sẽ đạt kết quả cao, chăm chỉ và tập trung!

    ★★★★★
    ★★★★★
    4.5/5 (138 đánh giá)

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

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

    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. Danh sách liên kết (Linked List)
    C. Ngăn xếp (Stack)
    D. Cây (Tree)

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

    A. Số lượng đỉnh
    B. Số lượng cạnh
    C. Hướng của các cạnh
    D. Trọng số của các cạnh

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

    A. Mảng (Array)
    B. Danh sách liên kết (Linked List)
    C. Heap
    D. Cây (Tree)

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

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

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

    A. Mảng (Array)
    B. Danh sách liên kết (Linked List)
    C. Cây (Tree)
    D. Bảng băm (Hash Table)

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

    A. Truy cập ngẫu nhiên đến các phần tử
    B. Xử lý dữ liệu theo thứ tự đến trước phục vụ trước (FIFO)
    C. Tìm kiếm nhanh chóng các phần tử
    D. Sắp xếp dữ liệu theo thứ tự

    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?

    A. Tất cả các nút con bên trái lớn hơn nút gốc
    B. Tất cả các nút con bên phải nhỏ hơn nút gốc
    C. Tất cả các nút con bên trái nhỏ hơn nút gốc và tất cả các nút con bên phải lớn hơn nút gốc
    D. Tất cả các nút có cùng giá trị

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

    A. Khi dữ liệu chưa được sắp xếp
    B. Khi cần tìm kiếm phần tử đầu tiên trong danh sách
    C. Khi dữ liệu đã được sắp xếp
    D. Khi cần tìm kiếm phần tử cuối cùng trong danh sách

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

    A. Breadth-First Search (BFS)
    B. Depth-First Search (DFS)
    C. Dijkstra’s Algorithm
    D. Prim’s Algorithm

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

    A. Merge Sort
    B. Quick Sort
    C. Heap Sort
    D. Radix Sort

    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?

    A. Peek
    B. Push
    C. Pop
    D. Search

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

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

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

    A. Khi kích thước dữ liệu đã biết trước và không thay đổi
    B. Khi cần truy cập ngẫu nhiên đến các phần tử
    C. Khi cần chèn hoặc xóa các phần tử ở giữa danh sách một cách hiệu quả
    D. Khi cần tiết kiệm bộ nhớ

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

    A. Mảng (Array)
    B. Danh sách liên kết (Linked List)
    C. Cây (Tree)
    D. Hàng đợi (Queue)

    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?

    A. Breadth-First Search (BFS)
    B. Depth-First Search (DFS)
    C. Dijkstra’s Algorithm
    D. Prim’s Algorithm

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

    A. Nút gốc (Root)
    B. Nút lá (Leaf)
    C. Nút cha (Parent)
    D. Nút con (Child)

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

    A. Push
    B. Pop
    C. Peek
    D. Search

    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?

    A. Bubble Sort
    B. Insertion Sort
    C. Merge Sort
    D. Selection Sort

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

    A. Một đường đi không chứa cạnh lặp lại
    B. Một đường đi bắt đầu và kết thúc ở cùng một đỉnh
    C. Một đường đi chứa tất cả các đỉnh của đồ thị
    D. Một đường đi ngắn nhất giữa hai đỉnh

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

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

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

    A. Mảng (Array)
    B. Danh sách liên kết (Linked List)
    C. Bảng băm (Hash Table)
    D. Cây (Tree)

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

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

    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?

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

    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?

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

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

    A. Bubble Sort
    B. Insertion Sort
    C. Merge Sort
    D. Selection Sort

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

    A. Breadth-First Search (BFS)
    B. Depth-First Search (DFS)
    C. Dijkstra’s Algorithm
    D. Prim’s Algorithm

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

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

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

    A. Khi cần độ ổn định (stability) trong sắp xếp
    B. Khi cần độ phức tạp thời gian tốt nhất trong mọi trường hợp
    C. Khi không gian bộ nhớ là một yếu tố quan trọng
    D. Khi dữ liệu đã gần được sắp xếp

    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?

    A. Mảng (Array)
    B. Danh sách liên kết (Linked List)
    C. Hàng đợi (Queue)
    D. Cây (Tree)

    31. Ưu điểm của việc sử dụng bảng băm (hash table) so với cây tìm kiếm nhị phân (binary search tree) là gì?

    A. Duyệt các phần tử theo thứ tự đã sắp xếp
    B. Tìm kiếm, chèn và xóa phần tử nhanh hơn (trung bình)
    C. Sử dụng ít bộ nhớ hơn
    D. Dễ dàng triển khai hơn

    32. Khi nào nên sử dụng cấu trúc dữ liệu bảng băm (hash table)?

    A. Khi cần truy cập các phần tử theo thứ tự đã sắp xếp
    B. Khi cần tìm kiếm phần tử nhanh chóng dựa trên khóa (key)
    C. Khi cần lưu trữ dữ liệu theo cấu trúc cây
    D. Khi cần thực hiện các thao tác LIFO

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

    A. Một đường đi không chứa cạnh lặp lại
    B. Một đường đi bắt đầu và kết thúc tại cùng một đỉnh
    C. Một đường đi ngắn nhất giữa hai đỉnh
    D. Một đường đi chứa tất cả các đỉnh của đồ thị

    34. Thuật toán tìm kiếm nào yêu cầu dữ liệu phải được sắp xếp trước?

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

    35. Ứng dụng thực tế của cấu trúc dữ liệu ngăn xếp (stack) trong trình biên dịch là gì?

    A. Quản lý bộ nhớ
    B. Kiểm tra cú pháp
    C. Tối ưu hóa mã
    D. Sinh mã đối tượng

    36. Trong cấu trúc dữ liệu hàng đợi (queue), thao tác nào loại bỏ một phần tử khỏi đầu hàng đợi?

    A. Push
    B. Enqueue
    C. Peek
    D. Dequeue

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

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

    38. Khi nào nên sử dụng thuật toán sắp xếp chèn (insertion sort)?

    A. Khi cần sắp xếp một mảng lớn
    B. Khi cần sắp xếp một mảng đã gần như được sắp xếp
    C. Khi cần sắp xếp một mảng có các phần tử giống nhau
    D. Khi cần sắp xếp một mảng theo thứ tự ngược lại

    39. Cấu trúc dữ liệu nào phù hợp nhất để kiểm tra xem một biểu thức toán học có cân bằng dấu ngoặc hay không?

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

    40. Thuật toán sắp xếp nào có độ phức tạp thời gian trung bình là O(n log n)?

    A. Bubble Sort
    B. Insertion Sort
    C. Merge Sort
    D. Selection Sort

    41. Cấu trúc dữ liệu nào 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)?

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

    42. Trong cấu trúc dữ liệu đồ thị, một cây bao trùm tối thiểu (minimum spanning tree) là gì?

    A. Một cây chứa tất cả các đỉnh của đồ thị với tổng trọng số các cạnh là lớn nhất
    B. Một cây chứa một nửa số đỉnh của đồ thị với tổng trọng số các cạnh là nhỏ nhất
    C. Một cây chứa tất cả các đỉnh của đồ thị với tổng trọng số các cạnh là nhỏ nhất
    D. Một cây không chứa bất kỳ chu trình nào

    43. Trong cấu trúc dữ liệu cây tìm kiếm nhị phân, thao tác nào dùng để duy trì tính chất của cây sau khi chèn hoặc xóa một nút?

    A. Tìm kiếm
    B. Cân bằng cây
    C. Duyệt cây
    D. Hoán đổi nút

    44. Trong cấu trúc dữ liệu đồ thị, một đồ thị vô hướng (undirected graph) khác với đồ thị có hướng (directed graph) như thế nào?

    A. Đồ thị vô hướng có các cạnh chỉ đi theo một hướng
    B. Đồ thị vô hướng có các cạnh không có hướng
    C. Đồ thị vô hướng không có chu trình
    D. Đồ thị vô hướng luôn được kết nối

    45. Cấu trúc dữ liệu nào thường được sử dụng để triển khai bộ nhớ cache?

    A. Mảng (Array)
    B. Hàng đợi (Queue)
    C. Bảng băm (Hash Table)
    D. Danh sách liên kết (Linked List)

    46. Khi nào nên sử dụng thuật toán tìm kiếm theo chiều sâu (depth-first search)?

    A. Khi cần tìm đường đi ngắn nhất giữa hai đỉnh
    B. Khi cần duyệt tất cả các đỉnh của đồ thị theo thứ tự khoảng cách từ đỉnh bắt đầu
    C. Khi cần kiểm tra xem một đồ thị có liên thông hay không
    D. Khi cần tìm kiếm một phần tử trong một mảng đã sắp xếp

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

    A. Merge Sort
    B. Heap Sort
    C. Quick Sort
    D. Radix Sort

    48. Trong cấu trúc dữ liệu cây, một nút lá (leaf node) là gì?

    A. Nút có hai con
    B. Nút không có con
    C. Nút có một con
    D. Nút gốc

    49. Trong cấu trúc dữ liệu cây, chiều cao của cây là gì?

    A. Số lượng nút trong cây
    B. Số lượng cạnh trong cây
    C. Độ dài đường đi dài nhất từ nút gốc đến nút lá
    D. Số lượng nút lá trong cây

    50. Cấu trúc dữ liệu nào phù hợp để biểu diễn mối quan hệ cha-con trong một gia đình?

    A. Mảng (Array)
    B. Hàng đợi (Queue)
    C. Cây (Tree)
    D. Danh sách liên kết (Linked List)

    51. Trong thuật toán sắp xếp trộn (merge sort), giai đoạn nào thực hiện việc kết hợp hai mảng con đã sắp xếp thành một mảng lớn hơn đã sắp xếp?

    A. Chia nhỏ
    B. So sánh
    C. Trộn
    D. Hoán đổi

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

    A. Khi chỉ cần duyệt danh sách theo một hướng
    B. Khi cần truy cập các phần tử ngẫu nhiên
    C. Khi cần duyệt danh sách theo cả hai hướng
    D. Khi cần tiết kiệm bộ nhớ

    53. Trong cấu trúc dữ liệu đồ thị, thuật toán Dijkstra được sử dụng để làm gì?

    A. Tìm cây bao trùm tối thiểu
    B. Tìm đường đi ngắn nhất giữa hai đỉnh
    C. Tìm chu trình trong đồ thị
    D. Sắp xếp các đỉnh của đồ thị

    54. Thuật toán sắp xếp nào hoạt động bằng cách liên tục hoán đổi các cặp phần tử liền kề nếu chúng không đúng thứ tự?

    A. Merge Sort
    B. Quick Sort
    C. Bubble Sort
    D. Insertion Sort

    55. Độ phức tạp thời gian trung bình để tìm kiếm một phần tử trong một cây tìm kiếm nhị phân (binary search tree) cân bằng là bao nhiêu?

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

    56. Độ phức tạp thời gian tốt nhất của thuật toán tìm kiếm nhị phân (binary search) là bao nhiêu?

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

    57. Trong cấu trúc dữ liệu ngăn xếp (stack), thao tác nào thêm một phần tử vào đỉnh ngăn xếp?

    A. Pop
    B. Peek
    C. Push
    D. Dequeue

    58. Trong cấu trúc dữ liệu cây (tree), nút gốc (root) là gì?

    A. Nút không có con
    B. Nút có nhiều con nhất
    C. Nút không có cha
    D. Nút nằm ở mức thấp nhất của cây

    59. Ứng dụng thực tế của cấu trúc dữ liệu hàng đợi (queue) trong hệ thống máy tính là gì?

    A. Quản lý các lệnh gọi hàm
    B. Quản lý các tiến trình chờ CPU
    C. Quản lý bộ nhớ
    D. Quản lý các biến cục bộ

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

    A. Truy cập ngẫu nhiên nhanh hơn
    B. Sử dụng bộ nhớ hiệu quả hơn khi kích thước không xác định trước
    C. Tìm kiếm phần tử nhanh hơn
    D. Sắp xếp phần tử dễ dàng hơn

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

    A. Sắp xếp nhanh (Quick Sort)
    B. Sắp xếp vun đống (Heap Sort)
    C. Sắp xếp đếm (Counting Sort)
    D. Sắp xếp trộn (Merge Sort)

    62. Thuật toán nào sau đây 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 trong một đồ thị có trọng số không âm?

    A. Tìm kiếm theo chiều sâu (Depth-First Search)
    B. Tìm kiếm theo chiều rộng (Breadth-First Search)
    C. Thuật toán Dijkstra
    D. Thuật toán Prim

    63. Trong cây đỏ-đen (red-black tree), mỗi nút được gán một màu là đỏ hoặc đen, quy tắc nào sau đây luôn được tuân thủ?

    A. Tất cả các nút đều phải có màu đỏ
    B. Tất cả các nút đều phải có màu đen
    C. Nếu một nút là đỏ, thì cả hai con của nó phải là đen
    D. Nếu một nút là đen, thì cả hai con của nó phải là đỏ

    64. Khi nào nên sử dụng danh sách liên kết vòng (circular linked list)?

    A. Khi cần truy cập phần tử cuối cùng nhanh chóng
    B. Khi cần truy cập phần tử đầu tiên nhanh chóng
    C. Khi cần duyệt qua danh sách một cách lặp đi lặp lại
    D. Khi cần sắp xếp các phần tử

    65. Trong cấu trúc dữ liệu hàng đợi (queue), thao tác nào loại bỏ một phần tử khỏi đầu hàng đợi?

    A. Push
    B. Pop
    C. Enqueue
    D. Dequeue

    66. Ứng dụng nào sau đây phù hợp nhất với cấu trúc dữ liệu đồ thị (graph)?

    A. Lưu trữ danh sách các số
    B. Biểu diễn mối quan hệ giữa các thành phố trên bản đồ
    C. Triển khai chức năng ‘undo’ trong một trình soạn thảo văn bản
    D. Sắp xếp một danh sách các tên

    67. Trong một cây nhị phân tìm kiếm (binary search tree), thuộc tính nào sau đây luôn đúng?

    A. Tất cả các nút đều có hai con
    B. Giá trị của nút gốc lớn hơn tất cả các nút khác
    C. Giá trị của tất cả các nút con bên trái nhỏ hơn giá trị của nút cha, và giá trị của tất cả các nút con bên phải lớn hơn giá trị của nút cha
    D. Cây luôn cân bằng

    68. Thứ tự duyệt cây nào sau đây thăm nút gốc trước?

    A. Inorder
    B. Postorder
    C. Level order
    D. Preorder

    69. Trong một cây AVL, yếu tố cân bằng (balance factor) của một nút là gì?

    A. Số lượng nút trong cây con bên trái
    B. Số lượng nút trong cây con bên phải
    C. Hiệu số giữa chiều cao của cây con bên trái và chiều cao của cây con bên phải
    D. Chiều cao của cây

    70. Nhược điểm chính của việc sử dụng danh sách liên kết (linked list) so với mảng (array) là gì?

    A. Sử dụng bộ nhớ hiệu quả hơn
    B. Truy cập ngẫu nhiên chậm hơn
    C. Thêm phần tử nhanh hơn
    D. Xóa phần tử nhanh hơn

    71. Sự khác biệt chính giữa thuật toán Prim và thuật toán Kruskal là gì?

    A. Thuật toán Prim bắt đầu từ một nút duy nhất và mở rộng cây, trong khi thuật toán Kruskal thêm các cạnh có trọng số nhỏ nhất mà không tạo thành chu trình
    B. Thuật toán Kruskal bắt đầu từ một nút duy nhất và mở rộng cây, trong khi thuật toán Prim thêm các cạnh có trọng số nhỏ nhất mà không tạo thành chu trình
    C. Thuật toán Prim chỉ hoạt động trên đồ thị có hướng, trong khi thuật toán Kruskal chỉ hoạt động trên đồ thị vô hướng
    D. Thuật toán Kruskal hiệu quả hơn thuật toán Prim

    72. Trong cấu trúc dữ liệu Heap, phần tử nào luôn nằm ở gốc?

    A. Phần tử lớn nhất
    B. Phần tử nhỏ nhất
    C. Phần tử ở giữa
    D. Phần tử đầu tiên được thêm vào

    73. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một chuỗi ký tự có phải là palindrome hay không?

    A. Hàng đợi (Queue)
    B. Ngăn xếp (Stack)
    C. Mảng (Array)
    D. Cây (Tree)

    74. Độ phức tạp thời gian tốt nhất để tìm kiếm một phần tử trong một mảng đã được sắp xếp bằng thuật toán tìm kiếm nhị phân (binary search) là gì?

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

    75. 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 sâu (Depth-First Search)?

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

    76. Cấu trúc dữ liệu nào 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 (Tree)

    77. Khi nào nên sử dụng bảng băm (hash table) thay vì mảng (array)?

    A. Khi cần truy cập các phần tử theo thứ tự
    B. Khi cần lưu trữ một số lượng nhỏ các phần tử
    C. Khi cần tìm kiếm, chèn và xóa các phần tử một cách nhanh chóng dựa trên khóa
    D. Khi cần sắp xếp các phần tử

    78. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc FIFO (First In, First Out)?

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

    79. Tại sao cần cây cân bằng (balanced tree) như cây AVL hoặc cây đỏ-đen (red-black tree)?

    A. Để giảm thiểu việc sử dụng bộ nhớ
    B. Để đảm bảo độ phức tạp thời gian O(1) cho tất cả các thao tác
    C. Để ngăn chặn trường hợp xấu nhất của cây nhị phân tìm kiếm (binary search tree), đảm bảo độ phức tạp thời gian O(log n) cho các thao tác tìm kiếm, chèn và xóa
    D. Để đơn giản hóa việc triển khai

    80. Trong cấu trúc dữ liệu ngăn xếp (stack), thao tác nào thêm một phần tử vào đỉnh ngăn xếp?

    A. Pop
    B. Peek
    C. Push
    D. Dequeue

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

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

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

    A. Truy cập ngẫu nhiên nhanh hơn
    B. Sử dụng bộ nhớ hiệu quả hơn khi kích thước không xác định trước
    C. Tìm kiếm phần tử nhanh hơn
    D. Sắp xếp phần tử dễ dàng hơn

    83. Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai chức năng ‘undo’ trong một trình soạn thảo văn bản?

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

    84. Thứ tự duyệt cây nào sau đây thăm nút gốc sau cùng?

    A. Inorder
    B. Postorder
    C. Preorder
    D. Level order

    85. Trong danh sách liên kết kép (doubly linked list), mỗi nút chứa bao nhiêu con trỏ?

    A. Một
    B. Hai
    C. Ba
    D. Không có con trỏ

    86. Thuật toán nào sau đây tìm cây khung nhỏ nhất (minimum spanning tree) trong một đồ thị?

    A. Thuật toán Dijkstra
    B. Thuật toán Ford-Fulkerson
    C. Thuật toán Kruskal
    D. Tìm kiếm theo chiều sâu (Depth-First Search)

    87. Điều gì xảy ra khi có sự xung đột (collision) trong bảng băm (hash table)?

    A. Phần tử mới không được chèn vào bảng
    B. Bảng băm tự động tăng kích thước
    C. Hai hoặc nhiều phần tử được lưu trữ ở cùng một vị trí
    D. Lỗi tràn bộ nhớ xảy ra

    88. Để biểu diễn một hàng đợi (queue) bằng một mảng, điều gì xảy ra khi đạt đến cuối mảng?

    A. Hàng đợi bị đầy và không thể thêm phần tử
    B. Các phần tử được chuyển sang đầu mảng để tiếp tục sử dụng
    C. Một mảng mới lớn hơn được tạo và các phần tử được sao chép sang
    D. Lỗi tràn bộ nhớ xảy ra

    89. Độ 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) trong một mảng chưa được sắp xếp là gì?

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

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

    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 trộn (Merge Sort)
    D. Sắp xếp chọn (Selection Sort)

    91. Cho một biểu thức hậu tố (postfix) ‘2 3 + 5 *’. Giá trị của biểu thức này là bao nhiêu?

    A. 13
    B. 25
    C. 16
    D. 20

    92. Khi nào nên sử dụng hàng đợi hai đầu (deque) thay vì hàng đợi thông thường?

    A. Khi cần thêm và xóa phần tử ở cả hai đầu của hàng đợi.
    B. Khi cần truy cập ngẫu nhiên các phần tử.
    C. Khi cần sắp xếp các phần tử theo thứ tự ưu tiên.
    D. Khi cần quản lý bộ nhớ hiệu quả hơn.

    93. Độ phức tạp thời gian trung bình để thêm một phần tử vào hàng đợi (queue) sử dụng mảng vòng (circular array) là bao nhiêu?

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

    94. Ưu điểm chính của việc sử dụng hàng đợi (queue) so với mảng (array) trong một số ứng dụng là gì?

    A. Hàng đợi cho phép truy cập ngẫu nhiên các phần tử nhanh hơn.
    B. Hàng đợi tự động sắp xếp các phần tử theo thứ tự tăng dần.
    C. Hàng đợi đảm bảo thứ tự xử lý các phần tử theo nguyên tắc FIFO (First In, First Out).
    D. Hàng đợi sử dụng ít bộ nhớ hơn so với mảng.

    95. Trong cấu trúc dữ liệu ngăn xếp (stack), thao tác nào sau đây không được phép?

    A. Truy cập trực tiếp một phần tử ở giữa ngăn xếp.
    B. Đẩy (push) một phần tử vào ngăn xếp.
    C. Lấy (pop) một phần tử ra khỏi ngăn xếp.
    D. Kiểm tra xem ngăn xếp có rỗng hay không.

    96. Trong việc lập lịch CPU, thuật toán nào sau đây có thể được mô phỏng bằng hàng đợi (queue)?

    A. Shortest Job First (SJF).
    B. Priority Scheduling.
    C. Round Robin.
    D. First Come, First Served (FCFS).

    97. Ưu điểm của việc sử dụng danh sách liên kết (linked list) để cài đặt hàng đợi (queue) so với mảng (array) là gì?

    A. Danh sách liên kết cho phép truy cập ngẫu nhiên các phần tử nhanh hơn.
    B. Danh sách liên kết sử dụng ít bộ nhớ hơn mảng.
    C. Danh sách liên kết có thể mở rộng kích thước một cách linh hoạt.
    D. Danh sách liên kết dễ cài đặt hơn mảng.

    98. Cho một ngăn xếp (stack) đã đầy. Thao tác nào sau đây sẽ gây ra lỗi tràn ngăn xếp (stack overflow)?

    A. Pop.
    B. Peek.
    C. Push.
    D. IsEmpty.

    99. Trong thuật toán duyệt đồ thị theo chiều rộng (BFS), cấu trúc dữ liệu nào sau đây được sử dụng?

    A. Ngăn xếp (stack).
    B. Hàng đợi (queue).
    C. Cây (tree).
    D. Đồ thị (graph).

    100. Cho một hàng đợi (queue) chứa các số [1, 2, 3] (1 là phần tử đầu hàng). Sau khi thực hiện một thao tác dequeue và thêm số 4 vào hàng đợi, hàng đợi sẽ chứa những phần tử nào (từ đầu đến cuối)?

    A. [1, 2, 3, 4]
    B. [2, 3, 4]
    C. [4, 1, 2, 3]
    D. [3, 4]

    101. Trong việc quản lý bộ nhớ, kỹ thuật nào sau đây sử dụng hàng đợi (queue) để xử lý các yêu cầu cấp phát bộ nhớ?

    A. First-Fit.
    B. Best-Fit.
    C. FIFO.
    D. LRU.

    102. Khi nào nên sử dụng ngăn xếp (stack) thay vì hàng đợi (queue)?

    A. Khi cần xử lý các phần tử theo thứ tự đến trước.
    B. Khi cần truy cập ngẫu nhiên các phần tử.
    C. Khi cần xử lý các phần tử theo thứ tự đến sau cùng.
    D. Khi cần quản lý các tác vụ theo thứ tự ưu tiên.

    103. Ứng dụng nào sau đây phù hợp nhất với cấu trúc dữ liệu hàng đợi (queue)?

    A. Quản lý các lệnh in trong một hệ thống in ấn.
    B. Tìm kiếm đường đi ngắn nhất trong một đồ thị.
    C. Đảo ngược một chuỗi ký tự.
    D. Kiểm tra xem một biểu thức toán học có cân bằng dấu ngoặc hay không.

    104. Trong bài toán ‘Tháp Hà Nội’, cấu trúc dữ liệu nào được sử dụng một cách hiệu quả để mô phỏng các cột?

    A. Hàng đợi (queue).
    B. Ngăn xếp (stack).
    C. Cây (tree).
    D. Đồ thị (graph).

    105. Khi nào nên sử dụng hàng đợi vòng (circular queue) thay vì hàng đợi tuyến tính (linear queue)?

    A. Khi cần sử dụng lại không gian bộ nhớ đã giải phóng ở đầu hàng đợi.
    B. Khi cần truy cập ngẫu nhiên các phần tử.
    C. Khi cần sắp xếp các phần tử theo thứ tự ưu tiên.
    D. Khi số lượng phần tử trong hàng đợi không thay đổi.

    106. Thuật toán nào sau đây thường được sử dụng để chuyển đổi một biểu thức trung tố (infix) thành biểu thức hậu tố (postfix)?

    A. Thuật toán Dijkstra.
    B. Thuật toán sắp xếp nổi bọt (bubble sort).
    C. Sử dụng ngăn xếp (stack).
    D. Sử dụng hàng đợi (queue).

    107. Trong một hàng đợi ưu tiên (priority queue) được cài đặt bằng heap, thao tác nào sau đây có độ phức tạp thời gian tốt nhất để tìm phần tử có độ ưu tiên cao nhất?

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

    108. Ứng dụng nào sau đây không phù hợp với cấu trúc dữ liệu ngăn xếp (stack)?

    A. Quản lý lịch sử duyệt web (back/forward).
    B. Kiểm tra tính hợp lệ của biểu thức ngoặc.
    C. Mô phỏng việc gọi hàm trong chương trình.
    D. Tìm kiếm đường đi ngắn nhất trong một mê cung.

    109. Đâu là nhược điểm chính của việc sử dụng mảng (array) để cài đặt ngăn xếp (stack) so với danh sách liên kết (linked list)?

    A. Mảng yêu cầu cấp phát bộ nhớ tĩnh, có thể dẫn đến tràn bộ nhớ nếu kích thước ngăn xếp vượt quá kích thước mảng.
    B. Mảng cho phép truy cập ngẫu nhiên các phần tử nhanh hơn.
    C. Mảng sử dụng nhiều bộ nhớ hơn danh sách liên kết.
    D. Mảng dễ cài đặt hơn danh sách liên kết.

    110. Cho một biểu thức trung tố (infix): `(2 + 3) * 4`. Biểu thức hậu tố (postfix) tương ứng là gì?

    A. 2 3 + 4 *
    B. 2 3 4 + *
    C. 2 + 3 * 4
    D. * + 2 3 4

    111. Trong một hệ thống phục vụ nhiều yêu cầu đồng thời, cấu trúc dữ liệu nào được sử dụng để đảm bảo các yêu cầu được xử lý theo thứ tự đến?

    A. Ngăn xếp (stack).
    B. Hàng đợi (queue).
    C. Cây (tree).
    D. Đồ thị (graph).

    112. Trong cài đặt hàng đợi (queue) bằng mảng vòng (circular array), điều gì xảy ra khi `rear` vượt quá kích thước của mảng?

    A. `rear` được đặt lại về 0.
    B. Một lỗi tràn bộ nhớ xảy ra.
    C. `rear` giữ nguyên giá trị và hàng đợi không thể thêm phần tử mới.
    D. `rear` tăng lên kích thước mảng.

    113. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một chuỗi ký tự có phải là palindrome (đọc xuôi ngược như nhau) hay không?

    A. Hàng đợi (queue).
    B. Ngăn xếp (stack).
    C. Cây (tree).
    D. Mảng (array).

    114. Cho một ngăn xếp (stack) chứa các số nguyên [1, 2, 3, 4, 5] (5 là phần tử trên cùng). Sau khi thực hiện hai thao tác pop, ngăn xếp sẽ chứa những phần tử nào (từ đáy lên)?

    A. [1, 2, 3]
    B. [1, 2, 3, 4]
    C. [1, 2]
    D. [4, 5]

    115. Đâu là ứng dụng thực tế của hàng đợi ưu tiên (priority queue)?

    A. Quản lý tác vụ trong hệ điều hành, ưu tiên các tác vụ quan trọng.
    B. Duyệt cây theo thứ tự trước (preorder traversal).
    C. Đảo ngược một chuỗi ký tự.
    D. Kiểm tra tính cân bằng của dấu ngoặc trong biểu thức.

    116. Một hệ thống quản lý tác vụ sử dụng hàng đợi ưu tiên (priority queue) để xác định thứ tự thực hiện các tác vụ. Tác vụ nào sẽ được thực hiện tiếp theo?

    A. Tác vụ đến sau cùng.
    B. Tác vụ đến đầu tiên.
    C. Tác vụ có độ ưu tiên cao nhất.
    D. Tác vụ có thời gian thực hiện ngắn nhất.

    117. Trong một ứng dụng quản lý bộ nhớ, kỹ thuật nào sử dụng ngăn xếp để theo dõi các khối bộ nhớ đã được giải phóng?

    A. Best-Fit.
    B. First-Fit.
    C. LIFO.
    D. FIFO.

    118. Trong một hệ thống quản lý bộ nhớ sử dụng kỹ thuật phân trang (paging), cấu trúc dữ liệu nào có thể được sử dụng để theo dõi các trang đã được sử dụng gần đây nhất?

    A. Ngăn xếp (stack).
    B. Hàng đợi (queue).
    C. Danh sách liên kết (linked list).
    D. Bảng băm (hash table).

    119. Trong thuật toán tìm kiếm theo chiều sâu (DFS) của đồ thị, cấu trúc dữ liệu nào thường được sử dụng?

    A. Hàng đợi (queue).
    B. Ngăn xếp (stack).
    C. Heap.
    D. Mảng băm (hash table).

    120. Trong việc xử lý прерывания (interrupts) trong hệ điều hành, cấu trúc dữ liệu nào thường được sử dụng để quản lý các прерывания chờ xử lý?

    A. Ngăn xếp (stack).
    B. Hàng đợi (queue).
    C. Cây (tree).
    D. Đồ thị (graph).

    121. 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) trong trường hợp tốt nhất?

    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)

    122. 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. Mảng (Array)
    C. Ngăn xếp (Stack)
    D. Danh sách liên kết (Linked List)

    123. Khi nào nên sử dụng thuật toán sắp xếp đếm (Counting Sort)?

    A. Khi dữ liệu cần sắp xếp có phạm vi giá trị lớn
    B. Khi dữ liệu cần sắp xếp là số thực
    C. Khi dữ liệu cần sắp xếp có phạm vi giá trị nhỏ và là số nguyên
    D. Khi cần sắp xếp dữ liệu trực tuyến (online)

    124. Khi nào nên sử dụng thuật toán sắp xếp chèn (Insertion Sort) thay vì các thuật toán sắp xếp phức tạp hơn như Merge Sort hoặc Quick Sort?

    A. Khi dữ liệu cần sắp xếp rất lớn
    B. Khi dữ liệu gần như đã được sắp xếp
    C. Khi cần sắp xếp dữ liệu trực tuyến (online)
    D. Khi cần độ phức tạp thời gian tốt nhất trong mọi trường hợp

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

    A. Duyệt cây theo thứ tự trước (Preorder Traversal)
    B. Duyệt cây theo thứ tự sau (Postorder Traversal)
    C. Tìm kiếm một nút
    D. Duyệt cây theo thứ tự giữa (Inorder Traversal)

    126. Trong cây nhị phân tìm kiếm, thao tác nào sau đây yêu cầu duyệt toàn bộ cây trong trường hợp xấu nhất?

    A. Tìm kiếm một nút
    B. Chèn một nút
    C. Xóa một nút
    D. Tìm nút nhỏ nhất hoặc lớn nhất

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

    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 trộn (Merge Sort)
    D. Sắp xếp chọn (Selection Sort)

    128. Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai thuật toán Dijkstra tìm đường đi ngắn nhất trên đồ thị?

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

    129. Khi nào nên sử dụng danh sách liên kết kép (Doubly Linked List) thay vì danh sách liên kết đơn (Singly Linked List)?

    A. Khi cần tiết kiệm bộ nhớ
    B. Khi cần duyệt danh sách theo cả hai chiều
    C. Khi cần tìm kiếm nhanh hơn
    D. Khi cần sắp xếp danh sách nhanh hơn

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

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

    131. Trong thuật toán tìm kiếm theo chiều rộng (Breadth-First Search – BFS), cấu trúc dữ liệu nào được sử dụng để lưu trữ các nút cần được thăm?

    A. Ngăn xếp (Stack)
    B. Hàng đợi (Queue)
    C. Cây (Tree)
    D. Đồ thị (Graph)

    132. Độ phức tạp thời gian của thao tác chèn vào đầu một danh sách liên kết đơn (Singly Linked List) là bao nhiêu?

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

    133. Thuật toán sắp xếp nào sau đây là ổn định (stable)?

    A. Sắp xếp nhanh (Quick Sort)
    B. Sắp xếp chọn (Selection Sort)
    C. Sắp xếp trộn (Merge Sort)
    D. Sắp xếp vun đống (Heap Sort)

    134. Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai bộ nhớ cache?

    A. Mảng (Array)
    B. Danh sách liên kết (Linked List)
    C. Hàng đợi (Queue)
    D. Bảng băm (Hash Table)

    135. Ư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 ngẫu nhiên nhanh hơn
    B. Sử dụng bộ nhớ hiệu quả hơn khi kích thước không xác định trước
    C. Tìm kiếm nhanh hơn
    D. Dễ dàng sắp xếp hơn

    136. Cấu trúc dữ liệu nào sau đây phù hợp nhất để kiểm tra xem một chuỗi ký tự có phải là palindrome hay không?

    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)

    137. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình tốt nhất?

    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)

    138. Cấu trúc dữ liệu nào sau đây phù hợp nhất để triển khai chức năng hoàn tác (undo) và làm lại (redo) trong một trình soạn thảo văn bản?

    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)

    139. 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, chẳng hạn như cấu trúc thư mục trong hệ điều hành?

    A. Mảng (Array)
    B. Danh sách liên kết (Linked List)
    C. Cây (Tree)
    D. Đồ thị (Graph)

    140. Khi nào nên sử dụng thuật toán tìm kiếm tuyến tính (Linear Search) thay vì tìm kiếm nhị phân (Binary Search)?

    A. Khi dữ liệu đã được sắp xếp
    B. Khi dữ liệu chưa được sắp xếp
    C. Khi cần tìm kiếm phần tử lớn nhất
    D. Khi cần tìm kiếm phần tử nhỏ nhất

    141. Cây nào sau đây đảm bảo rằng độ cao của cây luôn được giữ ở mức tối thiểu, giúp cho các thao tác tìm kiếm, chèn và xóa có độ phức tạp O(log n)?

    A. Cây nhị phân tìm kiếm (Binary Search Tree)
    B. Cây AVL
    C. Cây đầy đủ (Complete Binary Tree)
    D. Cây suy biến (Degenerate Tree)

    142. Trong thuật toán tìm kiếm theo chiều sâu (Depth-First Search – DFS), cấu trúc dữ liệu nào được sử dụng để lưu trữ các nút cần được thăm?

    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)

    143. Độ phức tạp thời gian của thao tác xóa một phần tử khỏi cuối một danh sách liên kết đơn (Singly Linked List) là bao nhiêu?

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

    144. Độ phức tạp thời gian của thao tác tìm kiếm trong một mảng đã được sắp xếp bằng thuật toán tìm kiếm nhị phân là bao nhiêu?

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

    145. Ưu điểm chính của việc sử dụng bảng băm (Hash Table) là gì?

    A. Sắp xếp dữ liệu nhanh chóng
    B. Tìm kiếm, chèn và xóa phần tử trong thời gian trung bình O(1)
    C. Duyệt các phần tử theo thứ tự đã chèn
    D. Lưu trữ dữ liệu theo thứ tự tăng dần

    146. Cấu trúc dữ liệu nào sau đây cho phép truy cập các phần tử theo chỉ số (index) trong thời gian O(1)?

    A. Danh sách liên kết (Linked List)
    B. Cây nhị phân tìm kiếm (Binary Search Tree)
    C. Mảng (Array)
    D. Hàng đợi (Queue)

    147. Trong bảng băm (Hash Table), hiện tượng gì xảy ra khi hai khóa khác nhau được băm (hash) vào cùng một vị trí?

    A. Tràn bộ nhớ (Memory Overflow)
    B. Xung đột (Collision)
    C. Lỗi phân đoạn (Segmentation Fault)
    D. Mất dữ liệu (Data Loss)

    148. 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 xấu nhất là O(n)?

    A. Tìm kiếm một nút
    B. Chèn một nút
    C. Xóa một nút
    D. Tất cả các đáp án trên

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

    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 trộn (Merge Sort)
    D. Sắp xếp nhanh (Quick Sort)

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

    Số câu đã làm: 0/0
    Thời gian còn lại: 00:00:00
    • Đã làm
    • Chưa làm
    • Cần kiểm tra lại

    Về Blog

    Viet Hoang Vo's SEO Portfolio - Nơi Võ Việt Hoàng SEO lưu giữ Case Study, ấn phẩm SEO, đây cũng là Blog SEO Thứ 2.

    Social

    • Facebook
    • Instagram
    • X
    • LinkedIn
    • YouTube
    • Spotify
    • Threads
    • Bluesky
    • TikTok
    • Pinterest

    Hệ sinh thái Võ Việt Hoàng SEO

    Võ Việt Hoàng Blog Võ Việt Hoàng Portfolio SEO Genz Community Võ Việt Hoàng Official site

    Về Tác Giả

    Võ Việt Hoàng SEO (tên thật là Võ Việt Hoàng) là một SEOer tại Việt Nam, được biết đến với vai trò sáng lập cộng đồng SEO GenZ – Cộng Đồng Học Tập SEO. Sinh năm 1998 tại Đông Hòa, Phú Yên. Hiện đang làm việc tại Hồ Chí Minh.

    Vị trí: SEO Leader | Digital Marketer | Founder SEO GenZ | Tác giả các ấn phẩm Social Profile Entity SEO

    Liên hệ: hoangvv.blogger@gmail.com

    SEO Publications

    Slideshare | Google Scholar | Issuu | Fliphtml5 | Pubhtml5 | Anyflip | Academia.edu | Visual Paradigm | Files.fm | Scribd | Behance | Slideserve | Coda | Calameo | Archive.org

    Professional Social Networks

    Upwork | Ybox | Fiverr | Vlance | Freelancer | Brandsvietnam | Advertisingvietnam | Xing | Webflow | Site123 | Weebly

    Miễn Trừ Trách Nhiệm

    Tất cả các nội dung trên Website chỉ mang tính tham khảo, không đại diện cho quan điểm chính thức của bất kỳ tổ chức nào.

    Nội dung các câu hỏi và đáp án thuộc danh mục "Quiz online" được xây dựng với mục tiêu tham khảo và hỗ trợ học tập. Đây KHÔNG PHẢI là tài liệu chính thức hay đề thi từ bất kỳ tổ chức giáo dục hoặc đơn vị cấp chứng chỉ chuyên ngành nào.

    Admin không chịu trách nhiệm về tính chính xác tuyệt đối của nội dung hoặc bất kỳ quyết định nào của bạn được đưa ra dựa trên kết quả của các bài trắc nghiệm cũng như nội dung bài viết trên Website.

    Copyright © 2024 Được xây dựng bởi Võ Việt Hoàng (Võ Việt Hoàng SEO)

    Bạn ơi!!! Để xem kết quả, bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

    Đang tải nhiệm vụ...

    Bước 1: Mở tab mới và truy cập Google.com và tìm kiếm chính xác từ khóa sau:

    Bước 2: Tìm và click vào kết quả có trang web giống như hình ảnh dưới đây:

    Hướng dẫn tìm kiếm

    Nếu không tìm thấy, vui lòng tìm ở trang 2, 3, 4... của kết quả tìm kiếm nhé.

    Bước 3: Kéo xuống cuối trang đó để tìm mật khẩu chính là SỐ LƯỢT XEM như hình ảnh hướng dẫn:

    Hướng dẫn lấy mật khẩu

    Nếu tìm không thấy mã bạn có thể Đổi nhiệm vụ để lấy mã khác nhé.

    Bạn ơi!!! Để xem được kết quả, bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

    HƯỚNG DẪN TÌM MẬT KHẨU

    Đang tải nhiệm vụ...

    Bước 1: Mở tab mới và truy cập Google.com. Sau đó tìm kiếm chính xác từ khóa sau:

    Bước 2: Tìm và click vào kết quả có trang web giống như hình ảnh dưới đây:

    Hướng dẫn tìm kiếm

    Bước 3: Kéo xuống cuối trang đó để tìm mật khẩu như hình ảnh hướng dẫn:

    Hướng dẫn lấy mật khẩu

    Nếu tìm không thấy mã bạn có thể Đổi nhiệm vụ để lấy mã khác nhé.