Giải thuật Định lý thợ (Master Theorem)

Giải thuật Định lý thợ (Master Theorem) là gì?

Chúng ta sử dụng Định lý thợ (Master Theorem) để giải các công thức đệ quy dạng sau một cách hiệu quả:

T(n) =aT(n/b) + c.n^k trong đó a>=1 , b>1

Bài toán ban đầu được chia thành a bài toán con có kích thước mỗi bài là n/b, chi phí để tổng hợp các bài toán con là f(n).

Ví dụ : Thuật toán sắp xếp trộn chia thành 2 bài toán con, kích thước n/2. Chi phí tổng hợp 2 bài toán con là O(n).

Định lý thợ

a>=1, b>1, c, k là các hằng số. T(n) định nghĩa đệ quy trên các tham số không âm

T(n) = aT(n/b) + c.n^k + Nếu a> b^k thì T(n) =O(n^ (logab)) + Nếu a= b^k thì T(n)=O(n^k.lgn) + Nếu a< b^k thì T(n) = O(n^k)

Chú ý: Không phải trường hợp nào cũng áp dụng được định lý thợ

VD : T(n) = 2T(n/2) +nlogn a =2, b =2, nhưng không xác định được số nguyên k

Theo Tutorialspoint

Bài trước: Giải thuật qui hoạch động (Dynamic Programming)

Bài tiếp: Cấu trúc dữ liệu danh sách liên kết (Linked List)

Thứ Sáu, 10/08/2018 15:48
4,86 👨 3.083
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
1 Bình luận
Sắp xếp theo
  • Code Ngầu
    Code Ngầu OMG
    Thích Phản hồi 17/08/20
    ❖ Cấu trúc dữ liệu và giải thuật