tailieunhanh - Bài giảng Phân tích thiết kế giải thuật: Chương 3 - Trịnh Huy Hoàng

Bài giảng Phân tích thiết kế giải thuật: Chương 3 của Trịnh Huy Hoàng bao gồm những nội dung về kỹ thuật tối ưu hóa chương trình (các mức thiết kế một chương trình, các kỹ thuật tối ưu hóa chương trình như kỹ thuật tinh chế mã, kỹ thuật tối ưu hóa rẽ nhánh, kỹ thuật tối ưu hóa các vòng lặp tối ưu hóa chương trình bằng bảng truy cập, tối ưu bằng cách giảm thiểu gọi chương trình con). | Chương 3: Kỹ thuật tối ưu hóa chương trình Trịnh Huy Hoàng Khoa Công nghệ thông tin Đại học Sư phạm TPHCM Nội dung Các mức thiết kế một chương trình Các kỹ thuật tối ưu hóa chương trình Kỹ thuật tinh chế mã Kỹ thuật tối ưu hóa rẽ nhánh Kỹ thuật tối ưu hóa các vòng lặp Tối ưu hóa chương trình bằng bảng truy cập Tối ưu bằng cách giảm thiểu gọi chương trình con Các mức thiết kế một chương trình Đặc tả bài toán Thiết kế cấu trúc hệ thống Cấu trúc dữ liệu và thuật toán Tinh chế mã (tối ưu hóa chương trình) Tính độ phức tạp của thuật toán Lưu ý Trước khi viết chương trình: + Không nên mã hóa 1 chương trình ngay khi chỉ mới có ý tưởng đầu tiên mà phải xem xét tất cả các mức thiết kế có thể để chọn ra 1 thiết kế làm tăng tốc nhanh nhất với phí tổn ít nhất. + Nên thử nhiều mức thiết kế khác nhau bằng cách giải quyết bài toán trên nhiều mặt từ đó chọn được 1 thiết kế tối ưu về không gian và thời gian. Kỹ thuật tinh chế mã Ta có thể tối ưu chương trình về mặt thời gian hoặc không gian (rất khó thực hiện được cả hai), nếu muốn tối ưu cả hai khía cạnh trên thì ta phải thay đổi thuật toán. Ở chương này ta xét các kỹ thuật tối ưu chương trình về mặt cấu trúc, tìm 1 thuật giải có độ phức tạp tốt nhất có thể. Ví dụ 1: Viết chương trình tính tổng S=1+x/1!+x2/2!+ +xn/n! s=1; for(i=1;i Kỹ thuật tối ưu hóa rẽ nhánh Qui tắc 1: Sắp xếp biểu thức điều kiện dạng A1 and A2 and An theo xác suất sai của các điều kiện Aigiảm dần Qui tắc 2: Sắp xếp biểu thức điều kiện dạng A1 or A2 or An theo xác suất đúng của các điều kiện Ai giảm dần Ví dụ: Cho 2 dãy số nguyên A, B lần lượt có số phần tử là m và n. A=B? if ((m=n)&& Chua(a,b) && Chua(b,a) printf(“Hai day bang nhau”); else printf(“Hai day khong bang nhau”); Ví dụ: Nhập số tự nhiên n, nếu n là số có 1 trong các tính chất (lẻ, nguyên tố, chính phương, hoàn hảo) thì thực hiện S1, ngược lại S2. if . | Chương 3: Kỹ thuật tối ưu hóa chương trình Trịnh Huy Hoàng Khoa Công nghệ thông tin Đại học Sư phạm TPHCM Nội dung Các mức thiết kế một chương trình Các kỹ thuật tối ưu hóa chương trình Kỹ thuật tinh chế mã Kỹ thuật tối ưu hóa rẽ nhánh Kỹ thuật tối ưu hóa các vòng lặp Tối ưu hóa chương trình bằng bảng truy cập Tối ưu bằng cách giảm thiểu gọi chương trình con Các mức thiết kế một chương trình Đặc tả bài toán Thiết kế cấu trúc hệ thống Cấu trúc dữ liệu và thuật toán Tinh chế mã (tối ưu hóa chương trình) Tính độ phức tạp của thuật toán Lưu ý Trước khi viết chương trình: + Không nên mã hóa 1 chương trình ngay khi chỉ mới có ý tưởng đầu tiên mà phải xem xét tất cả các mức thiết kế có thể để chọn ra 1 thiết kế làm tăng tốc nhanh nhất với phí tổn ít nhất. + Nên thử nhiều mức thiết kế khác nhau bằng cách giải quyết bài toán trên nhiều mặt từ đó chọn được 1 thiết kế tối ưu về không gian và thời gian. Kỹ thuật tinh chế mã Ta có thể tối ưu chương trình về mặt thời gian hoặc không

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.