Archetypical bạn là một phân chia-và-chinh phục thuật toán, mà phân chia (và tái kết hợp) làm việc trong thời gian tuyến tính và recurses qua miếng. Merge sort hoạt động theo cách đó: chi tiêu O ( n ) thời gian tách đầu vào thành hai mảnh tương đương, đệ quy loại từng mảnh, và dành Θ ( n ) thời gian kết hợp hai sắp xếp nửa.Θ(nlogn)O(n)Θ(n)
Theo trực giác, tiếp tục ý tưởng phân chia và chinh phục, mỗi giai đoạn phân chia tổng thời gian tuyến tính, bởi vì sự gia tăng số lượng các mảnh để phân chia chính xác phù hợp với sự giảm kích thước của các mảnh, vì thời gian phân chia là tuyến tính. Tổng thời gian chạy là sản phẩm của tổng chi phí của một giai đoạn phân chia nhân với số lượng các giai đoạn phân chia. Vì kích thước của các mảnh được giảm một nửa mỗi lần, có các giai đoạn phân chia , do đó tổng thời gian chạy là n ⋅ log ( n )log2(n)n⋅log(n) . (Lên đến hằng số nhân, cơ sở của logarit là không liên quan.)
Đặt nó trong phương trình (), một trong những cách để ước tính thời gian chạy của một thuật toán như vậy là để thể hiện nó một cách đệ quy: T ( n ) = 2 T ( n / 2 ) + Θ ( n ) . Rõ ràng là thuật toán này mất nhiều thời gian hơn tuyến tính và chúng ta có thể thấy nhiều hơn nữa bằng cách chia cho n :
T ( n )T(n)T(n)=2T(n/2)+Θ(n)n
Khinđôi,T(n)/ntăng một lượng không đổi:T(n)/ntăng theo hàm mũ, hay nói cách khác,T(n)=Θ(nlogn).
T(n)n=T(n/2)n/2+Θ(1)
nT(n)/nT(n)/nT(n)=Θ(nlogn)
Đây là một ví dụ của một mẫu tổng quát hơn: định lý tổng thể . Đối với bất kỳ thuật toán đệ quy mà phân chia đầu vào của nó kích thước thành một mảnh kích thước n / b và mất một thời gian f ( n ) để thực hiện việc phân chia và tái tổ hợp, thời gian chạy đáp ứng T ( n ) = một ⋅ T ( n / b ) + f ( n ) . Điều này dẫn đến một dạng đóng phụ thuộc vào giá trị của a và b và hình dạng củanan/bf(n)T(n)=a⋅T(n/b)+f(n)ab . Nếuf và f ( n ) = Θ ( n ) , định lý chủ nói rằng T ( n ) = Θ ( n log n ) .a=bf(n)=Θ(n)T(n)=Θ(nlogn)