BÀI TẬP THỰC HÀNH MÔN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT - PTH02003 - POHE Bài 01(bai01.c): Viết chương trình cho giải thuật (giả mã chương trình) tìm USCLN của 2 số nguyên dương a, b. Bài 01b(bai01b.c): Viết chương trình cho giải thuật (giả mã chương trình và giã mã chương trình con) tìm USCLN của 2 số nguyên dương a, b. Bài 02(bai02.c): Tính n! theo giải thuật đệ quy. Bài 03(bai03.c): Tìm USCLN của 2 số nguyên dương theo giải thuật đệ quy. Bài 04(bai04.c): Tìm và đưa ra màn hình dãy số Fibonacci nhỏ hơn hoặc bằng n theo giải thuật đệ quy. Biết rằng phần tử Fibonacci thứ n, F(n) = F(n-1)+F(n-2), Fibonacci thứ 0 và thứ 1 là 1. Bài 05(bai05.c): Tính tổ hợp chập k của n phần tử theo giải thuật đệ quy. Biết rằng C(k,n)=C(k-1,n-1)+c(k,n-1), đk: 0 Chuyển thành biểu thức hậu tố là a b + 2 * Bài 08(bai08.c): Cài đặt hàng đợi lưu trữ bằng mảng theo kiểu quay vòng và các phép toán trên hàng đợi. Sử dụng hàng đợi để lưu trữ dãy số nguyên nhập vào từ bàn phím. Đưa dãy số nguyên ra màn hình theo thứ tự đã nhập. Tính tổng, trung bình cộng và đếm số phần tử của dãy số đã nhập. Bài 09(bai09.c): Cho đa thức tuyến tính bậc n, Pn(x) = a0 + a1x + a2x^2 + a3x^3 +...+ anx^n. Sử dụng hàng đợi lưu trữ bằng mảng theo kiểu quay vòng lưu trữ các hệ số khác 0 và số mũ của đa thức. Đưa ra màn hình đa thức Pn(x). Nhập vào x, tính Pn(x). Bài 10(bai10.c): Tính tổng 2 đa thức tuyến tính Pn(x) và Qm(x). Pn(x) = a0 + a1x + a2x^2 + a3x^3 +...+ anx^n. Qm(x) = b0 + b1x + b2x^2 + b3x^3 + ... + bmx^m. Yêu cầu sử dụng hàng đợi lưu trữ bằng mảng theo kiểu quay vòng lưu trữ các hệ số khác 0 và số mũ của đa thức. Đưa ra màn hình đa thức Pn(x) và Qm(x). Nhập vào x, tính Pn(x) và Qm(x). Bài 11(bai11.c): Cài đặt danh sách liên kết đơn. Sử dụng danh sách liên kết đơn P để lưu trữ dãy số nguyên theo thứ tự nhập vào từ bàn phím. Tạo danh sách liên kết đơn Q bao gồm các phần tử dữ liệu của P nhưng theo thứ tự đảo ngược. Bài 12(bai12.c): Cài đặt danh sách liên kết đơn. Sử dụng danh sách liên kết đơn để lưu trữ danh sách sinh viên, mỗi sinh viên có thông tin về mã sinh viên, họ tên, lớp, điểm tbc. Xóa sinh viên có mã nhập vào từ bàn phím. Tìm và đưa ra màn hình các sinh viên có điểm tbc >= 6.5. Bài 13(bai13.c): Cài đặt danh sách liên kết kép. Sử dụng danh sách liên kết kép để chứa dãy số nguyên theo thứ tự nhập vào từ bàn phím. Đưa dãy số nguyên ra màn hình theo thứ tự từ trái sang phải và từ phải sang trái. Bài 14(bai14.c): Cài đặt ngăn xếp lưu trữ phân tán theo kiểu liên kết đơn. Sử dụng ngăn xếp chuyển số nguyên dương n sang số hex. Bài 15(bai15.c): Cài đặt hàng đợi lưu trữ phân tán theo kiểu liên kết đơn. Sử dụng hàng đợi lưu dãy số nguyên nhập vào từ bàn phím. Đưa dãy số nguyên ra màn hình theo thứ tự đã nhập. Bài 16(bai16.c): Nhập vào dãy số nguyên có n phần tử. Sắp xếp dãy số nguyên tăng dần theo giải thuật sắp xếp chèn (Insert Sort).