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ễ

Mỗi nút trong danh sách liên kết đôi chứa gì?

  1. AHai bản sao dữ liệu và một con trỏ
  2. BDữ liệu và hai con trỏ, một tới nút kế tiếp và một tới nút đứng sau nút đó
  3. CDữ liệu và chỉ một con trỏ tới nút kế tiếp
  4. DDữ liệu, một con trỏ tới nút kế tiếp và một con trỏ tới nút trước
2.Dễ

Đồ thị có hướng là gì?

  1. AĐồ thị không có chu trình
  2. BĐồ thị có các cạnh mang hướng từ đỉnh này sang đỉnh khác
  3. CĐồ thị có mọi cạnh đều có trọng số
  4. DĐồ thị trong đó mọi cặp đỉnh phân biệt đều được nối bằng một cạnh
3.Dễ

Thao tác hàng đợi lấy phần tử ở đầu ra có tên là gì?

  1. AInsert
  2. BPush
  3. CDequeue
  4. DEnqueue
4.Trung bình

Phương pháp xử lý va chạm nào lưu các khóa va chạm trong một danh sách ở cùng một ngăn?

  1. ABăm kép
  2. BDò bậc hai
  3. CXâu chuỗi riêng (separate chaining)
  4. DDò tuyến tính
5.Trung bình

Vì sao duyệt mảng thường nhanh hơn nhiều trong thực tế so với duyệt danh sách liên kết cùng độ dài?

  1. ADuyệt mảng tổng cộng là O(1) còn duyệt danh sách liên kết là O(n)
  2. BCác phần tử mảng liền kề, nên tận dụng tốt bộ nhớ đệm CPU
  3. CDanh sách liên kết luôn lưu phần tử trên đĩa
  4. DMảng dùng ít lệnh hơn để so sánh giá trị
6.Trung bình

Bộ đệm vòng (circular buffer, ring buffer) thường được dùng để cài đặt:

  1. AHàm băm
  2. BCây tìm kiếm nhị phân
  3. CHàng đợi kích thước cố định
  4. DPhép duyệt đồ thị
7.Khó

Cây Fenwick (cây chỉ mục nhị phân) trên một mảng n số hỗ trợ những thao tác nào trong O(log n)?

  1. AChèn phần tử vào vị trí bất kỳ
  2. BTruy vấn tổng tiền tố và cập nhật một phần tử
  3. CSắp xếp mảng và tìm kiếm nhị phân
  4. DTìm trung vị trong O(1)
8.Khó

Bộ lọc Bloom có thể trả lời "phần tử này có trong tập không?" với:

  1. ACó thể có dương tính giả nhưng không có âm tính giả
  2. BLuôn luôn chính xác
  3. CChỉ trả lời cho các số
  4. DCó thể có âm tính giả nhưng không có dương tính giả

Đáp án

  1. 1. D · Dữ liệu, một con trỏ tới nút kế tiếp và một con trỏ tới nút trước
  2. 2. B · Đồ thị có các cạnh mang hướng từ đỉnh này sang đỉnh khác
  3. 3. C · Dequeue
  4. 4. C · Xâu chuỗi riêng (separate chaining)
  5. 5. B · Các phần tử mảng liền kề, nên tận dụng tốt bộ nhớ đệm CPU
  6. 6. C · Hàng đợi kích thước cố định
  7. 7. B · Truy vấn tổng tiền tố và cập nhật một phần tử
  8. 8. A · Có thể có dương tính giả nhưng không có âm tính giả

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