Đă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 19...

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

.PDF
3
244
80

Mô tả:

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN ĐỀ THI HẾT HỌC PHẦN ……………… Môn thi: Cấu trúc dữ liệu và giải thuật; Hệ: Chính quy Mã đề thi: 19 Thời gian chuẩn bị: 45 phút, không kể thời gian giao đề Câu 1( 4 điểm) Xây dựng một cấu trúc dữ liệu thích hợp để biễu diễn đa thức P(x) có dạng : P(x) = c1xn1 + c2xn2 +...+ck xnk Biết rằng: 1) Các thao tác xử lý trên đa thức bao gồm : + Thêm một phần tử vào cuối đa thức + In danh sách các phần tử trong đa thức theo: - thứ tự nhập vào - ngược với thứ tự nhập vào + Hủy một phần tử bất kỳ trong đa thức 2) Số lượng các phần tử không hạn chế 3) Chỉ có nhu cầu xử lý đa thức trong bộ nhớ chính. a) Giải thích lý do chọn CTDL đã định nghĩa. b) Viết chương trình con ước lượng giá trị của đa thức P(x) khi biết x. c) Viết chương trình con rút gọn biểu thức (gộp các phần tử cùng số mũ) Câu 2 (4 điểm) Cho một cây nhị phân tìm kiếm có các khóa là các số nguyên như hình vẽ. 25 20 15 Anh (chị) hãy: 39 30 21 31 40 35 1) Viết dạng cài đặt cây trên bằng con trỏ. Root là con trỏ trỏ tới gốc của cây 2) Tìm đỉnh có khóa x trên cây 3) Nêu phương pháp để loại bỏ một đỉnh x = 39 trên cây, sao cho cây sau khi loại bỏ đỉnh đó vẫn là cây nhị phân tìm kiếm 4) Hiển thị cây 5) Hủy cây ……………………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ộ Mã đề 19 Câu 1 1) Lựa chọn cấu trúc, giải thích (1 đ) + Biểu diễn đa thức bằng danh sách liên kết đơn, một đa thức là một danh sách liên kết .Mỗi nút trong danh sách là một bản ghi gồm hai trường: heso: lưu hệ số, trường somu: lưu số mũ + Chọn cấu trúc danh sách liên kết vì nó phù hợp với các thao tác yêu cầu từ 1->3 +Tính giá trị đa thức (1.5 đ) - viết hàm tính lũy thừa: - Nhập x; - pow(x,n): hàm này cho kết quả là xn function pow(x,n:integer): longint; var i: integer; tam:longint; begin tam:=x; for i:=2 to n do tam:=tam*x end; - Duyệt từ đầu đến cuối đa thức để tính giá trị của đa thức, giá trị này = kq p:=L; {L: là con trỏ trỏ tới đầu danh sách biểu diễn đa thức} while p<>nil do begin kq:=kq+q^.heso*pow(x,q^.somu); p:=p&.next; end; + Rút gọn đa thức: (1.5 đ) - Sắp xếp danh sách giảm dần theo số mũ - duyệt từ đầu đến cuối danh sách biểu diễn đa thức, xét 2 nút kế tiếp trong danh sách,: a) nếu 2 nút nào có cùng số mũ thì cộng hệ số lại, lưu vào biến tong, nếu tong=0, thì loại bỏ 2 nút đó và duyệt tiếp, nêu tong <>0, tạo ra một nút mới, hệ số của nút này = tong, số mũ = số mụ của 1 trong 2 nút đó, loại bỏ hai nút này khỏi danh sách, gắn nút mới vào vị trí loại bỏ, duyệt tiếp danh sách b) Nếu chúng có số mũ khác nhau thì duyệt tiếp Câu 2: Tương tự câu 2 đề 16
- Xem thêm -

Tài liệu liên quan