پاورپوینت کامل بررسی روش تقسیم و حل (Divide and Conquer) و نقش آن در طراحی الگوریتم‌های کارآمد


در حال بارگذاری
10 جولای 2025
فایل پاورپوینت
20870
2 بازدید
۹۹,۰۰۰ تومان
خرید

توجه : این پروژه به صورت فایل power point (پاور پوینت) ارائه میگردد

 پاورپوینت کامل بررسی روش تقسیم و حل (Divide and Conquer) و نقش آن در طراحی الگوریتم‌های کارآمد دارای ۳۷ اسلاید می باشد و دارای تنظیمات کامل در Power Point می باشد و آماده پرینت یا چاپ است

فایل پاور پوینت پاورپوینت کامل بررسی روش تقسیم و حل (Divide and Conquer) و نقش آن در طراحی الگوریتم‌های کارآمد  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.


لطفا به نکات زیر در هنگام خرید

دانلودپاورپوینت کامل بررسی روش تقسیم و حل (Divide and Conquer) و نقش آن در طراحی الگوریتم‌های کارآمد

توجه فرمایید.

۱-در این مطلب، متن اسلاید های اولیه 

دانلودپاورپوینت کامل بررسی روش تقسیم و حل (Divide and Conquer) و نقش آن در طراحی الگوریتم‌های کارآمد

قرار داده شده است

۲-به علت اینکه امکان درج تصاویر استفاده شده در پاورپوینت وجود ندارد،در صورتی که مایل به دریافت  تصاویری از ان قبل از خرید هستید، می توانید با پشتیبانی تماس حاصل فرمایید

۳-پس از پرداخت هزینه ، حداکثر طی ۱۲ ساعت پاورپوینت خرید شده ، به ادرس ایمیل شما ارسال خواهد شد

۴-در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل اسلاید ها میباشد ودر فایل اصلی این پاورپوینت،به هیچ وجه بهم ریختگی وجود ندارد

۵-در صورتی که اسلاید ها داری جدول و یا عکس باشند در متون زیر قرار داده نشده است


بخشی از متن پاورپوینت کامل بررسی روش تقسیم و حل (Divide and Conquer) و نقش آن در طراحی الگوریتم‌های کارآمد :

اسلاید ۱ :

روش تقسیم و حل    Divide and Conqure

– یک نمونه از مسأله را به دو یا چند قسمت کوچکتر تقسیم میکند که معمولا نمونه هایی از مسأله اصلی هستند. اگر جواب مسأله های کوچکتر به راحتی محاسبه شود, می توان جواب نمونه  اصلی را با ترکیب این جوابها به دست آورد, در غیر این صورت میتوان آنها را به نمونه های کوچکتر تقسیم کرد .

– یک روش بالا به پایین است.

Algorithm DAndC(P)

