আপনার প্রত্নতাত্ত্বিক হল একটি বিভাজন এবং বিজয়ী অ্যালগরিদম, যা রৈখিক সময়ে কাজকে বিভক্ত করে (এবং পুনঃনির্মাণ) করে এবং টুকরোগুলির উপরে পুনরাবৃত্তি করে। মার্জ সাজানোর পদ্ধতিটি সেভাবে কাজ করে: সময়কে ইনপুটকে মোটামুটি সমান দুটি টুকরো টুকরো টুকরো করে কাটান, প্রতিটি টুকরোকে পুনরাবৃত্তভাবে বাছাই করুন এবং সময়টি দুটি সাজানো অর্ধেকের সংমিশ্রণে ব্যয় করুন ।ও ( এন ) Θ ( এন )Θ ( এন লগএন )ও ( এন )Θ ( এন )
স্বজ্ঞাতভাবে, বিভাজন এবং বিজয়ী ধারণাটি অব্যাহত রেখে প্রতিটি বিভাগ পর্যায় মোট রৈখিক সময় নেয়, কারণ বিভাজনের জন্য টুকরো সংখ্যার বৃদ্ধি ঠিক টুকরো আকারের হ্রাসের সাথে মেলে, যেহেতু বিভাগ দ্বারা নেওয়া সময়টি লিনিয়ার হয়। মোট চলমান সময় বিভাগ বিভাগের সংখ্যার দ্বারা গুণিত বিভাগ বিভাগের মোট ব্যয়ের পণ্য is যেহেতু প্রতিটি সময় এই টুকরোগুলির আকার অর্ধেক হয়ে যায়, সেখানে বিভাগের স্তর রয়েছে, সুতরাং মোট চলমান সময় । (একটি গুণক ধ্রুবক পর্যন্ত, লগারিদমের ভিত্তি অপ্রাসঙ্গিক)n ⋅ লগ ( এন )লগ2( এন )n⋅log(n)
এটিকে সমীকরণে () স্থাপন করা, এই জাতীয় অ্যালগরিদমের চলমান সময় অনুমান করার একটি উপায় এটিকে পুনরাবৃত্তভাবে প্রকাশ করা হয়: । এটি পরিষ্কার যে এই অ্যালগরিদমটি লিনিয়ার সময়ের চেয়ে বেশি সময় নেয় এবং আমরা :
দ্বারা ভাগ করে আরও কত দেখতে পারি
যখন দ্বিগুণ হয়, তখন স্থির পরিমাণে বৃদ্ধি পায়: লোগারিথ্মিকভাবে বা অন্য কথায়, ।টি ( এন ) = 2 টি ( এন / 2 ) + Θ ( এন ) এন টি ( এন )T(n)T(n)=2T(n/2)+Θ(n)nnটি(এন)/এনটি(এন)/এনটি(এন)=Θ(এনলগএন)
T(n)n=T(n/2)n/2+Θ(1)
nT(n)/nT(n)/nT(n)=Θ(nlogn)
এটি আরও সাধারণ প্যাটার্নের একটি উদাহরণ: মাস্টার উপপাদ্য । কোনো রিকার্সিভ অ্যালগরিদম যে ভাগ আকার তার ইনপুট মধ্যে আকারের টুকরা এবং একটি সময় লাগে বিভাগ এবং পুনর্সমম্বয় সম্পাদন করতে, দৌড়ানো সময় সন্তুষ্ট । এটি একটি বদ্ধ ফর্ম নিয়ে যায় যা এবং এর মান এবং এর আকারের উপর নির্ভর করে । যদি এবং , তবে মাস্টার উপপাদ্যটি ।a n / b f ( n ) T ( n ) = a ⋅ T ( n / b ) + f ( n ) a b f a = b f ( n ) = Θ ( n ) T ( n ) = Θ ( n ) লগ এন )nan/bf(n)T(n)=a⋅T(n/b)+f(n)abfa=bf(n)=Θ(n)T(n)=Θ(nlogn)