0% found this document useful (0 votes)
20 views3 pages

Assignment2 - Data Structure and Algorithm Design

Uploaded by

kasra.re138406
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views3 pages

Assignment2 - Data Structure and Algorithm Design

Uploaded by

kasra.re138406
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

‫بسمه تعالی‬

‫ساختمان دادهها و طراحی الگوریتم ها‬


‫تمرین شماره دو‬

‫دانشجویان گرامی‪ ،‬ضمن آرزوی موفقیت‬

‫لطفا با دقت موارد زیر را مطالعه کرده و در تهیه پاسخنامه نهایی تمرین رعایت فرمائید‪.‬‬

‫پاسخنامه تمرینات به صورت دست نویس‪ ،‬نهایتا در قالب یک فایل ‪ pdf‬باید ارسال گردد‪ .‬نام فایل را به صورت‬
‫‪( StudentNumber_HW2.pdf‬به عنوان مثال ‪ )9831055_HW2.pdf‬از طریق سامانه ‪ courses.aut.ac.ir‬در بازه زمانی‬
‫تعیین شده ارسال نمائید‪.‬‬

‫در توصیف الگوریتم ها می توانید از هر زبان برنامه نویسی دلخواه همچون ‪ Python ،Java ،C‬و یا شبه کدها استفاده نمائید‪ .‬اما توجه‬
‫نمائید که در صورت استفاده از داده ساختارهای پیچیده مانند انواع درخت ها‪ ،‬یا انواع داده ای غیرپایه ‪1‬باید هزینه های مربوط به آنها نیز‬
‫در تحلیل پیچیدگی الگوریتم درنظر گرفته شود‪.‬‬

‫در صورت نیاز به راهنمایی یا بروز هر گونه مشکلی می توانید از ایمیل ‪ [email protected]‬استفاده کنید یا از طریق‬
‫تلگرام با تدریسیاران درس در ارتباط باشید‪.‬‬

‫آخرین مهلت ارسال تمرین شماره دو تا ساعت ‪ ۸‬صبح سهشنبه ‪ ۱‬آبان می باشد‪.‬‬

‫در صورت تاخیر در ارسال پاسخنامه‪ ،‬به ازای هر روز تاخیر ‪ %۲۰‬از نمره تمرین کسر خواهد شد‪.‬‬

‫هرگونه شباهت در کل یا بخشی از پاسخنامهها فارغ از اینکه از چه منبعی تهیه شده باشند‪ ،‬به عنوان عدم رعایت حق کپی‬
‫رایت لحاظ خواهد شد و نمره بین تمامی نسخه های مشابه تقسیم خواهد شد‪.‬‬

‫پاسخنامه نهایی باید به صورت شخصی و با بیان و ادبیات شخصی تهیه شده و منحصربفرد باشد‪ .‬لذا کلیه دانشجویانی که به‬
‫صورت مشترک اقدام به حل مساله ها مینمایند و یا بخشی از پاسخها را از اینترنت یا سایر منابع تهیه میکنند‪ ،‬بعد از‬
‫فراگیری کامل راهحل‪ ،‬به صورت انفرادی اقدام به تهیه پاسخنامه نمایند‪.‬‬

‫موفق باشید‬

‫سواالت تشریحی‪:‬‬

‫‪ -1‬الگوریتم مرتب سازی تابع درجی را به صورت تابعی پیاده سازی کنید‪ ،‬که یک آرایه به طول ‪ n‬دریافت کند و تعداد نابهجایی های‬
‫موجود در آرایه را برگرداند‪ .‬نا بهجایی‪ )j ,i( :‬به طوری که ‪ j > i‬باشد و [‪ a[i] > a[j‬باشد‪ ۲۰( .‬امتیاز)‬

‫‪ -2‬برای هر کدام از مسائل زیر الگوریتم مناسب را پیشنهاد داده و پیچیدگی زمانی آن تحلیل کنید‪ ۲۰( .‬امتیاز ‪ ۱۰ +‬امتیاز)‬

‫‪ .a‬پیدا کردن مقدار بزرگترین عدد در یک آرایه از اعداد صحیح‪.‬‬


‫‪ .b‬پیدا کردن دو عدد در آرایه از اعداد صحیح که بزرگترین حاصل ضرب را دارند‪( .‬امتیازی)‬

‫‪1‬‬
‫‪Non-Primitive Data types‬‬
‫بسمه تعالی‬

‫ساختمان دادهها و طراحی الگوریتم ها‬


‫تمرین شماره دو‬

)‫ امتیاز‬۲۰( :‫ تکه کد زیر را تحلیل زمانی کنید‬-3

1- myFunc(n):
2- l ← 1
3- r ← n
4- while (r - l > 1):
5- m ← (l + r) / 2
6- if (m < l2):
7- r ← m
8- else:
9- l ← m
10- myFunc(n - 1)

)‫ امتیاز‬۴۰( .‫ شبه کد های زیر را تحلیل زمانی کنید‬-4


I.

1- funcA(n):
2- sum ← 0
3- for i in range(n):
4- sum ← sum + 2 * n + 1
5- return sum

II.

1- funcB(n):
2- x ← 0
3- for i in range(n):
4- y ← 0
5- while y * y < i:
6- y ← y + 2
7- x ← x + y
8- return x
‫بسمه تعالی‬

‫ساختمان دادهها و طراحی الگوریتم ها‬


‫تمرین شماره دو‬

III.

1- funcC(n):
2- zeta ← -1
3- for i in range(n):
4- j ← 1
5- while j ≤ i:
6- zeta ← zeta * -1
7- j ← j + j
8- return zeta

IV.

1- funcD(n):
2- sum ← 1
3- for i in range(n):
4- for j in range(i):
5- x ← sum
6- for k in range(x):
7- sum ← sum + 1
8- return sum

.‫سواالت عملی در کوئرا قرار گرفته است‬

‫موفق باشید‬

You might also like