Đề thi học kỳ năm 2011 môn Cấu trúc dữ liệu và giải thuật (Mã đề 02) - Đại học Bách khoa Hà Nội
lượt xem 2
download
Đề thi học kỳ năm 2011 môn Cấu trúc dữ liệu và giải thuật gồm 5 câu hỏi hệ thống lại kiến thức học phần và giúp các bạn sinh viên ôn tập kiến thức đã học, chuẩn bị cho kỳ thi sắp tới. Tài liệu hữu ích cho các các bạn sinh viên đang theo học và những ai quan tâm đến môn học này dùng làm tài liệu tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Đề thi học kỳ năm 2011 môn Cấu trúc dữ liệu và giải thuật (Mã đề 02) - Đại học Bách khoa Hà Nội
- Mã đề CD 2011 - 02 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 *** ĐỀ THI MÔN: CẤU TRÚC DỮ LIỆU Hà nội, .…. /….. / …... Họ tên: …………………………… VÀ GIẢI THUẬT Trưởng bộ môn Ngày thi: …../…../…. Lớp: ………………………………… Thời gian 90’ SHSV: ………………………………. (Sinh viên được sử dụng tài liệu) Bài 1. a) So sánh ưu nhược điểm khi lưu trữ cây nhị phân chiều cao ℎ dùng: (1) mảng, (2) cấu trúc liên kết (1 Điểm) struct BNode { DATA_TYPE data; //là kiểu dữ liệu lưu trữ tại nút struct BNode * Lchild, *Rchild; //con trỏ tới cây con trái và con phải } Theo các tiêu chí: • Bộ nhớ, • thời gian truy cập một nút bất kỳ, • tìm nút cha của một nút bất kỳ trên cây Biểu diễn cây nhị phân dùng mảng: dùng mảng có số lượng phần tử bằng số lượng nút trên cây nhị phân đầy đủ chiều cao ℎ (số lượng phần tử của mảng sẽ là 2ℎ+1 − 1 phần tử). 𝑖−1 Với nút thứ 𝑖 (𝑖 ≥ 0) thì nút con của nó sẽ là 2𝑖 + 1 và 2𝑖 + 2, nút cha của nó sẽ là � � 2 Biểu diễn cây nhị phân dùng cấu trúc liên kết: mỗi nút có thêm hai con trỏ là con trỏ tới cây con trái và con trỏ tới cây con phải. Tiêu chí Biểu diễn dùng mảng Biểu diễn dùng cấu trúc liên kết Bộ nhớ Biểu diễn 1 phần tử: không cần sử dụng thêm Biểu diễn 1 phần tử: Cần thêm bộ nhớ phụ lưu trữ bộ nhớ phụ con trỏ tới cây con trái và cây con phải Biểu diễn cho cả cây: luôn cần bộ nhớ Biểu diễn cho cả cây: Cây có bao nhiêu nút thì cấp 2ℎ+1 − 1 cho cây nhị pahan bất kỳ chiều cao phát động bấy nhiêu bộ nhớ. Tiết kiệm bộ nhớ ℎ, nên sẽ rất lãng phí bộ nhớ nếu cây nhị phân hơn nếu dùng biểu diễn cho cây nhị phân bất kỳ đó không phải là cây gần hoàn chỉnh. Thời gian 𝑂(1) 𝑂(ℎ) truy cập 1 Vì mảng hỗ trợ truy cập ngẫu nhiên Cấu trúc liên kết không hỗ trợ truy cập ngẫu nhiên, nút bất kỳ ta phải truy cập thông qua các nút tổ tiên của nút đó Tìm nút cha Thời gian là 𝑂(1) Thời gian trung bình cỡ 𝑂(𝑛), vì ta phải duyệt từ của một nút gốc để tìm tới nút cha của nút đó bất kỳ 1|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt
- b) Đánh giá thời gian thực hiện tồi nhất của hàm sau theo O-lớn (1 điểm) double fastPower(double x, int n) { double fract; if(n==0) return 1; fract = fastPower(x,n/2); if(n%2==0) return fract* fract; else return fract*fract*x; } Hàm trên được cài đặt đệ quy, lời gọi đệ quy là fract = fastPower(x,n/2); Được gọi 1 lần trong hàm, ta có công thức đệ quy tổng quát là 1 𝑛ế𝑢 𝑛 = 0 𝑇(𝑛) = �𝑇�𝑛 � + 1 𝑛ế𝑢 𝑛 > 0 �2 𝑛 Ta có thể viết gọn lại là 𝑇(𝑛) = 𝑇 � � + 1 2 Áp dụng định lý thợ với 𝑎 = 1, 𝑏 = 2 và 𝑓(𝑛) = 1 𝑛log𝑏 𝑎 = 𝑛log2 1 = 1 trường hợp 2 của định lý thợ Vậy kết luận 𝑇(𝑛) = 𝜃(log 𝑛) c) So sánh ưu nhược điểm của phương pháp tổ chức tìm kiếm dùng mảng và áp dụng thuật toán tìm kiếm nhị phân, cây nhị phân tìm kiếm và dùng bảng băm theo các tiêu chí sau (1 Điểm) Tiêu chí Tìm kiếm nhị phân Cây nhị phân tìm kiếm Bảng băm Bộ nhớ dùng lưu 𝑂(𝑛) 𝑂(𝑛) Số lượng ô nhớ xác định trữ các phần tử Tỉ lệ với số phần tử, tuy nhiên Tỉ lệ với số phần tử, tuy nhiên trước, là kích thước bảng mỗi phần tử không phải lưu trữ mỗi phần tử phải lưu trữ thêm băm (thường lớn hơn số thêm dữ liệu thừa dữ liệu thừa (2 con trỏ) lượng phần tử cần lưu nhiều lần) Thời gian tìm 𝑂(log 𝑛) 𝑂(log 𝑛) 𝑂(1) kiếm Thêm phần tử 𝑂(𝑛) 𝑂(log 𝑛) 𝑂(1) Xoá phần tử 𝑂(𝑛) 𝑂(log 𝑛) 𝑂(1) In ra danh sách 𝑂(𝑛) 𝑂(𝑛) Không hỗ trợ thao tác này, các phần tử hiện nếu muốn in ta phải duyệt có toàn bộ bảng băm Bài 2. a) Biểu thức dạng hậu tố là gì? Ưu điểm của biểu thức dạng hậu tố? (1 Điểm) Biểu thức dạng hậu tố: Là cách biểu diễn biểu thức trong đó toàn tử đứng sau các toán hạng mà nó tác động Ví dụ: 3 5 + a – Ưu điểm của biểu thức dạng hậu tố là chỉ có một cách định giá (cách tính) duy nhất. Không như biểu thức dạng trung tố cần quy định thêm về độ ưu tiên của toán tử, và dấu ngoặc. Biểu thức dạng hậu tố được dùng để biểu diễn biểu thức trong máy tính b) Định giá biểu thức dạng hậu tố sau (trình bày rõ các trạng thái trung gian của STACK (1 Điểm) 2|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 10 2 3 + / 2 ^ 4 12 8 − % + Gặp STACK Ghi chú 10 10 Gặp toán hạng đẩy vào stack 2 10, 2 Đỉnh stack ở bên phải nhất 3 10, 2, 3 + 10, 5 Thực hiện 2+3 / 2 Thực hiện 10/5 2 2, 2 ^ 4 Thực hiện 2^2 (22 ) 4 4, 4 12 4, 4, 12 8 4, 4, 12, 8 - 4, 4, 4 Thực hiện 12-8 % 4, 0 Thực hiện 4 %4 + 4 Thực hiện 4 + 0 Kết quả cuối cùng là 4 c) Vẽ cây 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 các bước trung gian) (1 Điểm) Bài 3. a) Cho cây nhị phân tìm kiếm ban đầu như hình thêm lần lượt dãy khóa 33, 43, 12, 36, 78, 29, 16, 9, 65, 27, 32. Hãy vẽ cây nhị phân kết quả thu được cuối cùng (không cần trình bày các bước trung gian). (1 Điểm) 3|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt
- b) Với cây nhị phân tìm kiếm thu được ở phần a, thực hiện xóa lần lượt khóa 18 và 33. Hãy vẽ cây kết quả thu được sau mỗi lần xóa Chú ý: chọn nút thay thế là nút phải nhất trên cây con trái (1 Điểm) Bài 4. Cho một đơn đồ thị vô hướng 𝐺(𝑉, 𝐸) như sau 𝑉 = {𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺, 𝐻} 𝐸 = {(𝐴, 𝐵), (𝐴, 𝐶), (𝐴, 𝐸), (𝐵, 𝐸), (𝐵, 𝐺), (𝐶, 𝐷), (𝐶, 𝐵), (𝐷, 𝐸), (𝐹, 𝐷), (𝐹, 𝐸), (𝐹, 𝐺), (𝐻, 𝐵), (𝐻, 𝐺)} a) Hãy biểu diễn đồ thị trên dùng danh sách kề (1 Điểm) 4|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt
- b) Thực hiện BFS từ đỉnh B, hãy đưa ra thứ tự các đỉnh được thăm. (1 Điểm) (Chỉ cần vẽ được hình trạng hàng đợi hoặc cây khung BFS là được đủ điểm) STT QUEUE Ghi chú 0 B 1 A, C, E, G, H Lấy B ra, đưa các đỉnh kề với B mà chưa thăm vào QUEUE 2 C, E, G, H 3 E, G, H, D 4 G, H, D, F 5 H, D, F 6 D, F 7 F 8 ∅ Cây khung BFS từ B c) Hãy đưa ra các loại cạnh thu được khi BFS tại đỉnh B (BackEdge, CrossEdge, TreeEdge và ForwardEdge). Lưu ý: Các đỉnh trên đồ thị được thăm theo thứ tự ABC (1 Điểm) 5|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phân loại cạnh Cạnh cây BA,BV,BE,BG,BH,CD,EF Tree-Edge Cạnh ngược Back-edge Cạnh tới Forward-Edge Cạnh vòng AC, AE, ED, GF, GH, DF Cross-Edge Bài 5. Để biểu diễn các tập hợp số nguyên ta dùng danh sách liên kết đơn với cấu trúc một phần tử được khai báo như sau: typedef struct Node { int data; struct node *pNext; } NODE; a) Hãy xây dựng hàm tìm và trả về giá trị phần tử chẵn lớn nhất trong tập hợp trong trường hợp biết các phần tử của tập hợp được sắp xếp theo thứ tự tăng dần về giá trị. (1 Điểm) int FindMax (NODE *pHead) { } b) Hãy đánh giá thời gian thực hiện trong trường hợp tồi nhất của hàm bạn viết theo O-lớn (0.5 điểm) int FindMax (NODE *pHead) { NODE *ptr = pHead; int i= 0; //biến để đếm vị trí các phần tử int pos=-1; while(ptr!=NULL) { if(ptr->data%2==0) { pos = i; } ptr = ptr->pNext; i++; } return pos; } Dễ thấy thời gian thực hiện của thuật toán trong trường hợp tồi nhất cỡ 𝑂(𝑛) Tổng điểm 12.5 Điểm 6|Page CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
ĐÁP ÁN ĐỀ THI OLYMPIC CƠ HỌC TOÀN QUỐC LẦN THỨ XXIII NĂM 2011 MÔN NGUYÊN LÝ MÁY
6 p | 375 | 68
-
ĐỀ THI MÔN NGUYÊN LÝ MÁY OLYMPIC CƠ HỌC TOÀN QUỐC LẦN THỨ XXIII NĂM 2011
3 p | 385 | 57
-
ĐỀ THI MÔN NGUYÊN LÝ MÁY CÓ ỨNG DỤNG CÔNG NGHỆ THÔNG TIN OLYMPIC CƠ HỌC TOÀN QUỐC LẦN THỨ XXIII NĂM 2011
2 p | 387 | 51
-
Đáp án đề thi học kỳ 2 môn: Trang bị điện và điện tử (Năm học 2010-2011)
5 p | 285 | 30
-
Đề thi học kỳ 2 năm học 2010-2011 môn Nhiệt động lực học kỹ thuật - Trường Đại học Bách Khoa Tp.HCM
3 p | 251 | 30
-
Đề thi học kỳ 1 năm học 2010-2011 môn Nhiệt động lực học kỹ thuật - Trường Đại học Bách Khoa Tp.HCM
4 p | 187 | 22
-
Đề kiểm tra giữa học kỳ 2 môn: Trang bị điện và điện tử (Năm học 2010-2011)
8 p | 169 | 15
-
Đề thi giữa kỳ lớp chính quy học kỳ I năm 2011-2012 môn Nhiệt động lực học kỹ thuật - Trường ĐH Bách Khoa TP. HCM
3 p | 116 | 14
-
Đề thi giữa kỳ lớp chính quy học kỳ II năm 2011-2012 môn Nhiệt động lực học kỹ thuật - Trường ĐH Bách Khoa TP. HCM
3 p | 141 | 9
-
Đáp án học kỳ 2 môn: Trang bị điện và điện tử (Năm học 2010-2011)
5 p | 117 | 7
-
Đề thi học kỳ năm 2011 môn Cấu trúc dữ liệu và giải thuật (Mã đề 01) - Đại học Bách khoa Hà Nội
6 p | 36 | 4
-
Đề thi cuối khóa năm 2011 môn Trường điện từ (lớp DD09) - ĐH Bách khoa Hà Nội
1 p | 37 | 4
-
Đề thi cuối khóa năm 2011 môn Trường điện từ (lớp DD10) - ĐH Bách khoa Hà Nội
1 p | 29 | 4
-
Đề kiểm tra giữa kỳ năm 2011 môn Trường điện từ (CQ10) - ĐH Bách khoa Hà Nội
1 p | 30 | 3
-
Đề thi học kỳ năm 2011 môn Cấu trúc dữ liệu và giải thuật - Đại học Bách khoa Hà Nội
2 p | 36 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn