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. ADữ 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. BDữ liệu và chỉ một con trỏ tới nút kế tiếp
  3. CDữ 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 đó
  4. DHai bản sao dữ liệu và một con trỏ
2.Dễ

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

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

Ánh xạ (map, từ điển) lưu gì?

  1. AChỉ các giá trị theo thứ tự chèn
  2. BCác cặp khóa bằng nhau
  3. CCác giá trị sắp theo kích thước
  4. DCác cặp khóa-giá trị với khóa duy nhất
4.Trung bình

Cấu trúc dữ liệu nào được dùng để kiểm tra các dấu ngoặc trong "{[()]}" có cân bằng hay không?

  1. ABảng băm
  2. BCây tìm kiếm nhị phân
  3. CHàng đợi
  4. DNgăn xếp
5.Trung bình

Chương trình đang chạy dùng cấu trúc dữ liệu nào để theo dõi các lời gọi hàm đang hoạt động và biến cục bộ của chúng?

  1. ABảng băm các hàm
  2. BHàng đợi bộ nhớ heap
  3. CCây tìm kiếm nhị phân các khung
  4. DNgăn xếp lời gọi (call stack)
6.Trung bình

Trong hàng đợi vòng lưu trong mảng có sức chứa n, vị trí kế tiếp sau chỉ số i được tính thế nào?

  1. A(i + 1) mod n
  2. Bi + 1
  3. C(i − 1) mod n
  4. D2i + 1
7.Khó

Mảng động nhân đôi khi đầy. Vì sao nhiều cách cài đặt chỉ thu nhỏ nó khi đầy một phần tư, không phải một nửa?

  1. AVì bộ cấp phát bộ nhớ chỉ có thể giải phóng bộ nhớ theo phần tư của một khối
  2. BĐể tránh đổi kích thước liên tục khi push và pop xen kẽ gần ranh giới
  3. CĐể giữ mảng được sắp xếp
  4. DVì chia đôi ở một nửa sẽ làm mất phần tử
8.Khó

Trong bộ đệm vòng, front == rear có thể nghĩa là rỗng hoặc đầy. Cách phổ biến để phân biệt là gì?

  1. ALưu front và rear trong cùng một biến
  2. BLuôn xóa bộ đệm bất cứ khi nào front bằng rear, nên trạng thái là rỗng
  3. CGiữ một bộ đếm phần tử riêng, hoặc luôn để trống một ô
  4. DLàm kích thước bộ đệm là lũy thừa của hai

Đáp án

  1. 1. A · 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. D · Đồ thị có các cạnh mang hướng từ đỉnh này sang đỉnh khác
  3. 3. D · Các cặp khóa-giá trị với khóa duy nhất
  4. 4. D · Ngăn xếp
  5. 5. D · Ngăn xếp lời gọi (call stack)
  6. 6. A · (i + 1) mod n
  7. 7. B · Để tránh đổi kích thước liên tục khi push và pop xen kẽ gần ranh giới
  8. 8. C · Giữ một bộ đếm phần tử riêng, hoặc luôn để trống một ô

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