Mã đề TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BỘ MÔN KHOA HỌC MÁY TÍNH DH 20133 - 01 *** Họ tên: …………………………… ĐỀ THI MÔN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Ngày thi: … /… /… Lớp: ………………………………… SHSV: ……………………………… Hà nội, … /… / … Trưởng môn Thời gian 90’ (Sinh viên sử dụng tài liệu) Bài a) Cho biểu thức trung tố sau (3 + 𝑎)/2 − 𝑐 + 2/𝑎 Hãy xây dựng biểu thức tương ứng b) Giả sử bạn có câu nhị phân gồm có nút có nút Khi duyệt theo thứ tự trước từ gốc ta ký hiệu L theo trái R theo phải Với thứ tự duyệt trước thu LLRLRLRRLR chiều cao là? Bài Danh sách liên kết đơn chứa n số nguyên struct Node { int data; struct Node *pNext; } a) Giả sử danh sách liên kết đơn nối vòng Hãy viết hàm tìm trả phần tử danh sách cách nhanh head -4 -6 struct Node findMid(struct Node *head) b) Hoàn thiện hàm tìm vị trí cắt danh sách thành nửa cho tổng độ chênh lệch nửa nhỏ void splitLinkedList(struct Node **head, struct Node **secondhead) 1|Page head head -4 -6 secondhead -4 -6 Bài STACK QUEUE a) Khi biểu diễn ngăn xếp trường hợp tổng quát ta nên dùng Mảng hay danh sách liên kết? Vì sao? b) Cho tập hợp gồm n điểm đen n điểm trắng cách Hãy mô tả thuật toán kết nối điểm đen với điểm trắng cho tổng khoảng cách nhỏ c) Cho danh sách gồm thời gian n buổi họp ngày Hãy xây dựng hàm tìm số phòng cần sử dụng để đảm bảo họp trùng thời gian bố trí phòng khác struct Meeting { int start, finish; } int findNumberofRooms(struct Meeting A[], int n) Để cho đơn giản, ta tính thời gian bắt đầu kết thúc (start, finish) số phút chênh lệch so với 00:00 ngày hôm Bài Cho mảng chứa n số nguyên bất kỳ, viết hàm tìm in hình dãy tăng lớn Đánh giá theo 𝑂 lớn thời gian thực nhớ sử dụng trường hợp tồi void maxIncrementalSequence(int A[], int n) Bài Hãy xây dựng hàm tính 𝑥 𝑛 với (𝑛 ≥ 0, 𝑥 > 0) với thời gian cỡ 𝑂(log 𝑛) Bài Cây nhị phân struct BNode { int data; struct BNode *left,*right,*parent; } a) Viết hàm in nút mà không dùng đệ quy void printLeaves(struct BNode *root) b) Viết hàm đếm số nút có đầy đủ nhị phân int countNodes(struct BNODE *root) 2|Page ... đen n điểm trắng cách Hãy mô tả thuật toán kết nối điểm đen với điểm trắng cho tổng khoảng cách nhỏ c) Cho danh sách gồm thời gian n buổi họp ngày Hãy xây dựng hàm tìm số phòng cần sử dụng để... nguyên bất kỳ, viết hàm tìm in hình dãy tăng lớn Đánh giá theo