Đề thi cuối kỳ Cấu trúc dữ liệu và giải thuật | Trường Đại học CNTT Thành Phố Hồ Chí Minh

Đề thi cuối kỳ Cấu trúc dữ liệu và giải thuật | Trường Đại học CNTT Thành Phố Hồ Chí Minh được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỀ THI CUI K MÔN CU TRÚC D LI U VÀ GII THUT
Thi gian: 90 phút
(Không s d ng tài li u)
Câu 1 m) (3 điể : Cho dãy s 17 72 99 32 58 70 44 12 23 ban đầu như sau :
Hãy th n các yêu c u sau: c hi
a. Hãy trình bày các bướ (1.5 đ)c thc hin thut toán ch n tr p c tiế
b. V hình t c th c hi n c a thu t toán ừng bướ trên để s p x p dãy s theo th t ế
gim dn (không c n l p trình) (1.5 đ)
Gi ý đáp án:
a. Sinh viên trình bày lý thuyết đúng thuật toán (1,5 điểm)
Bước 1: i = 0;
Bước 2: Tìm phn t a[min] nh nh t trong dãy hin hành t a[i] đến a[N- 1]
Bước 3 : Hoán v a[min] và a[i]
Bước 4 : Nếu i < N-2 thì i = i+1; Lp l ại Bước 2
Ngược li: Dng. //N-1 phn t đã nằm đúng vị trí.
b. Viết đ ước đưa từúng các b ng phn t nh/ln nh m). N u SV ất lên trước (1,5 điể ế
làm sai phương pháp thì không tính đim.
Nếu SV l nh m sai 1- ng h p thì ch m 2 trườ cho 1.0 điể
Câu 2 (4 điểm) : Cho dãy các ký t như sau : A B C D E F W Z U T K
Hãy th n các yêu c u sau: c hi
a. Hãy v cây nh phân tìm ki m t dãy ký t trên ế (1 đ)
b. B xung l t các ký t sau vào cây N, G, H , M , L ần lượ để hình thành cây nh phân
tìm ki i, vếm m hình cây khi thêm t ng ký t vào cây (1 đ)
c. Trình bày dãy k t k t q t cây theo t NRL, LRN ế a khi duy th (1 đ)
d. V hình cây khi xóa l W, E, H, C ần lượt các ký t (1 đ)
Lưu ý : trong qúa trình b xung hay xóa m t nút trên cây, n u có x y ra m t cân b ng thì ế
cho biết trường h p m ng là lo i gì và n hành cân b ng l cây. t cân b tiế i
Câu 3 : (2 điểm) Cho m t danh sách liên k s n ph m trong m ết đôi đã lưu thông tin v t
công ty, bao gm:
1.Mã s n ph m (ki u s nguyên)
2.Tên sn ph m (ki u chu i)
3.Chng lo ng Gi y, b ng Kim lo i, b ng Nh a) i (b
4.N kiăm sản xut ( u s nguyên)
5.S năm bảo hành (kiu s nguyên)
Hai con tr Head, Tail đang trỏ đến ph n t u tiên và cu i cùng trong danh sách trên. đầ
Hãy th n các yêu c u sau : c hi
a. Viết hàm s p x p các s n ph m theo mã s n ph m gi m d n ế (1 đ)
b. Viết hàm xóa các s n ph t h n b o hành ra kh i danh sách khi th m đã hế ỏa điều
kiện : Năm sả năm bảo hành > Năm hiệ ại (1 đ)n xut + S n t
Gi ý đáp án:
a.
b.
Câu 4 : (1 điểm) Trình bày ng n g ng v b t b ọn ý tưở ảng băm. Cho biế ảng băm tối ưu
hơn các cấ ệu đã họu trúc d li c nào và cho m t ví d minh h a.
Gi ý đáp án:
- Nêu được b cho vi c tìm kiảng băm phục v ếm (0.25 điểm)
- Nêu được cách s d c phân b giá tr ụng hàm băm trong việ (0.25 điểm)
- Nêu được ưu việ ảng băm so t ca tìm kiếm trên b vi tìm ki m tu n t hay nh ế
phân (0.25 điểm)
- Cho ví d minh h a đư c (0.25 điểm)
HT
| 1/2

Preview text:

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỀ THI CUI K MÔN CU TRÚC D L
I U VÀ GII THUT
Thi gian: 90 phút
(Không s dng tài liu )
Câu 1 (3 điểm) : Cho dãy số ban đầu như sau : 17 72 99 32 58 70 44 12 23
Hãy thực hiện các yêu cầu sau:
a. Hãy trình bày các bước thực hiện thut toán chn trc tiếp (1.5 đ)
b. Vẽ hình từng bước thực hiện của thuật toán trên để sắp xếp dãy số theo thứ tự
gim dn (không cần lập trình) (1.5 đ)
Gi ý đáp án:
a. Sinh viên trình bày lý thuyết đúng thuật toán (1,5 điểm) Bước 1: i = 0;
Bước 2: Tìm phn t a[min] nh nht trong dãy hin hành t a[i] đến a[N-1]
Bước 3 : Hoán v a[min] và a[i]
Bước 4 : Nếu i < N-2 thì i = i+1; Lp lại Bước 2
Ngược lại: Dừng. //N-1 phần tử đã nằm đúng vị trí .
b. Viết đúng các bước đưa từng phần tử nhỏ/lớn nhất lên trước (1,5 điểm). Nếu SV
làm sai phương pháp thì không tính điểm.
Nếu SV lỡ nhầm sai 1-2 trường hợp thì chỉ cho 1.0 điểm
Câu 2
(4 điểm) : Cho dãy các ký tự như sau : A B C D E F W Z U T K
Hãy thực hiện các yêu cầu sau:
a. Hãy vẽ cây nhị phân tìm kiếm từ dãy ký tự trên (1 đ)
b. Bổ xung lần lượt các ký tự sau vào cây N, G, H , M , L để hình thành cây nhị phân
tìm kiếm mới, vẽ hình cây khi thêm từng ký tự vào cây (1 đ)
c. Trình bày dãy kỹ tự kết qủa khi duyệt cây theo thứ tứ NRL, LRN (1 đ)
d. Vẽ hình cây khi xóa lần lượt các ký tự W, E, H, C (1 đ)
Lưu ý : trong qúa trình bổ xung hay xóa một nút trên cây, nếu có xảy ra mất cân bằng thì
cho biết trường hợp mất cân bằng là loại gì và tiến hành cân bằng lại c ây.
Câu 3 (2 điểm) : Cho một danh sách liên kết đôi đã lưu thông tin về sản phẩm trong một công ty, bao gồm:
1.Mã sản phẩm (kiểu số nguyên)
2.Tên sản phẩm (kiểu chuỗi )
3.Chủng loại (bằng Giấy, bằng Kim loại, bằng Nhựa) 4.Năm sản xuất k ( iểu số nguyên)
5.Số năm bảo hành (kiểu số nguyên)
Hai con trỏ Head, Tail đang trỏ đến phần tử đầu tiên và cuối cùng trong danh sách trên.
Hãy thực hiện các yêu cầu sau :
a. Viết hàm sắp xếp các sản phẩm theo mã sản phẩm giảm dần (1 đ)
b. Viết hàm xóa các sản phẩm đã hết hạn bảo hành ra khỏi danh sách khi thỏa điều
kiện : Năm sản xuất + Số năm bảo hành > Năm hiện tại (1 đ)
Gi ý đáp án: a. b.
Câu 4 (1 điểm) : Trình bày ngắn gọn ý tưởng về bảng băm. Cho biết bảng băm tối ưu
hơn các cấu trúc dữ liệu đã học nào và cho một ví ụ d minh họa.
Gi ý đáp án:
- Nêu được bảng băm phục vụ cho việc tìm kiếm (0.25 điểm)
- Nêu được cách sử dụng hàm băm trong việc phân bổ giá trị (0.25 điểm)
- Nêu được ưu việt của tìm kiếm trên bảng băm so với tìm kiếm tuần tự hay nhị phân (0.25 điểm )
- Cho ví dụ minh họa được (0.25 điểm) HT