Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Kỹ thuật lập trình Đề thi tham khảo môn cấu trúc dữ liệu và giải thuật 14...

Tài liệu Đề thi tham khảo môn cấu trúc dữ liệu và giải thuật 14

.PDF
4
378
135

Mô tả:

ĐẠI HỌC THÁI NGUYÊN ĐỀ THI HẾT HỌC PHẦN KHOA CÔNG NGHỆ THÔNG TIN Môn thi: Cấu trúc dữ liệu và giải thuật; Hệ: Chính quy ……………… Thời gian chuẩn bị: 45 phút, không kể thời gian giao đề Mã đề thi: 14 Câu 1(2 điểm) Nêu khái niệm cây? Viết dạng cài đặt cây bằng danh sách cha của mỗi đỉnh. Với cách cài đặt này, viết thủ tục tìm cha của đỉnh thứ k trên cây (giả sử các đỉnh trên cây được đánh số theo một thứ tự nào đó, k là số nguyên nhập từ bàn phím) Câu 2(4 điểm ) Các phương pháp để định nghĩa một tập hợp. Giả sử cần quản lý các tập hợp A, B chứa các số nguyên, các số nguyên này có giá trị thuộc đoạn [1..n] (n là một hằng số nào đó). Anh (chị) hãy: 1) Viết dạng cài đặt của tập hợp trên bởi véc tơ bít 2) Với dạng cài đặt trên, hãy viết các thủ tục tương ứng với các yêu cầu sau: i. Nhập giá trị cho tập hợp A, B ii. Tìm tập C = A∩B; C = AUB; C= A\B iii. Xác định xem số nguyên x có thuộc tập A hay không? iv. Thêm, loại bỏ số nguyên x vào, ra khỏi tập hợp 3) Anh(chị) hãy cho biết một tập hợp phải thỏa mãn điều kiện gì thì mới có thể cài đặt bằng phương pháp vecto bít Câu 3 (2 điểm) Cho biểu thức E = (2*x+y)*(5*a - b)3 a) Hãy vẽ cây nhị phân T biểu diễn biểu thức trung tố E như trên b) Muốn có biểu thức dạng tiền tố, dạng hậu tố thì phải duyệt cây T theo thứ tự nào? Kết quả duyệt ? ……………………Hết………………………. Thí sinh không được sử dụng tài liệu, không ghi vào đề thi CB coi thi không giải thích gì thêm và nộp lại đề thi cho phòng chức năng theo quy chế của bộ Câu 1 1) Khái niệm cây, cài đặt cây (1 đ) + Khái niệm cây: Cây là một đồ thị vô hướng liên thông phi chu trình + Cài đặt cây bằng danh sách cha của mỗi đỉnh: Const n = ; Type Node = Record Info: Item; Parent: 0..n; End; Tree = array[1..n] of Node; Var T: Tree; Trong đó: - Info: Chứa thông tin của đỉnh - Item: Kiểu dữ liệu của dữ liệu lưu tại đỉnh của cây 2) Viết hàm tìm số thứ tự của đỉnh là cha của đỉnh thứ k trên cây T Procedure Tim(k: byte; T: Tree):0..n; Begin Parent := T[k].parent; End; Câu 2 + Có hai phương pháp để xác định một tập hợp trong toán học: (0.5 đ) - Liệt kê tất cả các phần tử trong tập hợp (nếu tập hợp đó là hữu hạn) - Nêu lên các đặc trưng chung của các phần tử trong tập hợp 1) Viết dạng cài đặt tập hợp bởi véc tơ bít: (0.5 đ) const n = ; type set = array[1..n] of boolean; var A, B: Set; 2) Viết các thủ tục tương ứng với các yêu cầu: a) Nhập giá trị cho tập A, B: procedure Nhap(var A: set); var i: integer; c: char; (0.5 đ) (1 đ) Begin Writeln(‘Nhap giá trj cho các phần tử của tập hợp!’); Repeat Write(‘Nhap giá trị I = ’); readln(i); A[i]:= true; Write(‘Co nhap nua khong? (c/k)’); read(c); Until (c=’k’)or(c=’K’); End; Gọi thủ tục nhập trên, đối số truyền vào là B, để nhập dữ liệu cho tập B b)Tìm hợp, giao, trừ của hai tập hợp A,B (0.5 đ) * giao của A và B procedure Giao(A,B: set; var C: set); var i: integer; Begin For i:=1 to n do C[i]:= A[i] and B[i]; End; * Tìm hợp của A và B: procedure Hop(A,B: set; var C: set); var i: integer; Begin For i:=1 to n do C[i]:= A[i]or B[i]; End; * Tìm hiệu A\B procedure Hieu(A,B: set; var C: set); var i: integer; Begin For i:=1 to n do C[i]:= A[i] and notB[i]; End; a) Tìm x trong tập A: Cách làm: kiểm tra xem a[x] = true hay false, nếu = true, kết luận tìm thấy, ngược lại kết luận không tìm thấy (0.5 đ) b) Thêm số nguyên x và tập hợp A: Đặt A[x]:= true; (0.5 đ) c) Loại bỏ x ra khỏi tập hợp A: Đặt A[x]:= false; (0.5 đ) 3) Các phần tử trong tập hợp phải là các số nguyên hoặc được mã hóa bởi các số nguyên thì mới có thể cài đặt tập hợp bởi véc tơ bít (0.5 đ) Câu 3 Tương tự câu 3 đề 12
- Xem thêm -

Tài liệu liên quan