زمان کنونی: ۱۰ فروردین ۱۴۰۳, ۰۴:۰۹ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

چطور میشه هر الگوریتمی را طوری تغییر داد که بهترین زمان اجرای خوبی داشته باشه؟

ارسال:
  

farid612004 پرسیده:

چطور میشه هر الگوریتمی را طوری تغییر داد که بهترین زمان اجرای خوبی داشته باشه؟

سلام"ممنون میشم زود جواب بدین
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

msour44 پاسخ داده:

RE: چطور میشه هر الگوریتمی را طوری تغییر داد که بهترین زمان اجرای خوبی داشته باشه؟

سلام
برای اکثرا الگوریتم ها بهترین حالت و یا حالت بدترین و میانگین متاثر از جایگشت ورودی انها ست.مثال بارز الگوریتم های مرتب سازی هستند که برحسب اینکه ترتیب ورودی چگونه است حالت های مختلف الگوریتم شکل میگیردمثلا ممکن است یک ترتیب ورودی برای یک روش مرتب سازی بهترین حالت را شکل دهد در حالی که همین ترتیب برای روش مرتب سازی دیگر بدترین حالت را شکل دهد.
پس برای اینکه الگوریتمی را طوری تغییر بدهیم تا زمان اجرای خوبی در بهترین حالت داشته باشد کافیه ترتیب ورودی را بررسی کنیم که ایا همان حالت خاصی است که برای ان الگوریتم بهترین را تولید میکند یا نه.برای مثال اکثر الگوریتم های مرتب سازی معمول را میتوان طوری تغییر داد تا بهترین زمان اجرای ان[tex]O(n)[/tex] باشد به این صورت که ورودی را یک بار پیمایش کن اگر مرتب باشد انگاه الگوریتم مرتب سازی رو اجرا نکن وگرنه طبق معمول لیست را مطابق با ان الگوریتم مرتب کن.یاداوری میشود که در روش های مرتب سازی معمولا بدون توجه به ساختار ورودی روال مرتب سازی اجرا می شود مثلا اگر مرتب سازی سریع را روی لیست مرتب شده اعمال کنیم بدترین حالت شکل میگیرد در حالی که در الگوریتم اصلاح شده یک بار لیست پیمایش میشود و چون مرتب است اصلا روال مرتب سازی سریع اجرا نمی شود ودر این حالت بهترین حالت شکل میگیرد.
ولی ایا هر الگوریتمی را میتوان به این شکل تغییر داد تا بهترین حالت خوبی داشته باشد.مثلا در مثال بالا که در باره مرتب سازی بود روال مرتب سازی در الگوریتم اصلاح شده برای شکل دهی بهترین حالت اجرا نمی شود ولی همیشه اینطور نیست و گاها در الگوریتم های باید الگوریتم حتما اجرا شود مثل الگوریتم های زمانبدی در سیستم عامل و ممکن است هزینه بررسی ورودی خیلی هم کمتر از زمان اجرای روال ها نباشد یا اصلا تمام ورودی ها در دسترس نباشد تا یک حالت خاصی که برای ان روال بهترین حالت را شکل میدهد بررسی باشد.پس بهتر است به جای بیان اینکه هر الگوریتم را میتوان طوری تغییر داد تا بهترین زمان اجرای خوبی داشته باشد از این جمله که تقریبا هر الگوریتمی را میتوان طوری تغییر داد تا در بهترین حالت زمان اجرای خوبی داشته باشد.استفاده شود.
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  چطور درصد زبانم رو به بالای ۹۰-۸۰ برسونم؟ s.gg ۸ ۲,۰۰۵ ۲۳ اسفند ۱۴۰۱ ۰۹:۰۵ ق.ظ
آخرین ارسال: s.gg
  چطور میتوان بهتر زندگی کرد؟ شاپری ۲۴ ۱۳,۱۷۰ ۲۲ اسفند ۱۴۰۱ ۰۷:۴۹ ق.ظ
آخرین ارسال: s.gg
  درخواست تصحیح (تعویق) زمان کنکور ارشد ۱۴۰۱ s.gg ۱ ۱۴ ۲۳ بهمن ۱۴۰۱ ۰۷:۴۳ ب.ظ
آخرین ارسال: HamidReza1
  بهترین منبع برای درس شبکه ارشد msnmkh ۲ ۱,۱۹۱ ۱۲ دى ۱۴۰۱ ۱۲:۵۵ ق.ظ
آخرین ارسال: پشتکار
Question بهترین منبع ساختمان داده برای کنکور ارشد marvelous ۱۰ ۱۱,۳۰۱ ۱۵ آذر ۱۴۰۱ ۰۷:۵۶ ب.ظ
آخرین ارسال: msnmkh
  بهترین منبع درسی و کلاس به صورت افلاین برای کنکور ارشد nrgs_h99 ۰ ۱,۲۹۹ ۱۱ مرداد ۱۴۰۱ ۰۱:۵۲ ب.ظ
آخرین ارسال: nrgs_h99
Sad میشه اگه میدونین کمک کنین? . مقالههه Negarrr.n ۰ ۱,۰۳۵ ۲۴ بهمن ۱۴۰۰ ۰۸:۳۱ ب.ظ
آخرین ارسال: Negarrr.n
  نظر شما راجب بهترین موسسه برای کنکور ارشد کامپیوتر vahid_sh@hotmail.com ۶۵ ۳۹,۵۱۲ ۰۲ بهمن ۱۴۰۰ ۱۲:۵۴ ب.ظ
آخرین ارسال: Hadi7590
  تولدت مبارک به انگلیسی + بهترین معادل انگلیسی cyruskingsolomon ۰ ۱,۴۸۶ ۰۶ خرداد ۱۴۰۰ ۰۳:۲۱ ب.ظ
آخرین ارسال: cyruskingsolomon
  تعویق زمان کنکور ارشد sima84 ۰ ۱,۴۷۳ ۱۸ اردیبهشت ۱۴۰۰ ۰۱:۰۵ ب.ظ
آخرین ارسال: sima84

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close