Chương 1: Mở đầu về thiết kế, đánh giá thuật toán và kiến thức bổ trợ
Khái niệm thuật toán:
Thuật toán là một dãy hữu hạn các bước, mỗi bước mô tả chính xác các phép toán hoặc hành động cần thực hiện... để cho ta lời giải của bài toán
25 trang |
Chia sẻ: diunt88 | Lượt xem: 3085 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Bài giảng Thiết kế và Phân tích thuật toán_Chương 1: Mở đầu về thiết kế, đánh giá thuật toán và kiến thức bổ trợ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
THIẾT KẾ VÀ PHÂN TÍCH THUẬT TOÁN Thêi lîng: 2 TC NhiÖm vô cña sinh viªn: - §i häc ®Çy ®ñ - Lµm bµi tËp §¸nh gi¸ sinh viªn: - §iÓm quá trình 30% - §iÓm thi hÕt m«n 70% §iÓm quá trình gồm 3 ®iÓm: §iÓm ®i häc ®Òu + §iÓm bµi tËp + §iÓm kiÓm tra gi÷a kú §iÒu kiÖn ®îc dù thi hÕt m«n: §iÓm quá trình >=12 Chương 1: Mở đầu về thiết kế, đánh giá thuật toán và kiến thức bổ trợ Chương 2*: Độ phức tạp tính toán và tính hiệu quả của thuật toán Chương 3*: Phương pháp “tham lam” Chương 4*: Phương pháp “chia để trị” Chương 5*: Phương pháp qui hoạch động Chương 6*: Phương pháp quay lui và nhánh cận Chương 7: Lý thuyết độ phức tạp tính toán (máy Turing , các lớp bài toán P, NP, NPC, NPH...) Tµi liÖu tham kh¶o chÝnh [1] Lê Minh Hoàng “Bài giảng chuyên đề: Chuyên đề quy hoạch động” [2] Nguyễn Văn Linh “Giáo trình giải thuật” - Đại học Cần Thơ [3] Vũ Đình Hòa & Đỗ Trung Kiên “Giáo trình giải thuật và đánh giá độ phức tạp giải thuật” #include #include #define max 100 float a[max]; int n; void nhap() {clrscr(); cout>n; cout>a[i]; } } int timmax(int k) {float s=0; int t=k+1; for(int i=k;i>=0;i--) {s+=a[i]; if(s>0)t=i; } return t; } void main() {int x; nhap(); coutc-d){d=x;c=i;} } cout<<"Day con max\n"; for (i=d;i<=c;i++)cout<<a[i]<<" "; }