Mời các bạn cùng tham khảo đề thi Cấu trúc dữ liệu và giải thuật sau đây để biết được cấu trúc đề thi, cách thức làm bài thi cũng như những dạng bài chính được đưa ra trong đề thi. Từ đó, giúp các bạn sinh viên có kế hoạch học tập và ôn thi hiệu quả.
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 Họ tên: …………………………… Lớp: ………………………………… SHSV: ……………………………… *** ĐỀ THI MÔN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Ngày thi: … /… /… CD 2011 - 01 Hà nội, … /… / … Trưởng môn Thời gian 90’ (Sinh viên sử dụng tài liệu) Bài a) Phân biệt mảng cấp phát động mảng cấp phát tĩnh Khi nên dùng mảng cấp phát động, mảng cấp phát tĩnh? Cho ví dụ họa b) Đánh giá thời gian thực tồi hàm sau theo O-lớn double fastPower(double x, int n) { double fract; if(n==0) return 1; } if(n%2==0) return fastPower(x,n/2)*fastPower(x,n/2); else return fastPower(x,n/2)*fastPower(x,n/2)*x; c) So sánh ưu nhược điểm phương pháp tổ chức tìm kiếm dùng mảng áp dụng thuật tốn tìm kiếm nhị phân, nhị phân tìm kiếm dùng bảng băm theo tiêu chí sau Tiêu chí Bộ nhớ dùng lưu trữ phần tử Thời gian tìm kiếm Thêm phần tử Xoá phần tử In danh sách phần tử có Tìm kiếm nhị phân Cây nhị phân tìm kiếm Bảng băm Bài a) Biểu thức dạng hậu tố gì? Ưu điểm biểu thức dạng hậu tố? b) Chuyển biểu thức dạng trung tố sau sang dạng hậu tố 𝑎 + 3/(2 ∗ 𝑎 − 𝑐 ∗ 𝑏) − 𝑒 c) Vẽ biểu thức biểu diễn cho biểu thức phần b (không cần phải trình bày bước trung gian) 1|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài a) Cho nhị phân tìm kiếm ban đầu hình thêm dãy khóa 43, 12, 36, 78, 29, 16, 9, 65, 27, 32 Hãy vẽ nhị phân kết thu cuối (không cần trình bày bước trung gian) b) Với nhị phân tìm kiếm thu phần a, thực xóa khóa 18 36 Hãy vẽ kết thu sau lần xóa Chú ý: chọn nút thay nút phải trái Bài Cho đơn đồ thị vô hướng 𝐺(𝑉, 𝐸) sau 𝑉 = {𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺, 𝐻} 𝐸 = {(𝐴, 𝐵), (𝐴, 𝐶), (𝐴, 𝐸), (𝐵, 𝐸), (𝐵, 𝐺), (𝐶, 𝐷), (𝐶, 𝐵), (𝐷, 𝐸), (𝐹, 𝐷), (𝐹, 𝐸), (𝐹, 𝐺), (𝐻, 𝐵), (𝐻, 𝐺)} a) Hãy biểu diễn đồ thị dùng danh sách kề b) Thực DFS từ đỉnh D, đưa thứ tự đỉnh thăm c) Hãy đưa loại cạnh thu DFS đỉnh D (BackEdge, CrossEdge, TreeEdge ForwardEdge) Lưu ý: Các đỉnh đồ thị thăm theo thứ tự ABC Bài Để biểu diễn tập hợp số nguyên ta dùng danh sách liên kết đơn với cấu trúc phần tử khai báo sau: typedef struct Node { int data; struct node *pNext; } NODE; a) Hãy xây dựng hàm tìm trả giá trị phần tử chẵn lớn tập hợp trường hợp biết phần tử tập hợp xếp theo thứ tự tăng dần giá trị int FindMax (NODE *pHead) { } b) Hãy đánh giá thời gian thực trường hợp tồi hàm bạn viết theo O-lớn 2|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt ... nguyên ta dùng danh sách liên kết đơn với cấu trúc phần tử khai báo sau: typedef struct Node { int data; struct node *pNext; } NODE; a) Hãy xây dựng hàm tìm trả giá trị phần tử chẵn lớn tập hợp... dần giá trị int FindMax (NODE *pHead) { } b) Hãy đánh giá thời gian thực trường hợp tồi hàm bạn viết theo O-lớn 2|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt