TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI
VIN CÔNG NGH THÔNG TIN VÀ TRUYN THÔNG
B MÔN KHOA HC MÁY TÍNH
***
H tên: ……………………………
Lp: …………………………………
SHSV: ……………………………….
ĐỀ THI MÔN: CU TRÚC D LIU
VÀ GII THUT
Ngày thi: …../…../….
Thời gian 90’
(Sinh viên được s dng tài liu)
Hà nội, .…. /….. / …...
Trưởng b môn
Bài 1. Cho hàm khai báo như sau (tham s 𝑎, 𝑏 là các s nguyên không âm)
long mistery(int a, int b)
{
if(a==0) return 0;
if(a%2==0) return 2*mistery(a/2,b);
return b+2*mistery((a-1)/2,b);
}
a. Hàm sau thc hin công vic gì? Tính giá tr ca hàm vi a=5 và b=7
b. Đánh giá độ phc tp ca hàm mistery theo O-ln
Bài 2. Cho cây biu thc sau
a. Duyt cây biu thức để đưa ra biểu thc dng tin t, hu t
b. Vi a=36 b=5, hãy minh ha thuật toán định giá biu thc hu t
trên biu thc hu t thu được t phn a
Chú ý: là ký hiu ca toán t căn bậc hai
Bài 3. Cây nh phân tìm kiếm
a) Thêm lần lượt các nút 25, 32, 14, 21, 19, 17, 23, 5, 9 vào cây nh
phân tìm kiếm ban đầu rng, v cây kết qu thu đưc
b) Vi cây kết qu trong phn b ta xóa nút 1, hãy v cây kết qu thu được.
Thay bng nút trái nht trên con phi
c) Cho cu trúc mt nút trên cây đưc khaio như sau
Hãy hoàn thin hàm tìm và tr v s ng nút có giá tr nh hơn hoặc bng x trên cây
int *CountNodes(struct BinaryNode *root, double x)
{
double data;
struct BinaryNode *Left, *Right;
}
Mã đề
CD 2012 - 03
Figure 1 Cây biu thc
+
b 3 /
a 4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bài 4.
a) Để biu diễn đa thức bc n
𝑃
𝑛(𝑥)= 𝑎𝑛𝑥𝑛+ 𝑎𝑛−1𝑥𝑛−1+. . +𝑎1𝑥 + 𝑎𝑛+1
Và thc hin các thao tác cng, tr, nhân và chia với đa thức này thì ta nên s dng mng hay danh
sách liên kết? Hãy gii thích ti sao.
b) Gi s chúng ta có mt danh sách gm 100 phn t kiểu double được lưu trữ trong mng, và cn
phi thc hin sp xếp. Khi đó ta nên chọn thut toán sp xếp nào trong các thuật toán đã học để
thu được hiu qu tt nht? Gii thích lý do?
Nếu s ng phn t là 1 000 000 và được lưu tr dùng danh sách liên kết đơn thì nên dùng thuật
toán nào? Gii thích lý do?
c) Gi s chúng ta cn qun lý mt danh sách khách hàng có tối đa 1000 người (không biết trước s
ng) và cn thc hin tìm kiếm theo h tên. Hãy mô t phương pháp của bạn để:
Thc hin vic tìm kiếm khách hàng mt cách nhanh nht
Thc hiện lưu trữ và tìm kiếm tiết kim b nh nht có th
Hãy gii thích?
d) Gi s chúng ta có mt danh sách các s nguyên gm 1 000 000 số. Hãy đưa ra một thut toán hiu
qu để thng kê c s trùng nhau trong danhch.
Đánh giá thời gian thc hin ca thut toán ca bn theo
O ln.
Bài 5. Cho đồ th ớng như hình bên
a) Minh họa cách lưu trữ đồ th trên s dng ma
trn k và danh sách k
b) Thc hin DFS ti đỉnh B, hãy đưa ra thứ t
thăm các đỉnh
Đưa ra các loại cnh trên cây khung DFS ti B.
A
B H
CG
F
E
D
Figure 2 Đồ th G (V, E)
CuuDuongThanCong.com https://fb.com/tailieudientucntt