De Thi CTDL - H1 - 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

TRƯỜNG ĐẠI HỌC THỦY LỢI ĐỀ THI KẾT THÚC HỌC PHẦN

KHOA CÔNG NGHỆ THÔNG TIN Môn: Cấu trúc dữ liệu và giải thuật
BỘ MÔN: KHOA HỌC MÁY TÍNH
Phụ trách Bộ môn
Mã số đề: H1

Thời gian làm bài: 60 phút


TS. Nguyễn Huy Đức

Câu 1 (2,5 điểm)


a. Xét một thuật toán có thời gian chạy t(n) = 2n2. Hỏi thời gian chạy của thuật toán
đó tăng lên bao nhiêu lần khi kích thước dữ liệu đầu vào n tăng lên ba lần.
b. Phân tích thời gian chạy (dùng ký hiệu O) của thuật toán tìm phần tử nhỏ nhất của
một dãy a có n phần tử:
1 min = a[0];
2 for (i = 1; i < n; i++)
3 if (a[i] < min)
4 min = a[i];

Câu 2 (2,5 điểm). Cho ngăn xếp như hình bên phải.
a. Chỉ ra dãy thao tác push(x) và pop phải thực hiện để chèn giá trị 36
vào giữa 32 và 16.
b. Chỉ ra dãy thao tác push(x) và pop phải thực hiện để xóa giá trị 16
trong khi giữ nguyên các giá trị còn lại.
Chú ý: Phải vẽ hình minh họa đầy đủ; làm câu 2b độc lập với câu 2a.

Câu 3 (2,5 điểm)


Cho cây AVL như hình bên phải. Chèn lần lượt vào
cây các giá trị 55, 70 và 41.
Chú ý: Phải vẽ hình minh họa đầy đủ cho các bước
trung gian.

Câu 4 (2,5 điểm)


a. Trình bày các bước diễn ra khi thực hiện thuật toán sắp xếp chọn (selection sort)
trên dãy số { 46, 59, 32, 40, 47 }.
b. Giả sử trong quá trình thực hiện thuật toán sắp xếp trộn (merge sort), ta phải trộn
hai nửa đã sắp xếp A = { 30, 32, 40 } và B = { 33, 37, 45 } thành một dãy C sao
cho C cũng được sắp xếp. Trình bày các bước diễn ra để thu được dãy C.

Ghi chú: Sinh viên không được dùng tài liệu; nộp lại đề thi khi nộp bài.
TRƯỜNG ĐẠI HỌC THỦY LỢI ĐỀ THI KẾT THÚC HỌC PHẦN
KHOA CÔNG NGHỆ THÔNG TIN Môn: Cấu trúc dữ liệu và giải thuật
BỘ MÔN: KHOA HỌC MÁY TÍNH
Phụ trách Bộ môn
Mã số đề: H2

Thời gian làm bài: 60 phút


TS. Nguyễn Huy Đức

Câu 1 (2,5 điểm)


a. Xét một thuật toán có thời gian chạy t(n) = 5n3. Hỏi thời gian chạy của thuật toán
đó tăng lên bao nhiêu lần khi kích thước dữ liệu đầu vào n tăng lên hai lần.
b. Phân tích thời gian chạy (dùng ký hiệu O) của thuật toán tìm vị trí của phần tử nhỏ
nhất của một dãy a có n phần tử:
1 vtmin = 0;
2 for (i = 1; i < n; i++)
3 if (a[i] < a[vtmin])
4 vtmin = i;

Câu 2 (2,5 điểm)


a. Cho ngăn xếp như hình bên phải. Vẽ hình mô tả sự thay đổi trạng
thái của ngăn xếp khi thực hiện lần lượt các thao tác sau đây:
push(35), pop, pop, push(21), pop, push(17).
b. Cho một hàng đợi có dung lượng 4 và được tổ chức theo kiểu mảng
vòng tròn như hình bên dưới. Hãy chỉ ra và vẽ hình minh họa cho một dãy thao tác
enqueue(x) và dequeue phải thực hiện sao cho hàng đợi chuyển từ trạng thái S1 sang
trạng thái S2.
(S1) 23 44  (S2) 12 40 44 26
   
front back back front
Câu 3 (2,5 điểm). Cho hàng đợi ưu tiên
(đống) như hình bên phải.
a. Chèn lần lượt 35 và 19 vào đống.
b. Xóa một giá trị khỏi đống.
Chú ý: Phải vẽ hình minh họa đầy đủ;
làm câu 3b độc lập với câu 3a.

Câu 4 (2,5 điểm)


Xét một bảng băm thăm dò bậc hai có kích thước 11 và có hàm băm h(x) = x % 11.
Biết rằng bảng băm đang rỗng, hãy chèn lần lượt vào bảng băm 5 giá trị sau đây: 51, 60,
63, 71, 62.
Chú ý: Phải vẽ hình minh họa cho các trạng thái trung gian (sau khi chèn mỗi giá trị).

Ghi chú: Sinh viên không được dùng tài liệu; nộp lại đề thi khi nộp bài.

You might also like