نمایش نتایج 1 تا 12 از 12

نام تاپیک: الگوریتم محاسبه فاکتوریل؛ به روش غلبه و حل

  1. #1

    الگوریتم محاسبه فاکتوریل؛ به روش غلبه و حل

    جزو تمرین های کتاب طراحی الگوریتم بود؛ کسی تا حالا روش فکر کرده ؟ الگوریتمش رو داره؟ پیچیدگیش چقدره؟

  2. #2
    خب اگه می شه توضیح بدید که اصلاً این روش غلبه و حل چیه؟

  3. #3
    خب اگه می شه توضیح بدید که اصلاً این روش غلبه و حل چیه؟

  4. #4
    salam azizam manam migam aslan avalesh begoo in raveshe ghalabe va hal chiye ta bad javabeto bedim ba tashakor

  5. #5
    یا حداقل مشخصات این کتابو کامل تر بده

  6. #6
    خب اگه می شه توضیح بدید که اصلاً این روش غلبه و حل چیه؟
    درس طراحی الگوریتم ها رو انتخاب کن.

  7. #7
    نقل قول نوشته شده توسط Afshin_Zavar
    جزو تمرین های کتاب طراحی الگوریتم بود؛ کسی تا حالا روش فکر کرده ؟ الگوریتمش رو داره؟ پیچیدگیش چقدره؟
    آخه ماهیتش طوری نیست که بشه از D&C استفاده کرد
    You never know what you can do until you try

  8. #8
    چرا؟ منطقش معلومه

    4! = (4*3 *(2*1)

    یعنی باید MID رو پیدا کنیم و از یک تا MID و از MID تا N رو به هم ضرب کنیم و بعد بهم JOIN کنیم.
    منتها در پیاده سازیش مراحل بازگشتی رو گم میکنم.

  9. #9

    function fact(Min , a:Integer):Integer;
    var
    Mid:Integer;
    Begin
    if min=a then
    fact:=a
    else if a<=1 then
    fact:=1
    else if (Min+1)=a Then
    Fact:=min*a
    else
    Begin
    mid:=Min+(a-Min) div 2;
    fact:=fact(min,mid)*Fact(Mid+1,a);
    end;
    End;

    برای محاسبه فاکتوریل 5 باید

    Fact(1,5)

    رو کال کنید
    You never know what you can do until you try

  10. #10
    ممنون.
    فکر میکنی، پیچیدگیش چند باشه ؟
    از اونجایی که
    fact:=fact(min,mid)*Fact(Mid+1,a);
    لیست رو دوبار نصف میکنه؛ فکر میکنم در بدترین حالت ، تتای n باشه

  11. #11
    باید حساب کرد ولی فکر نمیکنم پیچیدگی بدی داشته باشه.
    در ضمن دو بار هم نصف نمی کنه دو بار کال میکنه که اونم هیچ راهی نداره

    اگر اشتباه نکنم پیچیدگی اش N هست
    You never know what you can do until you try

  12. #12
    کاربر دائمی
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    قفس فیلترینگ(ایران)
    پست
    208
    با سلام
    دوستان به نظر من هم این تابع نمی تواند الگوی D&C باشد همانطور که می دانید حداقل بایستی بتوان مسئله رادر مرحله اول به دو نیمه تقسیم کرد که البته این کار در سایر مراحل نیز الزامیست . مثلا Quick Sort یک نمونه خوب تقسیم و غلبه است .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •