(۰۶ مهر ۱۳۹۱ ۰۴:۳۷ ب.ظ)parasto نوشته شده توسط: در الگوریتم پیدا کردن K امین کوچکترین عنصر از میان N عنصر ،ابتدا همه عناصر را به دسته های ۵تای تقسیم،میانه هر دسته را بدست آورده و سپس میانه ها را به صورت بازگشتی پیدا میکنیم،این عنصر را به عنوان محور انتخاب و عمل Partition را روی آرایه عناصر انجام می دهیم.پس از آن همین الگوریتم را بصورت بازگشتی روی یکی از بخش ها اجرا میکنیم تا عنصر مورد نظر پیدا شود .زمان اجرای الگوریتم کدام است؟این رابطه بازگشتی چطور بدست اومده؟
جواب:
[tex]t(n)=t(n/5) t(7n/10 6) o(n)[/tex]
این روش به «میانه میانه ها» معروف هست.
مرتبه اجرایی این روش خطی هست بصورت [tex]\Theta (n)[/tex]
[tex]t(7n/10 6)[/tex] در واقع نشون میده که موقع افراز کردن، هر زیر لیست حداکثر این تعداد عضو داره و به همین خاطر به این شکل در رایطه قرار داره.