{ if Small(P) return Solve(P);

   else

     { divide P into smaller instances P1,P2,…,Pk, k>=1;

        Apply DAndC to each of these subproblems;

        return Combine(DAndC(P1),DAndC(P2),…,DAndC(Pk);

      }

}

اسلاید ۲ :

زمان محاسبه تابع DAndC

T(n)= g(n)                                               کوچک باشد  n

          T(n1)+ T(n2)+…+ T(nk)+f(n)          درغیراینصورت

  g(n): زمان لازم برای محاسبه مستقیم پاسخ برای ورودی های کوچک

  : f(n) زمان لازم برای تقسیم مسأله و ترکیب راه حلها

معمولا:

T(n)= T(1)                 n=1

           aT(n/b)+f(n)   n>1

اسلاید ۳ :

مسأله: تعیین این که آیا x در آرایه مرتب s با اندازه n وجود دارد یا خیر.

مثال:n=14                                                                                               

-۱۵,-۶,۰,۷,۹,۲۳,۵۴,۸۲,۱۰۱,۱۱۲,۱۲۵,۱۳۱,۱۴۲,۱۵۱

x=9

low   high   mid    s[mid]

۱        ۱۴       ۷         ۵۴

۱         ۶        ۳         ۰

۴     ۶        ۵         ۹       found

x=-14

low   high   mid    s[mid]

۱        ۱۴       ۷         ۵۴

۱         ۶        ۳         ۰

۱     ۲        ۱       -۱۵

۲         ۲        ۲       -۶

۲         ۱                           not found  

اسلاید ۴ :

تحلیل پیچیدگی زمانی الگوریتم binary search

nدر بدترین حالت: ” i, x > s[i]                                             

    فرض: n=2k

W(n)=W(n/2)+1      n>1

W(1)=1

حل معادله بازگشتی:              

W(n)=lg n+1 I (lg n)

nبهترین حالت برای جستجوی موفق:                       B(n)=c I (1)      

اسلاید ۵ :

Merge sort

nمراحل مرتب سازی ادغامی برای آرایه ای با n عنصر:

  1. تقسیم آرایه به دو زیر آرایه هریک با n/2 عضو
  2. حل هر زیر آرایه با مرتب کردن آن. اگر آرایه به اندازه کافی کوچک نباشد, از بازگشت برای انجام این کار استفاده می کنیم.
  3. ادغام زیر آرایه های مرتب شده

اسلاید ۶ :

مرحله تقسیم:

۳۱۰,۲۸۵,۱۷۹,۶۵۲,۳۵۱,۴۲۳,۸۶۱,۲۵۴,۴۵۰,۵۲۰

۳۱۰,۲۸۵,۱۷۹,۶۵۲,۳۵۱                               ۴۲۳,۸۶۱,۲۵۴,۴۵۰,۵۲۰

  ۳۱۰,۲۸۵             ۱۷۹,۶۵۲,۳۵۱                    ۴۲۳,۸۶۱           ۲۵۴,۴۵۰,۵۲۰ 

۳۱۰    ۲۸۵         ۱۷۹      ۶۵۲,۳۵۱              ۴۲۳        ۸۶۱      ۲۵۴      ۴۵۰,۵۲۰

۳۱۰    ۲۸۵         ۱۷۹    ۶۵۲     ۳۵۱            ۴۲۳        ۸۶۱      ۲۵۴    ۴۵۰    ۵۲۰

مرحله ادغام:

 ۲۸۵,۳۱۰          ۱۷۹      ۳۵۱,۶۵۲                  ۴۲۳,۸۶۱          ۲۵۴     ۴۵۰,۵۲۰

 ۲۸۵,۳۱۰             ۱۷۹,۳۵۱,۶۵۲                    ۴۲۳,۸۶۱            ۲۵۴,۴۵۰,۵۲۰

      ۱۷۹,۲۸۵,۳۱۰,۳۵۱,۶۵۲                                ۲۵۴,۴۲۳, ۴۵۰, ۵۲۰,۸۶۱

                     ۱۷۹, ۲۵۴,۲۸۵,۳۱۰,۳۵۱,۴۲۳, ۴۵۰, ۵۲۰,۶۵۲,۸۶۱

اسلاید ۷ :

الگوریتم مرتب سازی ادغامی

void mergesort(int n, key s[])

{ int h=[n/2],m=n-h;

   key u[1..h],v[1..m];

   if (n>1)

   { copy s[1..h] to u[1..h];

      copy s[h+1..n] to v[1..m];

      mergesort(h,u);

      mergesort(m,v);

      merge(h,m,u,v,s)

   }

}

اسلاید ۸ :

void merge(int h,int m,key u[],key v[],key s[])

{ int i=1,j=1,k=1;

   while(i <= h && j<= m)

   { if (u[i] < v[j])                                  عملگر مبنایی

      { s[k]=u[i];      i++;   }

      else

      { s[k]=v[j];      j++;   }

      k++;

   }

   if (i>h) copy v[i..m] to s[k..h+m];

   else copy u[j..h] to s[k..h+m];

}

اسلاید ۹ :

nدر بدترین حالت برای الگوریتم merge: W(h,m)=h+m-1          

nدر الگوریتم mergesort :

W(n)=W(h)+W(m)+h+m-1

                                     زمان ادغام   زمان مرتب سازی v    زمان مرتب سازی u

W(n)=W[n/2]+W[n/2]+n-1=2W(n/2)+n-1     n>1

W(1)=0

حل رابطه بازگشتی:                                a=2, b=2, k=1       ۲=۲۱

W(n)I(nlog2n)

اسلاید ۱۰ :

void mergesort(int low, int high)

{ int mid;

if(low<high)

   { mid=[(low+high)/2];

      mergesort(low,mid);

      mergesort(mid+1,high);

      merge(low,mid,high);

   }

}

  راهنمای خرید:
  • لینک دانلود فایل بلافاصله بعد از پرداخت وجه به نمایش در خواهد آمد.
  • همچنین لینک دانلود به ایمیل شما ارسال خواهد شد به همین دلیل ایمیل خود را به دقت وارد نمایید.
  • ممکن است ایمیل ارسالی به پوشه اسپم یا Bulk ایمیل شما ارسال شده باشد.
  • در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.