You are on page 1of 2

Toán học rời rạc Lớp học phần INT1050 3, 21 / Học kì II, 2021-2022

Bài tập về nhà số 3:


Thuật toán + Biểu diễn số nguyên
Với các bài tập trình bày thuật toán, khuyến khích các nhóm cung cấp thêm mã nguồn
C++ hoặc python qua github nhóm để phòng trường hợp giả mã viết tay khó đọc. Nhóm
có mã nguồn sẽ được cộng tối đa 2 điểm. Do đó điểm của nhóm có thể > 10 (để bù cho
những tuần không được điểm tối đa).
1. [Giáo trình dịch] Hãy đưa ra đánh giá O lớn cho những hàm 𝑓 sau đây, trong đó
chọn hàm 𝑔 đơn giản với bậc nhỏ nhất có thể. Giải thích.
a) (𝑛 + 8)(𝑛 + 1)
b) (𝑛log 𝑛 + 𝑛 )(𝑛 + 2)
c) (𝑛! + 2 ) 𝑛 + log(𝑛 + 1)
d) (𝑛 + 𝑛 log 𝑛)(log 𝑛 + 1) + (17log 𝑛 + 19)(𝑛 + 2)
e) (2 + 𝑛 )(𝑛 + 3 )
f) (𝑛 + 𝑛2 + 5 )(𝑛! + 5 )
2. [Giáo trình dịch] Thuật toán tìm kiếm tam phân (ternary search) xác định vị trí
xuất hiện của khóa tìm kiếm 𝑥 trong một dãy số nguyên đã sắp tăng dần
𝑎 , 𝑎 , . . . , 𝑎 bằng cách liên tục chia dãy thành 3 phần kích thước đều nhau (hoặc
gần nhất có thể với kích thước đều), rồi giới hạn vùng tìm kiếm trong phần con phù
hợp. Hãy trình bày thuật toán này dưới dạng giả mã.
3. Hãy cho biết kết quả từng bước thực hiện thuật toán ở câu trên cho khóa tìm kiếm
𝑥 = 19 trong dãy 1,2,3,5,6,7,8,10,12,13,15,16,18,19,20,22.
4. Hãy đánh giá độ phức tạp thời gian của thuật toán ở câu 2 cho trường hợp xấu nhất
sử dụng kí hiệu O lớn.
5. [Giáo trình dịch] Bài này xem xét thuật toán sắp xếp chèn nhị phân (binary insertion
sort), là bản cải tiến cho thuật toán sắp xếp chèn (insertion sort) đã trình bày trong
bài giảng. Ở đây, ta áp dụng tìm kiếm nhị phân cho việc xác định vị trí chính xác
để chèn một phần tử mới vào một danh sách đã sắp. Hãy trình bày dưới dạng giả
mã thuật toán này nhằm sắp xếp tăng dần một dãy số nguyên.
6. [Giáo trình dịch] Hãy cho biết kết quả từng bước thực hiện thuật toán ở câu trên
cho dãy 3, 2, 4, 5, 1, 6.
7. [Giáo trình dịch] Hãy đếm số phép so sánh dùng bởi sắp xếp chèn và sắp xếp chèn
nhị phân khi thực hiện sắp xếp tăng dần cho dãy 7, 4, 3, 8, 1, 5, 4, 2.
8. Hãy đổi các số sau đây sang hệ nhị phân
a. 999
b. (152)8
c. (ABCD)16

diepht@vnu 1
Toán học rời rạc Lớp học phần INT1050 3, 21 / Học kì II, 2021-2022

9. Hãy liệt kê các bước thực hiện thuật toán nhân 2 số nguyên dương dạng nhị phân
trong giáo trình cho 14 và 9. Gợi ý: Trình bày dạng bảng có các cột 𝑗, 𝑏 , 𝑐 và 𝑝.

10. [Giáo trình dịch] Hãy đếm số phép cộng bit và dịch (shift) bit được sử dụng trong
thuật toán câu trên?

diepht@vnu 2

You might also like