Đề thi Cấu trúc dữ liệu và giải thuật giúp các bạn sinh viên có thêm tài liệu để củng cố các kiến thức, ôn tập kiểm tra, thi cuối kỳ. Đây là tài liệu bổ ích để các em ôn luyện và kiểm tra kiến thức tốt, chuẩn bị cho kì thi học kì. Mời các em và các quý thầy cô giáo bộ môn tham khảo.
Mã đề CD 2012 - 03 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: …………………………… ĐỀ 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 Cho hàm khai báo sau (tham số 𝑎, 𝑏 số nguyên không âm) long mistery(int a, int b) { if(a==0) return 0; if(a%2==0) return 2*mistery(a/2,b); return b+2*mistery((a-1)/2,b); } a Hàm sau thực công việc gì? Tính giá trị hàm với a=5 b=7 b Đánh giá độ phức tạp hàm mistery theo O-lớn Bài Cho biểu thức sau a Duyệt biểu thức để đưa biểu thức dạng tiền tố, hậu tố b Với a=36 b=5, minh họa thuật toán định giá biểu thức hậu tố biểu thức hậu tố thu từ phần a b Chú ý: √ ký hiệu toán tử bậc hai Bài Cây nhị phân tìm kiếm a) Thêm nút 25, 32, 14, 21, 19, 17, 23, 5, vào nhị phân tìm kiếm ban đầu rỗng, vẽ kết thu b) Với kết phần b ta xóa nút 1, vẽ kết thu Thay nút trái phải c) Cho cấu trúc nút khai báo sau struct BinaryNode { double data; struct BinaryNode } + a Figure Cây biểu thức *Left, *Right; Hãy hoàn thiện hàm tìm trả số lượng nút có giá trị nhỏ x int *CountNodes(struct BinaryNode *root, double x) CuuDuongThanCong.com / https://fb.com/tailieudientucntt Bài a) Để biểu diễn đa thức bậc n 𝑃𝑛 (𝑥) = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + +𝑎1 𝑥 + 𝑎𝑛+1 Và thực thao tác cộng, trừ, nhân chia với đa thức ta nên sử dụng mảng hay danh sách liên kết? Hãy giải thích b) Giả sử có danh sách gồm 100 phần tử kiểu double lưu trữ mảng, cần phải thực xếp Khi ta nên chọn thuật tốn xếp thuật toán học để thu hiệu tốt nhất? Giải thích lý do? Nếu số lượng phần tử 000 000 lưu trữ dùng danh sách liên kết đơn nên dùng thuật tốn nào? Giải thích lý do? c) Giả sử cần quản lý danh sách khách hàng có tối đa 1000 người (khơng biết trước số lượng) cần thực tìm kiếm theo họ tên Hãy mô tả phương pháp bạn để: Thực việc tìm kiếm khách hàng cách nhanh Thực lưu trữ tìm kiếm tiết kiệm nhớ Hãy giải thích? d) Giả sử có danh sách số nguyên gồm 000 000 số Hãy đưa thuật toán hiệu để thống kê số trùng danh sách Đánh giá thời gian thực thuật toán bạn theo O lớn A Bài Cho đồ thị vơ hướng hình bên a) Minh họa cách lưu trữ đồ thị sử dụng ma trận kề danh sách kề b) Thực DFS đỉnh B, đưa thứ tự thăm đỉnh Đưa loại cạnh khung DFS B B D H E C G F Figure Đồ thị G (V, E) CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Khi ta nên chọn thuật toán xếp thuật toán học để thu hiệu tốt nhất? Giải thích lý do? Nếu số lượng phần tử 000 000 lưu trữ dùng danh sách liên kết đơn nên dùng thuật tốn nào? Giải thích lý do?... tìm kiếm tiết kiệm nhớ Hãy giải thích? d) Giả sử có danh sách số nguyên gồm 000 000 số Hãy đưa thuật toán hiệu để thống kê số trùng danh sách Đánh giá thời gian thực thuật toán bạn theo O lớn... cần quản lý danh sách khách hàng có tối đa 1000 người (khơng biết trước số lượng) cần thực tìm kiếm theo họ tên Hãy mô tả phương pháp bạn để: Thực việc tìm kiếm khách hàng cách nhanh Thực lưu