http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Phân tích tiệm cận Cấu trúc liệu Giải thuật Chương trước tìm hiểu phân tích lý thuyết số khái niệm độ phức tạp thời gian độ phức tạp nhớ phân tích giải thuật Chương trình bày Phân tích tiệm cận Cấu trúc liệu Giải thuật Phân tích tiệm cận ? Phân tích tiệm cận giải thuật khái niệm giúp ước lượng thời gian chạy (Running Time) giải thuật Sử dụng phân tích tiệm cận, đưa kết luận tốt tình trường hợp tốt nhất, trường hợp trung bình, trường hợp xấu giải thuật Để tham khảo trường hợp này, bạn tìm hiểu chương Cấu trúc liệu ? Phân tích tiệm cận tức tiệm cận liệu đầu vào (Input), tức giải thuật khơng có Input kết luận cuỗi giải thuật chạy lượng thời gian cụ thể số Ngoài nhân tố Input, nhân tố khác xem khơng đổi Phân tích tiệm cận nói đến việc ước lượng thời gian chạy phép tính bước tính tốn Ví dụ, thời gian chạy phép tính ước lượng hàmf(n) với phép tính khác hàm g(n2) Điều có nghĩa thời gian chạy phép tính tăng tuyến tính với tăng lên n thời gian chạy phép tính thứ hai tăng theo hàm mũ n tăng lên Tương tự, n nhỏ thời gian chạy hai phép tính gần Thường thời gian cần thiết giải thuật chia thành loại: • Trường hợp tốt nhất: thời gian nhỏ cần thiết để thực thi chương trình • Trường hợp trung bình: thời gian trung bình cần thiết để thực thi chương trình • Trường hợp xấu nhất: thời gian tối đa cần thiết để thực thi chương trình Asymptotic Notation Cấu trúc liệu giải thuật Dưới Asymptotic Notation sử dụng phổ biến việc ước lượng độ phức tạp thời gian chạy giải thuật: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright â vietjack.com Notation Ω Notation • θ Notation Big Oh Notation, Ο Cấu trúc liệu giải thuật Ο(n) cách để biểu diễn tiệm cận thời gian chạy thuật tốn Nó ước lượng độ phức tạp thời gian trường hợp xấu lượng thời gian dài cần thiết giải thuật (thực thi từ bắt đầu kết thúc) Đồ thị biểu diễn sau: Ví dụ, gọi f(n) g(n) hàm không giảm định nghĩa số nguyên dương (tất hàm thời gian thỏa mãn điều kiện này): Ο(f(n)) = { g(n) : tồn c > n0 cho g(n) ≤ c.f(n) với n > n0 } Omega Notation, Ω Cấu trúc liệu giải thuật The Ω(n) cách để biểu diễn tiệm cận thời gian chạy giải thuật Nó ước lượng độ phức tạp thời gian trường hợp tốt lượng thời gian ngắn cần thiết giải thuật Đồ thị biểu diễn sau: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Ví dụ, với hàm f(n): Ω(f(n)) ≥ { g(n) : tồn c > n0 cho g(n) ≤ c.f(n) với n > n0 } Theta Notation, θ Cấu trúc liệu giải thuật The θ(n) cách để biểu diễn tiệm cận tiệm cận thời gian chạy giải thuật Bạn nhìn vào đồ sau: θ(f(n)) = { g(n) g(n) = n0 } Ο(f(n)) g(n) = Ω(f(n)) với n > http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/cau-‐truc-‐du-‐lieu-‐va-‐giai-‐thuat/index.jsp Copyright © vietjack.com Một số Asymptotic Notation phổ biến cấu trúc liệu giải thuật số − Ο(1) logarit − Ο(log n) Tuyến tính (Linear) − Ο(n) n log n − Ο(n log n) Bậc hai (Quadratic) − Ο(n2) Bậc (cubic) − Ο(n3) Đa thức (polynomial) − nΟ(1) Hàm mũ (exponential) − 2Ο(n) http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... g(n) ≤ c.f(n) với n > n0 } Theta Notation, θ Cấu trúc liệu giải thuật The θ(n) cách để biểu diễn tiệm cận tiệm cận thời gian chạy giải thuật Bạn nhìn vào đồ sau: θ(f(n)) = { g(n) g(n) = n0 } Ο(f(n))... Notation, Ω Cấu trúc liệu giải thuật The Ω(n) cách để biểu diễn tiệm cận thời gian chạy giải thuật Nó ước lượng độ phức tạp thời gian trường hợp tốt lượng thời gian ngắn cần thiết giải thuật Đồ... Notation, Ο Cấu trúc liệu giải thuật Ο(n) cách để biểu diễn tiệm cận thời gian chạy thuật tốn Nó ước lượng độ phức tạp thời gian trường hợp xấu lượng thời gian dài cần thiết giải thuật (thực