Bài giảng Kỹ thuật lập trình nâng cao: Chương 8 - Trần Minh Thái

Bài giảng "Kỹ thuật lập trình nâng cao - Chương 8: Kiểm tra tính đúng đắn và tối ưu hóa chương trình" cung cấp cho người học các kiến thức: Kỹ thuật dò tìm và phát hiện lỗi, cách kiểm tra, tối ưu hóa chương trình, tối ưu hóa bộ nhớ, . Mời các bạn cùng tham khảo. | Bài giảng Kỹ thuật lập trình nâng cao Chương 8 - Trần Minh Thái TRẦN MINH THÁI minhthai@ 1 Nguồn gốc các sai sót có 3 loại Dữ liệu Dùng bộ kiểm tra dữ liệu Cú pháp Dùng trình biên dịch Ngữ nghĩa è Có 2 cách kiểm lỗi chương trình kiểm testing và sửa debugging 2 Nguyên tắc Bảo đảm mọi trường hợp đều được kiểm tra. Thường bị lỗi ở những ngã rẻ phải duyệt qua ít nhất một lần. Một chương trình cần test nhiều lần. Kiểm tra từng môđun một để giảm độ phức tạp. 3 Tạo bộ dữ liệu thử sao cho thỏa 1 trong 4 cách sau Kiểm tra toàn bộ các nhánh của chương trình Mỗi lệnh của chương trình đều chạy qua ít nhất một lần. Kiểm tra ngẫu nhiên. Kiểm tra ở những điểm nút lựa chọn lặp Chèn lệnh kiểm tra logic ở mỗi đoạn dòng lệnh. 4 Tối ưu thời gian Tăng không gian lưu trữ thuật toán không đổi đổi cấu trúc dữ liệu và cấu trúc chương trình. Tối ưu không gian Tăng thời gian thuật toán không đổi đổi cấu trúc dữ liệu và cấu trúc chương trình. Tối ưu thời gian và không gian Thuật toán thay đổi. 5 Giảm thiểu vùng nhớ làm việc cần cho chương trình. Nguyên lý nén dữ liệu Giảm khoảng trống Biểu diễn danh sách tọa độ các giá trị có cùng giá trị. Mã lặp Những dữ liệu thường xuyên lặp lại dùng mã lặp Runlength-Coding để nén. Mã hóa dựa vào tần suất. Mã nền. Ánh xạ co dữ liệu. Nguyên lý dùng công thức thay bộ nhớ 6 Kỹ thuật tối ưu việc rẽ nhánh Sắp xếp các biểu thức điều kiện theo thứ tự Nếu dùng phép and để kết hợp các biểu thức thì sắp xếp các biểu thức theo xác suất sai giảm dần. Nếu dùng phép or để kết hợp các biểu thức thì sắp xếp các biểu thức theo xác suất đúng giảm dần. 7 Kỹ thuật tối ưu các vòng lặp Tách các lệnh không phụ thuộc vào chỉ số lặp ra khỏi vòng lặp. Thay các phép nhân thành phép cộng nếu được. Giảm số toán tử phức tạp trong vòng lặp nhờ các biến phụ. Giảm số vòng lặp chương trình. Thực hiện nhiều hơn trong mỗi vòng lặp. Vòng lặp nào có số lần lặp ít sẽ nằm ngòai vòng lặp có số lần lặp nhiều hơn Hoán đổi thứ tự các vòng lặp mà không làm sai ý nghĩa chương trình. Thực .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã 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.