Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

TT/8.2.

4/KK-BM04

ĐỀ KIỂM TRA - MÔN: CẤU TRÚC DỮ LIỆU & GIẢI THUẬT


Mã đề: 01 Thời gian làm bài: 75 phút Lớp/nhóm: DHTH
Mã học phần: 01.01.000420
Lưu ý: Sử dụng tài liệu khi làm bài thi  Được  Không được

Câu 1. (2.0 điểm) Cho danh sách liên kết đơn sl chứa các số nguyên. Hãy viết hàm thực hiện
việc tính trung bình cộng giá trị các nút là số chính phương của sl, với khai báo nguyên mẫu
hàm được cho như sau:
double tinhTBC_SoChinhPhuong(SList sl);
Câu 2. (2.0 điểm) Áp dụng giải thuật chuyển đổi biểu thức dạng trung tố (Infix) có các phép toán
+, -, *, /, các toán hạng, dấu ngoặc sang hậu tố (Postfix) bằng cách sử dụng Stack. Hãy mô tả từng
bước quá trình chuyển biểu thức trung tố M = ((3 + 5) – (6 / 2 - 1)) - 4 sang dạng hậu tố bằng
cách sử dụng Stack. Yêu cầu mô tả từng bước theo dạng bảng sau:
STT Ký tự đang đọc Stack Biểu thức Hậu tố

Câu 3. (2.0 điểm) Cho khai báo cấu trúc dữ liệu của cây nhị phân chứa các số nguyên như sau:
struct BTNode
{
int Info;
BTNode *Left;
BTNode *Right;
};
a. Viết hàm đếm số nút có đủ 2 nút con. Cho trước khai báo nguyên mẫu hàm như sau:
int countBTNodeHave2Child(BTNode *root);
b. Viết hàm tính tổng giá trị các nút ở mức k nhưng chỉ có 1 con. Cho trước khai báo nguyên
mẫu hàm như sau:
int sumBTNodeOneChildLevelK(BTNode *root, int k);
Câu 4. (2.0 điểm) Cho một mảng số nguyên a như sau: 15, 45, 25, 18, 23, 60, 8, 12, 5, 24.
Hãy vẽ cây AVL khi thêm lần lượt các giá trị của dãy đã cho vào cây (vẽ cây minh họa từng
bước).
Câu 5. (2.0 điểm) Cho một mảng số nguyên a như sau: 15, 45, 25, 18, 23, 60, 8, 12, 5, 24, 30, 20,
35.
a. Hãy vẽ cây nhiều nhánh B-Tree 4 Phân khi thêm lần lượt các giá trị của dãy đã cho vào cây
(vẽ cây minh họa từng bước).
b. Hãy vẽ cây nhiều nhánh B-Tree 4 Phân khi xóa lần lượt các giá trị 5, 35 của cây (vẽ cây minh
họa từng bước).

Mã đề: 01 Trang: 1/2


TT/8.2.4/KK-BM04

-- Hết –
Chú ý: Cán bộ coi thi không giải thích đề thi

Mã đề: 01 Trang: 2/2

You might also like