1 | Page
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: …../…../….
Thi gian 90’
(
Sinh viên đưc s dng tài liu
)
Hà ni, .…. /….. / …...
Trưng b môn
Bài 1.
a) Phân bit gia mng cp phát đng và mng cp phát tĩnh. Khi nào nên dùng mng cp phát đng, hoc
mng cp phát tĩnh? Cho ví d mình ha.
b) Đánh giá thi gian thc hin ti nht ca hàm sau theo O-ln
double fastPower(double x, int n)
{
double fract;
if(n==0) return 1;
if(n%2==0) return fastPower(x,n/2)*fastPower(x,n/2);
else return fastPower(x,n/2)*fastPower(x,n/2)*x;
}
c) So sánh ưu nhưc đim ca phương pháp t chc tìm kiếm dùng mng và áp dng thut toán tìm kiếm
nh phân, cây nh phân tìm kiếm và dùng bng băm theo các tiêu chí sau
Tiêu c
Tìm kiếm nh phân
Cây nh phân tìm kiếm
Bng băm
B nh dùng lưu tr các
phn t
Thi gian tìm kiếm
Thêm phn t
Xoá phn t
In ra danh sách c phn t
hin
Bài 2.
a) Biu thc dng hu t là gì? Ưu điểm ca biu thc dng hu tố?
b) Chuyn biu thc dng trung t sau sang dng hu t
𝑎+ 3/(2 𝑎 𝑐 𝑏) 𝑒
c) V cây biu thc biu din cho biu thc phn b (không cn phi trình bày các bưc trung gian)
Mã đ
CD 2011 - 01
CuuDuongThanCong.com https://fb.com/tailieudientucntt
2 | Page
Bài 3.
a) Cho cây nh phân tìm kiếm ban đu như hình
thêm ln lưt dãy khóa 43, 12, 36, 78, 29, 16, 9, 65, 27, 32. Hãy v cây nh phân kết qu thu đưc cui
cùng (không cn trình bày các bưc trung gian).
b) Vi cây nh phân tìm kiếm thu đưc phn a, thc hin xóa ln lưt khóa 18 và 36. Hãy v cây kết qu
thu đưc sau mi ln xóa
Chú ý: chn nút thay thế là nút phi nht trên cây con trái
Bài 4. Cho mt đơn đthvô hưng 𝐺(𝑉,𝐸) như sau
𝑉= {𝐴,𝐵,𝐶,𝐷,𝐸,𝐹,𝐺,𝐻}
𝐸= {(𝐴,𝐵), (𝐴,𝐶), (𝐴,𝐸), (𝐵,𝐸), (𝐵,𝐺), (𝐶,𝐷), (𝐶,𝐵), (𝐷,𝐸), (𝐹,𝐷), (𝐹,𝐸), (𝐹,𝐺), (𝐻,𝐵), (𝐻,𝐺)}
a) Hãy biu din đ th trên dùng danh sách k.
b) Thc hin DFS t đỉnh D, hãy đưa ra th t các đnh đưc thăm.
c) Hãy đưa ra các loi cnh thu đưc khi DFS ti đnh D (BackEdge, CrossEdge, TreeEdge và ForwardEdge).
Lưu ý: Các đnh trên đ th đưc thăm theo th t ABC
Bài 5. Để biu din các tp hp s nguyên ta dùng danh sách liên kết đơn vi cu trúc mt phn t đưc
khai báo như sau:
typedef struct Node
{
int data;
struct node *pNext;
} NODE;
a) Hãy xây dng hàm tìm và tr v gtr phn t chn ln nht trong tp hp trong trưng hp biết các
phn t ca tp hp đưc sp xếp theo th t tăng dần v giá trị.
int FindMax (NODE *pHead)
{
}
b) Hãy đánh giá thi gian thc hin trong trưng hp ti nht ca hàm bn viết theo O-ln
CuuDuongThanCong.com https://fb.com/tailieudientucntt