Assignment1 - Data Structure and Algorithm Design
Assignment1 - Data Structure and Algorithm Design
لطفا با دقت موارد زیر را مطالعه کرده و در تهیه پاسخنامه نهایی تمرین رعایت فرمائید.
پاسخنامه تمرینات به صورت دست نویس ،نهایتا در قالب یک فایل pdfباید ارسال گردد .نام فایل را به صورت
( StudentNumber_HW1.pdfبه عنوان مثال )9831055_HW1.pdfاز طریق سامانه courses.aut.ac.irدر بازه زمانی
تعیین شده ارسال نمائید.
در توصیف الگوریتم ها می توانید از هر زبان برنامه نویسی دلخواه همچون Python ،Java ،Cو یا شبه کدها استفاده نمائید .اما توجه
نمائید که در صورت استفاده از داده ساختارهای پیچیده مانند انواع درخت ها ،یا انواع داده ای غیرپایه 1باید هزینه های مربوط به آنها نیز
در تحلیل پیچیدگی الگوریتم درنظر گرفته شود.
در صورت نیاز به راهنمایی یا بروز هر گونه مشکلی می توانید از ایمیل [email protected]استفاده کنید یا از طریق
تلگرام با تدریسیاران درس در ارتباط باشید.
آخرین مهلت ارسال تمرین شماره یک تا ساعت ۸صبح سهشنبه ۱۰مهر می باشد.
در صورت تاخیر در ارسال پاسخنامه ،به ازای هر روز تاخیر %۲۰از نمره تمرین کسر خواهد شد.
هرگونه شباهت در کل یا بخشی از پاسخنامهها فارغ از اینکه از چه منبعی تهیه شده باشند ،به عنوان عدم رعایت حق کپی
رایت لحاظ خواهد شد و نمره بین تمامی نسخه های مشابه تقسیم خواهد شد.
پاسخنامه نهایی باید به صورت شخصی و با بیان و ادبیات شخصی تهیه شده و منحصربفرد باشد .لذا کلیه دانشجویانی که به
صورت مشترک اقدام به حل مساله ها مینمایند و یا بخشی از پاسخها را از اینترنت یا سایر منابع تهیه میکنند ،بعد از
فراگیری کامل راهحل ،به صورت انفرادی اقدام به تهیه پاسخنامه نمایند.
موفق باشید
سواالت تشریحی:
-1هادی به تازگی وب سروری توسعه میدهد و در توسعهی وب سرور به مسئله برنامه نویسی برخورده است که برای حل به
دانشجویان درس ساختمان داده ارسال کرده است .دو دانشجو مسئله را حل میکنند دانشجوی اول برای آنکه به درستی
برنامهاش اجرا شود به 16GBحافظه نیاز دارد و در ادامه میتواند به هر کدام از درخواستها در زمان 1sپاسخ میدهد.
دانشجوی دوم برای آنکه به درستی برنامهاش اجرا شود تنها به 1MBحافظه نیاز دارد و به هر کدام از درخواست ها در زمان
10sپاسخ میدهد .هادی که درس ساختمان داده را خوب یاد نگرفته است از شما میخواهد این دو روش را تحلیل کنید و
بگویید در چه صورتی باید از کدام روش استفاده کند ۲۵( .امتیاز)
1
Non-Primitive Data types
بسمه تعالی
-2برای حل یک مسئله دو الگوریتم طراحی کردهایم .فرض کنیم الگوریتم یک برای اجرا نیاز به 𝑛 1500عملیات جمع و
𝑛 𝑛2 + 100عملیات ضرب دارد و الگوریتم دو برای اجرا نیاز به 𝑛 500عملیات جمع و 5𝑛2عملیات ضرب دارد و هر
عملیات ضرب ۱۰ ،برابر عملیات جمع هزینه دارد .به ازای چه nهای طبیعی الگوریتم اول از الگوریتم دوم سریع تر کار
میکند؟ ( ۲۵امتیاز)
-3الف) کار کرد هر کدام از توابع زیر را بیان کنید ۲۵( .امتیاز)
ب) به نظر شما کدام یک از توابع سریعتر اجرا میشود ۲۵( .امتیاز)
موفق باشید