Thuật toán (Algorithm) 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; sau khi thực hiện các bước theo một trình tự xác định, ta được lời giải của bài toán.
TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ ViỆT - HÀN KHOA KHOA HỌC MÁY TÍNH -*** - THUẬT TOÁN (Algorithms) Nguyễn Thanh Cẩm Mục đích Thuật Toán Các khái niệm liên quan đến toán giải toán Cài đặt số thuật toán Nghiên cứu Vận dụng giải toán cụ thể Nguyễn Thanh Cẩm Các kỹ thuật Thiết kế thuật toán Phân tích Đánh giá thuật toán Nội Dung C1 THUẬT TOÁN VÀ ĐỘ PHỨC TẠP C2 CHIA ĐỂ TRỊ C3 QUY HOẠCH ĐỘNG C4 THUẬT TOÁN THAM LAM C5 THUẬT TOÁN QUAY LUI Nguyễn Thanh Cẩm Học liệu Slide giảng Tài liệu nước Vũ Đình Hòa, Đỗ Trung Kiên, Thuật toán độ phức tạp thuật toán, nhà xuất đại học sư phạm 2007 •Đỗ Xuân Lôi, Cấu trúc liệu giải thuật, NXB Đại học Quốc Gia Hà Nội 2007 • Tài liệu nước Giáo trình Thuật toán Tài liệu khác Nguyễn Thanh Cẩm Richard Neapolitan, Kumarss Naimipour, Foundations of Algorithms Using C++ Pseudocode, Jones and Bartlett Publishers •Introduction to Algorithms, Second Edition, Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein the MIT press • Đánh giá Kiểm tra Kiểm tra Kiểm tra Kiểm tra kỳ Kiểm tra cuối kỳ Nguyễn Thanh Cẩm THUẬT TOÁN VÀ ĐỘ PHỨC TẠP 1.1 Khái niệm thuật toán 1.2 Thiết kế - Phân tích – Đánh giá thuật toán 1.3 Biểu diễn thuật toán 1.4 Ngôn ngữ diễn đạt thuật toán (tựa c) 1.5 Đánh giá độ phức tạp thuật toán Nguyễn Thanh Cẩm 1.1 Khái niệm thuật toán Một ví dụ thuật toán (1) Cho A={a1, a2,…,an| ai∈Z với ∀i∈N} Hãy mô tả bước để tìm phần tử lớn dãy? Nguyễn Thanh Cẩm 1.1 Khái niệm thuật toán Một ví dụ thuật toán (2) Ý tưởng: b1 Max = A[1] Nguyễn Thanh Cẩm b2 b3 b4 if(A[i]>Max) Max = A[i] (i=2) Lặp lại bước với i=3 n Dừng i>n 1.1 Khái niệm thuật toán Một ví dụ thuật toán (3) Nhận xét: Sau thực trình tự bước trên, ta nhận đáp số toán (đó phần tử Max dãy) dãy hữu hạn bước dẫn tới đáp số mong muốn toán gọi thuật toán Nguyễn Thanh Cẩm 1.1 Khái niệm thuật toán Khái niệm thuật toán Thuật toán (Algorithm) dãy hữu hạn bước, bước mô tả xác phép toán, hành động cần thực hiện; sau thực bước theo trình tự xác định, ta lời giải toán Nguyễn Thanh Cẩm 1.5 Độ phức tạp thuật toán Các quy tắc đánh giá độ phức tạp thời gian thực thuật toán (1)Thời gian thực câu lệnh đơn Lệnh đơn gồm: Phép gán, câu lệnh đọc, viết, câu lệnh goto Thời gian thực lệnh đơn: O(1) tức thời gian thực không đổi Thí dụ: xét đoạn chương trình sau: (1) for (i = 1; i