2.25 điểm Hãy trả lời ngắn gọn các câu hỏi sau đây: 1.1 Khi chuyển đổi một giải thuật đệ quy thành một giải thuật lặp nhờ vào stack, độ phức tạp tính tốn của giải thuật này cĩ thay đổi
Trang 1Thi giữa học kỳ (3/2014) Môn: Phân Tích và Thiết Kế Giải Thuật
Thời gian: 75 phút
(Không được tham khảo tài liệu ngoại trừ một tờ giấy khổ A4 chứa những ghi chú cần thiết)
Đề thi gồm 2 trang
1 (2.25 điểm) Hãy trả lời ngắn gọn các câu hỏi sau đây:
1.1 Khi chuyển đổi một giải thuật đệ quy thành một giải thuật lặp nhờ vào stack, độ phức
tạp tính tốn của giải thuật này cĩ thay đổi hay khơng? Giải thích câu trả lời của anh/chi.? (0.5 điểm)
1.2 Hãy nêu tác vụ căn bản được dùng khi phân tích độ phức tạp của giải thuật sắp thứ tự ngoại
bằng phương pháp trộn (0.25 điểm)
1.3 Cho các giải thuật và các chiến lược thiết kế giải thuật mà các anh/chị đã học sau đây:
Giải thuật: mergesort, Euclid để tìm ước số chung lớn nhất của hai số nguyên dương, loại trừ
Gauss, xếp thứ tự tơpơ, sequential search
Chiến lược thiết kế giải thuật: brute-force, chia để trị, giảm để trị, biến thể để trị
Hãy cho biết giải thuật nào thuộc chiến lược thiết kế giải thuật nào? (0.5 điểm)
1.4 Trong giải thuật so trùng dịng ký tự Rabin-Karp, với chuỗi T = “147625368” và mẫu
P= “25” và q = 11, thì sẽ cĩ bao nhiêu sự trùng khớp thật và bao nhiêu sự trùng khớp giả?
(1 điểm)
2 (1.5 điểm) Cho một giải thuật đệ quy cĩ hệ thức truy hồi như sau:
Và C(1) = 0
Giải hệ thức truy hồi nêu trên để tìm ra độ phức tạp tính tốn của giải thuật
3 (1.25 điểm) Cho một tập tin lưu ở bộ nhớ ngoài gồm 23 bản ghi (record) với những
trị khóa như sau: 28, 3, 93, 10, 54, 65, 30, 90, 10, 69, 8, 22, 31, 5, 96, 40, 85, 9, 39, 13,
8, 77, 10
Giả sử một bản ghi chiếm một block và bộ đệm (buffer) trong bộ nhớ chính có thể
chứa tối đa 4 block Trong giai đoạn trộn, 3 block của bộ đệm sẽ dành cho các input và
một block của bộ đệm sẽ dành cho output
a Hãy chạy từng bước giải thuật xếp thứ tự ngoại bằng phương pháp trộn cho tập
tin nói trên (1 điểm)
b Hãy phát biểu (không chứng minh) độ phức tạp tính toán của giải thuật xếp thứ
tự ngoại bằng phương pháp trộn (0.25 điểm)
4.(3 điểm)
Cho một giải thuật sắp thứ tự một dãy số bằng cách xây dựng một cây nhị phân tìm kiếm
từ dãy số nhập vào và sau đĩ duyệt cây theo thứ tự nội:
procedure Tree-sort(T)
// let T be an empty binary search tree
for i := 1 to n do
TreeInsert(T, A[i]);
InOrder-Tree-Traversal(T);
Cho dãy số 44, 30, 50, 22, 60, 55, 77, 56
SinhVienZone.Com
Trang 2a Hãy chạy từng bước giải thuật Tree-sort để sắp thứ tự dãy số trên (Cần vẽ cây nhị phân, thay đổi theo từng bước thực thi của giải thuật khi tạo cây) (1 điểm)
b Hãy phân tích độ phức tạp tính tốn của việc xây dựng một cây tìm kiếm nhị phân
từ một dãy n số (tức vịng for) trong trường hợp xấu nhất (1 điểm)
c Giải thuật trên được thiết kế theo chiến lược thiết kế giải thuật nào? (0.5 điểm)
d So sánh giải thuật trên với heapsort về độ hữu hiệu (0.5 điểm)
5 (2 điểm)
a Dùng cây nhị phân diễn tả quá trình cấu tạo heap (theo kiểu từ trên xuống) từ một dãy các trị khĩa sau đây:
23, 7, 92, 6, 12, 24, 40, 44, 20, 21 (0.75 điểm)
b Dùng cây nhị phân diễn tả quá trình cấu tạo heap (theo kiểu từ dưới lên) từ một dãy
các trị khĩa được cho ở câu a) (0.75 điểm)
c Phát biểu độ phức tạp của việc cấu tạo heap (theo kiểu từ trên xuống) từ một dãy n trị khĩa Phát biểu độ phức tạp của việc cấu tạo heap (theo kiểu từ dưới lên) từ một dãy n trị khĩa (0.5 điểm)
SinhVienZone.Com