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ã đề: 02 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 list chứa các số nguyên được khai báo như sau:
struct Node struct SList
{ {
int Info; Node
Node *next; *head;
}; Node
*tail;
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ố hoàn thiện của list, với khai báo nguyên mẫu hàm được cho
như sau:
double tinhTBC_SoHoanThien(SList list);
Câu 2. (2.0 điểm) Hãy vận dụng stack, viết hàm đảo ngược các chữ số có trong 1 số nguyên, cho
trước nguyên mẫu hàm (1.0 điểm):
void DaoNguocSoNguyen(int n);
Giả sử đã cho sẵn các hàm:
void initStack(Stack &s)
int push(stack &s, StackNode* p)
int pop(Stack &s, ItemType &x)
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ó 1 cây con. Cho trước khai báo nguyên mẫu hàm như sau:
int countBTNodeHave1Child(BTNode *root);
b. Viết hàm đếm các nút ở mức k có đủ 2 cây con. Cho trước khai báo nguyên mẫu hàm như sau:
int countBTNodeOneChildLevelK(BTNode *root, int k);
Câu 4 (2.0 điểm). Cho một dãy các khóa như sau: 25, 37, 76, 46, 42, 39, 10, 30, 32
a) (1.0đ) 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).
b) (1.0đ) Hãy lần lượt xóa các nút 25, 10 trên cây AVL đã vẽ ở câu a (vẽ lại cây khi xóa từng nút)
Câu 5. (2.0 điểm) Cho một dãy số nguyên như sau: 15, 45, 25, 18, 23, 60, 8, 12, 5, 24, 30, 20, 35.

Mã đề: 01 Trang: 1/2


TT/8.2.4/KK-BM04

a) (1.0đ) Hãy vẽ hình minh họa cho trường hợp theo lần lượt các giá trị trên vào bảng băm có có
kích MAXSIZE là 7 và hàm băm f(key)=key%7.
b) (1.0đ) Viết hàm tính tổng các số lẻ có trong bảng băm. Cho trước khai báo nguyên
mẫu hàm như sau: int tongPhanTuLe(NodePtr hashTable); biết rằng hàm int hashFunction(int key)
đã được cho sẵn và cấu trúc bảng băm được khai báo như sau:

struct HashNode
{
int Key;
HashNode* Next;
};
typedef HashNode*
NodePtr;
NodePtr
bucket[MAXSIZE];

.
-- Hết –

Mã đề: 01 Trang: 2/2

You might also like