در این آموزش با روشهای تحلیل الگوریتم آشنا می‌شوید و در قالب مثالهای مختلف مفاهیم مربوط به مرتبه زمانی را یاد خواهید گرفت. بعد از مشاهده ویدیو تمرین های متنوعی از مفاهیم این جلسه ارائه شده است که می‌توانید آموخته های خود را محک بزنید.

مشاهده این آموزش در آپارات

تمرین و نکات تکمیلی جلسه دوم درس ساختمان داده

در ویدیوی آموزشی بالا به تحلیل 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;
}