در این آموزش با روشهای تحلیل الگوریتم آشنا میشوید و در قالب مثالهای مختلف مفاهیم مربوط به مرتبه زمانی را یاد خواهید گرفت. بعد از مشاهده ویدیو تمرین های متنوعی از مفاهیم این جلسه ارائه شده است که میتوانید آموخته های خود را محک بزنید.
تمرین و نکات تکمیلی جلسه دوم درس ساختمان داده
در ویدیوی آموزشی بالا به تحلیل 15 الگوریتم پرداخته شد. در ادامه چند الگوریتم جدید به عنوان تمرین ارائه میشود:
1- مرتبه زمانی شبه کد زیر را محاسبه کنید:
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
x++;
n--;
}
توجه داشته باشید که در خط 5 دستور –n نوشته شده است.
2- مرتبه زمانی شبه کد زیر را محاسبه کنید:
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
x++;
n--;
3- مرتبه زمانی شبه کد زیر را محاسبه کنید:
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
x++;
j=1;
while(j<n){
x++;
j=j*2
}
}
4- مرتبه زمانی شبه کد زیر را محاسبه کنید:
for(i=1;i<=n;i++)
for(j=1;j<=3*i;j++)
for(k=1;k<=3*n;k++)
cout<<"*";
راهنمایی: از ایده مثال سوم (روش دوم) و مثال چهارم که در ویدیو توضیح داده شده است استفاده کنید.
5- مرتبه زمانی شبه کد زیر را محاسبه کنید:
for(i=1;i<=n;i=i*2)
for(j=1 ; j<=n; j++)
cout<< "*";
6- مرتبه زمانی شبه کد زیر را محاسبه کنید:
for(i=1;i<=n;i=i*2)
for(j=1;j<=n;j=j*2)
for(k=1;k<=j;k++)
cout<<"*";
7- مرتبه زمانی شبه کد زیر را محاسبه کنید:
i=2;
while(i<=n){
cout<<i;
i = i*i;
}
1 دیدگاه در “جلسه دوم ساختمان داده؛تحلیل الگوریتم ترتیبی”