Đ THI 1
MÔN C U TRÚC D LI U VÀ GI I THU T
Th i gian: 120 phút
Câu 1. Cho danh sách sinh viên. M i sinh viên đ c mô t b i các thu c tính h tên, tu i, gi i ượ
tính.
1. Hãy cài đ t danh sách sinh viên b i danh sách liên k t. ế
2. Hãy vi t th t c lo i kh i danh sách t t c các sinh viên n .ế
Câu 2. Cho danh sách các s nguyên đ c s p x p theo th t không gi m v i danh sách ượ ế
đ c cài đ t b i m ng:ượ
1. Hãy khai báo CTDL bi u di n dánh sách đó.
2. Hãy vi t th t c xem vào sanh sách m t s nguyên m i n sao cho danh sách nh n đ cế ượ
v n còn đ c s p theo th t không gi m. ượ
Câu 3. M t m ng r ng g m 11 ô đ c đánh s t 0 đên 10 dùng đ l u tr các s nguyên. ượ ư
Các s nguyên k đ c đ a vào m ng b i hàm băm: ượ ư
h(k) = (k – 3*i)%11 (i = 0,1,…)
Hãy đ a các dãy s nguyên 15, 20, 6, 9, 17 vào m ng.ư
Gi i thích t i sao chúng l i đ c đ a vào nh ng v trí đó trong m ng. ượ ư
Câu 4. Cho đ th đ nh h ng sau: ướ
Đi qua đ th xu t phát t đ nh 1.
1. Hãy đ a ra r ng các cây t o thành khi đi qua đ th theo b r ng và danh sách các đ như
theo th t đã đi qua.
2. Hãy đ a ra r ng các cây t o thành khi đi qua đ th theo b sâu và danh sách các đ như
theo th t đã đi qua.
Đ THI 2
MÔN C U TRÚC D LI U VÀ GI I THU T
2
3
45
6 7
1
Th i gian: 120 phút
Câu 1. (2 đi m) Khoa Công ngh đ c bi u di n b i danh sách các l p. M i l p đ c bi u ượ ượ
di n b i tên l p và danh sách sinh viên c a l p. M i sinh viên đ c bi u di n b i tên, năm ượ
sinh, gi i tính. Danh sách các l p đ c cài đ t b i danh sách liên k t. ượ ế
Hãy khai báo CTDL bi u di n Khoa Công ngh , Cho bi u di n hình h c CTDL này.
Câu 2. ( 2,5 đi m) Cho 2 danh sách các s nguyên đ c cài đ t b i danh sách liên k t. Ta c n ượ ế
k t h p 2 danh sách thành m t danh sách b ng cách nôi đuôi danh sách th nh t t i đ u danhế
sách thw hai. Ví d , t 2 danh sách L1 và L 2, sau khi n i ta đ c L nh sau: ượ ư
a) Khai báo CTDL bi u di n danh sách liên k t ế
b) T 2 danh sách liên k t ( có th r ng), hãy vi t hàm k t n i 2 danh sách thành m t danh ế ế ế
sách.
Câu 3. (2,5 đi m) Các giá tr khóa c a cây tìm ki m nh phân là s nguyên. ế
Cho dãy các s nguyên: 5, 1, 6, 8, 4, 9, 7
a) Áp d ng th t c xen vào cây b t đ u t cây r ng, hãy xây d ng cây tìm ki m nh ế
phân, b ng cách xem vào các đ nh m i có khóa l n l t là 5, 1, 6, 8, 4, 9, 7 ượ
b) T cây đã xây d ng, hãy d a ra dãy các khóa theo các th t : tr c, trung và sau. ư ướ
Câu 4. (2 đi m)
M i ng i có giá tr u tiên là s nguyên. M i ng i đ c bi u di n b i tên, và gi ườ ư ườ ượ
tr u tiên. Hàng u tiên đ c l u trong m ng theo th t gi m d n c a giá tr u tiên. Ch ng ư ư ượ ư ư
h n, An có GT T là 5, Ba và Lan có GT T là 2 và 4 đ c l u trong m ng sau: Ư Ư ượ ư
0 1 2 Max-1
a) Khai báo CTDL cài đa t hàng u tiên b i m ng nh trên ư ư
b) Vi t hàm lo i ng i có giá tr u tiên nh nh t.ế ườ ư
Câu 5. (1 đi m)
Áp d ng thu t toán s p x p n i b t cho m ng sau ế
Yêu c u: Đ a ra k t qu c a t ng b c ư ế ướ
Đ THI 3
MÔN C U TRÚC D LI U VÀ GI I THU T
7
5
9
4
3
7
5
9
4
3
L1 L2
L
An Lan Ba
542
94713
Th i gian: 120 phút
Câu 1. Cho danh sách tên c a m i l p. M i sinh viên đ c bi u di n b i 2 tr ng: ten, diem. ượ ườ
Danh sách đ c cài đ t b i danh sách liên k t.ượ ế
1. Hãy khai báo CTDL cài đ t danh sách đó.
2. Vi t th t c tính đi m trung bình c a l p đó.ế
3. Vi t th t c lo i kh i danh sách t t c sinh viên có đi m b ng p cho tr c.ế ướ
Câu 2. Cho m t cây, m i đ nh có t i đa K đ nh con. Thông tin ch a trong m i đ nh là s th c.
Cây đ c cài đ t cách ch ra danh sách các con c a m i đ nh và s d ng con tr .ượ
1. Khai báo CTDL cài đ t cây b ng cách trên.
2. Vi t th t c đi qua cây theo đ sâu ( đ quy ho c không đ quy) đ tính t ng các sế
th c l u trong các đ nh c a cây. ư
Câu 3. Cho b ng băm đóng g m 11 thành ph n. Các giá tr khóa là các s nguyên và đ c đ a ượ ư
vào b ng b i hàm băm: h(x) = x%11. Va ch m đ c gi i quy t b ng cách băm l i bình ượ ế
ph ng. T b ng băm r ng, s d ng t i đa 3 l n bă l i, hãy đ a ra b ng băm k t qu khiươ ư ế
th c hi n các hành đ ng sau:
1. Xen vào 5099, 23,, 213, ,36, 300, 19, 283.
2. Lo i 300, 36 r i xen vào 146, 360, 480.
Yêu c u: c n gi i thích t i sao nh n đ c k t qu nh th . ượ ế ư ế
Câu 4. Trình bày t t ng c a thu t toán PRIM tìm cây bao trùm ng n nh t c a đ th ư ưở
h ng liên thông có tr ng s . Mô t thu t toán này.ướ
Áp dung thu t toán đ tìm cây bao trùm ng n nh t c đ th sau
Yêu c u: C n ph i tìm ra k t qu c a m i b c và gi i thích. ế ướ
A
6
A
D
B
6
C
6
E
6
F
6
B
6
7 2
2
9
36
44
6
1
Đ THI 4
CTDL VÀ GI I THU T
Cho K46CA, CB,CC
(Th i gian: 120 phút)
Câu 1. (3 đi m) Ki u d li u tr u t ng đ c xác đ nh nh sau: ượ ượ ư
Các đ i t ng DL là các danh sách s nguyên đ c s p x p theo th t không ượ ượ ế
gi m.
Các phép toán g m:
1. m xem danh sách có ch a s nguyên cho tr c không? ướ
2. Xen m t s nguyên m i vào danh sách sao cho sau khi xen, danh sách v n còn đ c ượ
s p
3. K t h p 2 danh sách đ c s p thành m t danh sách đ c s p.ế ượ ượ
Danh sách đ c cài đ t b ng danh sách liên k t.ượ ế
a) Hãy vi t file đ u ch a mô t CTDL và các prototype c a các hàm th c hi n cácế
phép toán trên (V i m i hàm c n vi t ra các đi u ki n tr c và đi u ki n sau) ế ướ
b) Hãy cài đ t hàm xen vào.
Câu 2. (2 đi m) Gi s các đ i t ng khác nhau có giá tr u tiên khác nhau và hàng u tiên ượ ư ư
đ c cài đ t b i cây tìm ki m nh phân v i khóa tìm ki m là giá tr u tiên.ượ ế ế ư
a) Hãy mô t CTDL bi u di n hangf u tiên trong cáhc cài đ t trên ư
b) Hãy vi t hàm lo i đ i t ong có giái tr u tiên nh nh t kh i hàng u tiên.ế ư ư
Câu 3. (2,5 đi m)
a) Hãy mô t CTDL bi u di n b ng băm dây chuy n và vi t hàm xem ế
vào b ng băm này theo hàm băm đã cho.
b) Gi s c c a b ng là 5, các giá tr khóa là các s nguyên không âm.
Và hàm băm là hàm chua l y ph n s . Áp d ng hàm xen vào, t b ng ư
băm day chuy n r ng, hãy đâ vào các d li u v i khóa
9,12,31,217,5.42,16. Cho bi u di n hình h c b ng băm k t qu . ế
Câu 4. (1,5 đi m)
a) Hãy trình bày t t ng c u thu t toán đi qua đ th theo b r ng và theo đ sâu.ư ưở
b) Cho đ th đ nh h ng trong hình v sau: ướ
c) Hãy đ a ra th t các đ nh đ c th m theo b r ng và đ sâu khi xu t phát tư ượ ư
đ nh A.
Câu 5. (1 đi m) Gi s các xâu đ c t o thành t 2 lý t A vàB. S d ng ccs phép toán ngăn ượ
x p, hãy vi t hàm cho bi t m t xâu có d ng Aế ế ế nBn (n>=0) hay không?
A
6
C
6
E
6
B
6
D
6
H
6
G
6
F
6