Phiếu bài tập Cấu trúc dữ liệu có đáp án

Phiếu bài tập Cấu trúc dữ liệu miễn phí để in: 8 bài từ cơ bản đến mức đề thi, kèm đáp án. In ra hoặc lưu thành PDF.

Dành cho giảng viên: miễn phí in, sao chép và sử dụng trên lớp. Mỗi phiếu bài tập mới có số liệu mới và đáp án riêng. Chúng tôi rất cảm ơn nếu bạn đặt liên kết đến ExamProblems trên trang môn học.

Tên: ____________________   Ngày: ____________

1.Dễ

Thao tác nào là O(1) với mảng nhưng O(n) với danh sách liên kết đơn?

  1. ATruy cập phần tử ở chỉ số i
  2. BXóa phần tử đầu
  3. CĐọc phần tử đầu tiên
  4. DChèn vào đầu
2.Dễ

Hệ số tải (load factor) của bảng băm là gì?

  1. ASố ngăn chia cho độ dài trung bình của các khóa được lưu
  2. BThời gian cần để tải bảng từ đĩa
  3. CSố va chạm cho đến hiện tại
  4. DSố phần tử đang lưu chia cho số ngăn
3.Dễ

Sự khác biệt chính giữa mảng tĩnh và mảng động là gì?

  1. AMảng tĩnh chỉ có thể lưu số
  2. BMảng tĩnh cho phép truy cập chỉ số chậm hơn
  3. CMảng động lưu các phần tử trong các nút liên kết để có thể tăng từng phần tử một
  4. DMảng động có thể tăng bằng cách chuyển sang một khối bộ nhớ lớn hơn
4.Trung bình

Một hàng đợi được cài đặt bằng hai ngăn xếp: đẩy vào ngăn xếp "vào", và lấy ra từ ngăn xếp "ra", nạp lại từ "vào" khi nó rỗng. Chi phí khấu hao mỗi thao tác là bao nhiêu?

  1. AO(n)
  2. BO(log n)
  3. CO(n²)
  4. DO(1)
5.Trung bình

Cây AVL và cây đỏ-đen đảm bảo:

  1. ACác khóa được lưu theo thứ tự chèn
  2. BKhông nút nào có hai con
  3. CTìm kiếm thời gian hằng số trong mọi trường hợp
  4. DChiều cao O(log n) nhờ cân bằng lại
6.Trung bình

Thuật toán Dijkstra dùng kiểu dữ liệu trừu tượng nào để chọn đỉnh kế tiếp cần xử lý?

  1. AHàng đợi FIFO
  2. BNgăn xếp
  3. CMột tập không có thứ tự
  4. DHàng đợi ưu tiên min
7.Khó

Với băm đồng nhất đơn giản, thời gian kỳ vọng của một lần tìm kiếm trong bảng băm xâu chuỗi, với n khóa và m ngăn, là bao nhiêu?

  1. AO(log n)
  2. BO(1 + α), với α = n / m
  3. CO(n)
  4. DO(m)
8.Khó

Nếu không có hợp theo hạng hay nén đường đi, chi phí trường hợp xấu nhất của một lần find trong cấu trúc union-find với n phần tử là bao nhiêu?

  1. AO(n)
  2. BO(α(n))
  3. CO(1)
  4. DO(log n)

Đáp án

  1. 1. A · Truy cập phần tử ở chỉ số i
  2. 2. D · Số phần tử đang lưu chia cho số ngăn
  3. 3. D · Mảng động có thể tăng bằng cách chuyển sang một khối bộ nhớ lớn hơn
  4. 4. D · O(1)
  5. 5. D · Chiều cao O(log n) nhờ cân bằng lại
  6. 6. D · Hàng đợi ưu tiên min
  7. 7. B · O(1 + α), với α = n / m
  8. 8. A · O(n)

Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.