tailieunhanh - Bài giảng Cấu trúc dữ liệu và giải thuật: Phân tích thuật toán - Phan Mạnh Hiển (2020)
Bài giảng "Cấu trúc dữ liệu và giải thuật: Phân tích thuật toán" cung cấp cho người học một số kiến thức: Phân tích thuật toán là gì, các ký hiệu tiệm cận, tốc độ tăng của các hàm, các ví dụ phân tích thuật toán. | Bài giảng Cấu trúc dữ liệu và giải thuật Phân tích thuật toán - Phan Mạnh Hiển 2020 Phân tích thuật toán Nguyễn Mạnh Hiển hiennm@ Nội dung 1. Phân tích thuật toán là gì 2. Các ký hiệu tiệm cận 3. Tốc độ tăng của các hàm 4. Các ví dụ phân tích thuật toán 1. Phân tích thuật toán là gì Phân tích thuật toán Nhằm xác định thời gian chạy độ phức tạp của thuật toán dưới dạng một hàm f của kích thước đầu vào n VD Thời gian tìm tuần tự một phần tử x trong một dãy n phần tử là f n n Đơn vị thời gian Không phải là giờ phút giây Mà là thao tác cơ bản VD cộng nhân so sánh Mỗi thao tác cơ bản có thời gian chạy là hằng một lượng thời gian nhỏ không phụ thuộc vào kích thước đầu vào n Đếm số thao tác cơ bản Nhận diện các thao tác cơ bản trong thuật toán Xác định thao tác cơ bản T chiếm nhiều thời gian chạy nhất so với các thao tác cơ bản còn lại Thao tác T này thường xuất hiện trong các vòng lặp Đếm số lần thực hiện thao tác T sẽ thu được hàm thời gian chạy f n Ví dụ đếm số thao tác cơ bản Ví dụ 1 In các phần tử C Ví dụ 3 Kiểm tra tính sắp xếp C for i 0 i lt n i template cout 2. Các ký hiệu tiệm cận Phân tích tiệm cận Nhằm xem xét tốc độ tăng trưởng của hàm f n khi n dần tới Cho phép quy các dạng hàm f n khác nhau về một vài dạng cơ bản như log n n n2 từ đó giúp so sánh thời gian chạy của các thuật toán dễ dàng hơn Có 3 cách phân tích tiệm cận tương ứng với ba ký hiệu tiệm cận sau đây Ô lớn O tìm cận trên của f n Ô-mê-ga lớn tìm cận dưới của f n Tê-ta lớn tìm cận chặt của f n Ký hiệu O f n O g n khi và chỉ khi c gt 0 và n0 gt 0 sao cho f n cg n n n0 cg n f n f n bị chặn trên bởi g n theo nghĩa tiệm cận n0 Ký hiệu f n g n khi và chỉ khi c gt 0 và n0 gt 0 sao cho cg n f n n n0 f n cg n f n bị chặn dưới bởi g n theo nghĩa tiệm cận n0 Ký hiệu f n g n khi và chỉ khi c1 gt 0 c2 gt 0 và n0 gt 0 sao cho c1g n f n c2g n n n0 c2g n f n f n có cùng tốc độ tăng c1g n với g n theo nghĩa tiệm cận n0 Ví dụ phân tích tiệm cận f n 3n2 17 1 n n2 cận dưới O n2 O n3 cận trên n2 cận chặt .
đang nạp các trang xem trước