بخشی از پاورپوینت

اسلاید 1 :

روش تقسيم و حل    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);

      }

}

اسلاید 2 :

زمان محاسبه تابع 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

اسلاید 3 :

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

مثال:n=14                                                                                               

-15,-6,0,7,9,23,54,82,101,112,125,131,142,151

x=9

low   high   mid    s[mid]

1        14       7         54

1         6        3         0

4     6        5         9       found

x=-14

low   high   mid    s[mid]

1        14       7         54

1         6        3         0

1     2        1       -15

2         2        2       -6

2         1                           not found  

اسلاید 4 :

تحليل پيچيدگی زمانی الگوريتم 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 Î θ(lg n)

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

اسلاید 5 :

Merge sort

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

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

اسلاید 6 :

مرحله تقسيم:

310,285,179,652,351,423,861,254,450,520

310,285,179,652,351                               423,861,254,450,520

  310,285             179,652,351                    423,861           254,450,520 

310    285         179      652,351              423        861      254      450,520

310    285         179    652     351            423        861      254    450    520

مرحله ادغام:

 285,310          179      351,652                  423,861          254     450,520

 285,310             179,351,652                    423,861            254,450,520

      179,285,310,351,652                                254,423, 450, 520,861

                     179, 254,285,310,351,423, 450, 520,652,861

اسلاید 7 :

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

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)

   }

}

اسلاید 8 :

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];

}

اسلاید 9 :

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       2=21

W(n)Îθ(nlog2n)

اسلاید 10 :

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);

   }

}

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید