0% found this document useful (0 votes)
18 views

Assignment2 - Data Structure and Algorithm Design

Uploaded by

kasra.re138406
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Assignment2 - Data Structure and Algorithm Design

Uploaded by

kasra.re138406
Copyright
© © All Rights Reserved
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