در این آموزش با روشهای تحلیل الگوریتم آشنا میشوید و در قالب مثالهای مختلف مفاهیم مربوط به مرتبه زمانی را یاد خواهید گرفت. بعد از مشاهده ویدیو تمرین های متنوعی از مفاهیم این جلسه ارائه شده است که میتوانید آموخته های خود را محک بزنید.
تمرین و نکات تکمیلی جلسه دوم درس ساختمان داده
در ویدیوی آموزشی بالا به تحلیل 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; }
جلسه سوم نداره دوره؟
سلام، جلسه سوم مربوط به ماتریس اسپارسه که متاسفانه سر کلاس ضبط نشده بود و فرصت نکردم دوباره ضبط کنم
سلام
خیلی ممنون برای این دوره. واقعا عالیه
کاش یه وقتی برای قسمت ۳ بذارید و مجددا ضبط کنید. دوره خیلی خوبیه و واقعا حیفه ناقص باشه
ممنون از نظرت، چشم حتما تو برنامه میذارم