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 20132 - 01 *** Họ tên: …………………………… ĐỀ THI MÔN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Lớp: ………………………………… SHSV: ……………………………… Hà nội, … /… / … Trưởng môn Ngày thi: … /… /… 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 ∗ 𝑎 + 𝑏 − (𝑐 + 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 LLRLRR chiều cao là? Bài Một hãng điện thoại chuẩn bị tung thị trường mẫu điện thoại Để đặt mua trước sản phẩm, khách hàng đăng ký website công ty Mỗi khách hàng đăng ký tối đa đăng ký trước ưu tiên Mã khách hàng đăng ký số lượng đăng ký lưu lại Khách hàng sau đăng ký hủy đơn hàng không yêu cầu (đơn hàng hủy trước ngày giao hàng ngày) Trong trình sản xuất, số lượng sản phẩm sản xuất không đủ số lượng yêu cầu người nhận hàng người lại nhận email thông báo việc hết hàng Hãy mô tả cấu trúc liệu mà bạn sử dụng để thực công việc Đánh giá thời gian thực thao tác thêm yêu cầu, hủy yêu cầu thông báo email theo O-lớn Bài Danh sách liên kết đơn chứa n số nguyên struct Node { int data; struct Node *pNext; } Hoàn thiện hàm xếp lại danh sách cho số âm đẩy cuối dãy số dương đầu dãy Hàm cần có thời gian thực cỡ 𝑂(𝑛) không sử dụng thêm nhớ phụ (ngoại trừ vài biến trỏ phụ) void reorganize(struct Node **head) 1|Page input head -4 -6 -4 -6 head output Bài 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ỏ Bài Cho ma trận mxn chứa toàn số Hãy viết hàm tìm trả nhóm số kết nối với nhiều (các số kết nối theo hàng cột) 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 dài Đá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) 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1 0 1 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; } Viết hàm in nút struct void printLeaves(struct BNode *root) 2|Page ... 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ỏ Bài Cho ma trận mxn chứa toàn số Hãy viết hàm tìm trả nhóm số kết nối với nhiều (các số kết nối theo hàng cột) Bài... 1 1 0 1 Bài Hãy xây dựng hàm tính