Final 1 Đại học Quốc Gia TP Hồ Chí Minh Trường đại học Bách Khoa Khoa Khoa học & Kỹ thuật Máy tính Bộ môn Khoa học Máy tính ĐỀ THI CUỐI HỌC KỲ 1 Năm học 2010 – 2011 Môn Cấu trúc dữ liệu & Giải thuật M[.]
Đại học Quốc Gia TP Hồ Chí Minh Trường đại học Bách Khoa Khoa: Khoa học & Kỹ thuật Máy tính Bộ mơn: Khoa học Máy tính ĐỀ THI CUỐI HỌC KỲ Năm học: 2010 – 2011 Môn: Cấu trúc liệu & Giải thuật MSMH: 503001 Ngày thi: 20/01/2011 - Thời gian: 120 phút (Được sử dụng tài liệu) Lưu ý: Đề thi gồm câu với thang điểm 11/10 Câu 1: (2.5 điểm) Cho dãy gồm 11 số sau: 10, 26, 9, 3, 21, 17, 30, 28, 91, 29, 72 a (1.5 điểm) Cây AVL xây dựng dựa chuỗi số này, giả sử số nhập vào xây dựng theo thứ tự Vẽ AVL trường hợp sau: • • • Sau chèn (insert) thành công phần tử 17 Sau chèn thành công phần tử 91 Sau chèn thành công phần tử 72 b (1 điểm) Giả sử AVL xây dựng câu a bị xóa phần tử sau: 9, 3, 29, 26 Vẽ lại AVL sau phần tử bị xóa khỏi Câu 2: (3 điểm) Ta ký hiệu L(H) dạng trình bày max heap H dạng dãy Ví dụ: Một dãy số ban đầu sau: (1, 2, 3), sau xây dựng thành heap HT, L(HT) = (3, 1, 2) a (1 điểm) Với dãy số ban đầu gồm 10 số sau: (17, 26, 10, 9, 3, 21, 30, 28, 91, 72), ta xây dựng thành heap H1 Giả sử số đưa vào H1 theo thứ tự Cho biết L(H1) b (0.5 điểm) Sau loại bỏ phần tử khỏi H1, ta H2 Cho biết L(H2) c (1.5 điểm) Trình bày giải thuật sử dụng heap để xếp lại dãy số với yêu cầu sau: Input: Dãy số a có n phần tử từ a[1] đến a[n] Output: Dãy số a xếp theo thứ tự sau: số chẵn trước, số lẻ sau, số chẵn xếp từ nhỏ đến lớn, số lẻ từ lớn đến nhỏ Ví dụ: Nếu a (7, 4, 2, 1, 16, 19, 23, 24), sau xếp (2, 4, 16, 24, 23, 19, 7, 1) Do số lượng phần tử n dãy a lớn, giải thuật xếp không khai báo thêm biến phụ có dung lượng lưu trữ tương đương với n (ví dụ khai báo dãy tạm có độ lớn n/10 n/10 n tương đương) Các phương thức heap cho slide lý thuyết môn học Tuy nhiên, sử dụng phương thức sinh viên phải ghi rõ phương thức max heap hay heap Ví dụ sử dụng phương thức ReheapUp max heap tên phướng thức ReMaxheapUp, tên phương thức heap ReMinheapUp Câu 3: (3.5 điểm) Có thành phố có tên A, B, C, D, E, F Người ta dự định xây dựng đường giao thông nối thành phố cho thành phố ln có thành phố có đường giao thơng trực tiếp đến thành phố lại a (0.5 điểm) Vẽ đồ thị vô hướng thỏa mãn yêu cầu với A, B, C, D, E, F đỉnh đồ thị, đường giao thông trực tiếp thành phố cạnh nối đỉnh b (0.5 điểm) Chuyển đồ thị câu a thành đồ thị có hướng theo quy tắc sau: cạnh nối vô hướng (x,y) chuyển thành cạnh nối có hướng từ x đến y x đứng trước y bảng chữ Trình bày lại đồ thị dạng bảng kề (adjacency table) c (0.5 điểm) Chứng minh đồ thị câu b khơng xuất chu trình d (1 điểm) Cho biết topological order đồ thị câu b tương ứng với phương pháp depth-first ordering breadth-first ordering e (1 điểm) (bonus) e1 Dành cho lớp thường: Với đồ thị vô hướng n đỉnh cho trước, xác định số k lớn cho k đỉnh đồ thị ln có đỉnh có cạnh nối đến k-1 đỉnh cịn lại Viết giải thuật để tính số k e2 Dành cho lớp KSTN (không cần làm câu e1): Bài toán nêu câu e1 thuộc lớp P hay NP? Vì sao? Câu 4: (2 điểm) Cho dãy gồm 11 số sau: 10, 26, 9, 3, 21, 17, 30, 28, 91, 29, 72 a (1 điểm) Xây dựng hai B-tree tương ứng với dãy số trên, với số bậc hai Giả sử thứ tự phần tử đưa vào tương ứng với thứ tự dãy b (1 điểm) Vẽ lại hai B-Tree xây dựng câu a sau xóa phần tử 21 khỏi hai Hết ... đỉnh cho trước, xác định số k lớn cho k đỉnh đồ thị ln có đỉnh có cạnh nối đến k-1 đỉnh lại Viết giải thuật để tính số k e2 Dành cho lớp KSTN (khơng cần làm câu e1): Bài tốn nêu câu e1 thuộc lớp...Các phương thức heap cho slide lý thuyết môn học Tuy nhiên, sử dụng phương thức sinh viên phải ghi rõ phương thức max heap hay heap Ví dụ... (1 điểm) Xây dựng hai B-tree tương ứng với dãy số trên, với số bậc hai Giả sử thứ tự phần tử đưa vào tương ứng với thứ tự dãy b (1 điểm) Vẽ lại hai B-Tree xây dựng câu a sau xóa phần tử 21 khỏi