Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18 Bài giảng cấu trúc dữ liệu và giải thuật 18
CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN CuuDuongThanCong.com NỘI DUNG 1.1 Ví dụ mở đầu 1.2 Thuật toán độ phức tạp 1.3 Ký hiệu tiệm cận 1.4 Giả ngôn ngữ 1.5 Một số kĩ thuật phân tích thuật tốn CuuDuongThanCong.com Tham khảo tài liệu PGS TS Nguyễn Đức Nghĩa Ví dụ mở đầu • Bài tốn tìm dãy lớn nhất: Cho dãy số a1, a2, … , an Dãy số ai, ai+1 , …, aj với ≤ i ≤ j ≤ n gọi dãy dãy cho ∑jk=i ak gọi trọng lượng dãy Bài toán đặt là: Hãy tìm trọng lượng lớn dãy con, tức tìm cực đại giá trị ∑jk=i ak Để đơn giản ta gọi dãy có trọng lượng lớn dãy lớn • Ví dụ: Nếu dãy cho -2, 11, -4, 13, -5, cần đưa câu trả lời 20 (là trọng lượng dãy 11, -4, 13) CuuDuongThanCong.com Tham khảo tài liệu PGS TS Nguyễn Đức Nghĩa Thuật toán trực tiếp • Thuật tốn đơn giản nghĩ để giải toán đặt là: Duyệt tất dãy ai, ai+1 , …, aj với ≤ i ≤ j ≤ n tính tổng dãy để tìm trọng lượng lớn • Trước hết nhận thấy rằng, tổng số dãy dãy cho C(n,2) + n = n2/2 + n/2 CuuDuongThanCong.com Tham khảo tài liệu PGS TS Nguyễn Đức Nghĩa Thuật tốn trực tiếp • Thuật tốn cài đặt đoạn chương trình sau: int maxSum = 0; for (int i=0; i d[u] + c[u, v] { 13 d[v] = d[u] + c[u, v]; 14 p[v] = u; 15 Decrease_Key(Q,v,d[v]); 16 } 17 } CuuDuongThanCong.com Nguyễn Đức Nghĩa - Bộ mơn KHMT ĐHBKHN 138 Phân tích thời gian tính thuật tốn Vịng lặp for dịng địi hỏi thời gian O(|V|) Việc khởi tạo đống đòi hỏi thời gian O(|V|) Vòng lặp while dòng lặp |V| lần thao tác ExtractMin thực |V| lần đòi hỏi thời gian O(|V| log|V|) Thao tác Decrease_Key dịng 15 phải thực khơng q O(|E|) lần Do thời gian thực thao tác thuật toán O(|E| log|V|) Vậy tổng cộng thời gian tính thuật tốn O((|E| + |V|) log|V|) CuuDuongThanCong.com Nguyễn Đức Nghĩa - Bộ môn KHMT ĐHBKHN 139 Questions? CuuDuongThanCong.com Nguyễn Đức Nghĩa - Bộ môn KHMT ĐHBKHN 140 ... sau đây: Đầu vào (Input): Thuật toán nhận liệu vào từ tập Đầu (Output): Với tập liệu đầu vào, thuật toán đưa liệu tương ứng với lời giải toán Chính xác (Precision): Các bước thuật toán mô... máy tính để giải tốn đặt • Lời giải tốn bao gồm: – Thuật tốn (Algorithms) • Algorithm: dãy bước cần thực để từ liệu vào (input) đưa kết đầu (output) toán thời gian hữu hạn – Cấu trúc liệu: • Cách... thiết để thực thuật toán với liệu đầu vào kích thước n Thời gian gọi thời gian tính tốt thuật toán với đầu vào kích thước n Thời gian nhiều cần thiết để thực thuật toán với liệu đầu vào kích thước