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 -