طراحی الگوریتم
مباحث این درسو میشه به 3 قیمت تقسیم کرد :
بخش اول : کارایی و تحلیل مرتبه الگوریتم ها
این بخش مربوط به معرفی ابزار برای مقایسه کارایی الگوریتم های مختلفه و در واقع پایه اصلی تمام فصلهای بعدی،
هر چند اخیرا به صورت مستقیم سوالی از این بخش تو کنکور نمیاد، اما تقریبا میشه گفت بیشتر سوالاتی که میاد به نوعی به این بخش وابسته ان و علاوه بر اون از بخشای مهم درس ساختمان داده ام هست، که همه این عوامل اهمیت بسیار بالای این مبحثو میرسونه.
بخش دوم : معرفی استراتژی های کلی
این بخش به معرفی استراتژی های زیر میپردازد :
روش های تقسیم و غلبه ، روش های حریصانه ، برنامه نویسی پویا ، شاخه و حد و روش های عقبگرد (BackTracking)و...
* این بخش بر خلاف حجم بسیار زیادی که داره که داره معمولا سوالات کمتری رو به خودش اختصاص میده!
بخش سوم : گراف و درخت
این بخش از مهمترین بخشای درسه، همچنین توی درسای ساختمان داده ها و ریاضیات گسسته ام (به شکل مقدماتی تر) وجود داره.
** توصیه ما اینه که حداقل دو بخش " کارایی و تحلیل مرتبه الگوریتم ها " و " گراف و درخت " به شکل کامل و در حد تسلط خونده بشه.
برای مشاهده پراکندگی سوالات این درس در سالهای اخیر و پیشنهادات ما، به ادامه مطلب مراجعه کنید.
طراحی الگوریتم - گرایش نرم افزار | تعداد سوالات سال ..13 | - |
---|
مبحث | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | مجموع |
---|---|---|---|---|---|---|---|---|---|
نمادهای مجانبی، آنالیز الگوریتم،روشهای مرتب سازی |
1 | 1 | 1 | 2 | 1 | 2 | 3 | 3 | 14 |
روابط بازگشتی و روشهای تقسیم و غلبه |
3 | 3 | 1 | 1 | 2 | 1 | 1 | 12 | |
روشهای حریصانه |
1 | 1 | |||||||
برنامه نویسی پویا |
1 | 1 | 2 | ||||||
روشهای پسگرد |
0 | ||||||||
روشهای انشعاب و تحدید |
0 | ||||||||
درخت ها و گراف ها |
2 | 3 | 4 | 3 | 2 | 1 | 2 | 2 | 19 |
NP تئوری |
0 |
طراحی الگوریتم - گرایش هوش مصنوعی | تعداد سوالات سال |
---|
مبحث | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | مجموع |
---|---|---|---|---|---|---|---|---|---|
نمادهای مجانبی، آنالیز الگوریتم،روشهای مرتب سازی |
4 | 1 | 1 | 2 | 1 | 1 | 3 | 4 | 17 |
روابط بازگشتی و روشهای تقسیم و غلبه |
2 | 2 | 2 | 3 | 2 | 11 | |||
روشهای حریصانه |
1 | 1 | 2 | ||||||
برنامه نویسی پویا |
1 | 1 | 2 | ||||||
روشهای پسگرد |
0 | ||||||||
روشهای انشعاب و تحدید |
0 | ||||||||
درخت ها و گراف ها |
2 | 4 | 2 | 4 | 2 | 2 | 2 | 2 | 20 |
NP تئوری |
1 | 1 |
شاید یکی از عجیب ترین درس های کنکور ارشد و کلاً کارشناسی، همین طراحی الگوریتم باشه چون مباحثش گستره س و دقیقا معلوم نیست چه سوالی ازش میخواد بیاد و همیشه و همیشه واسش سوالای جدید وجود داره. بنابراین ممکنه شما این درس رو کامل و خیلی دقیق بخونین و اونجوری که میخواین نتونین جواب بگیرین. و برعکسش هم محتمل هست. (حتی احتمال این بیشتره!)
در کل، موفقیت در این درس نیاز به تمرین زیاد برای کسب تسلط داره. پس پیشنهاد میشه بعد از خوندن دقیق مباحث کتاب، تست زیاد حل کنین. منتها با توجه به جدولی که الان مشاهده می کنین، تقریبا مشخصه که چه قسمت هایی رو باید خیلی خیلی مسلط بشین و چه قسمت هایی رو لازم نیست زیاد روشون برنامه ریزی کنین و همین که طرح کلی موضوع رو داشته باشین کافیه. مبحث محاسبه ی مرتبه زمانی یک الگوریتم، چیزیه که از همه مباحث مهم تره و اونم از این جهت که هم در درس طراحی و هم ساختمان کاربرد داره.
اما اخیراً سوالات اینجوری نیست که مثلاً بگن مرتبه زمانی الگوریتم مرتب سازی سریع چیه؟! بلکه میگن مثلا مرتبه زمانی الگوریتمی که فلان عمل رو انجام بده در بهترین و بدترین حالت چی میشه؟! و یا یه کد میدن و میگن مرتبه زمانیش برای فلان عمل چی میشه؟
البته اینم بگم که ممکنه سوالی مستقیماً هم از این مبحث باشه که اینم نشون دهنده ی اهمیت زیادشه.
خود به خود وقتی با سوالات کلنجار میرین، روش های حل مساله رو یاد میگیرین و تقریباً با متد های مختلف آشنا میشین. حالات استثنا رو راحت تر پیدا میکنین و کلاً به توانایی حل مسالتون اضافه میشه.
اما مبحث روابط بازگشتی هم بیشترش طرحِ یک الگوریتم از سوی طراح و خواستن مرتبه زمانیش از شماست که با تمرین، تسلط رو به راحتی بدست خواهید آورد.
و مبحث مهم دیگه هم در مورد گراف و درخته که حتما و حتما باید با الگوریتم های مختلف کار با درخت و گراف آشنا بشین. منظور از آشنا شدن یعنی روش کارشونو بدونین، مرتبه زمانی شونو بدونین و بدونین که چه موقع بهتره از یه الگوریتم خاص استفاده کرد.
مثل الگوریتم های پرایم، کروسکال، الگوریتم های پیمایش درخت، درخت های خاص(مثل avl و bst و huffman و ... )
حل زیاد تست هم در این مباحث پیشنهاد میشه. چون همه این مباحث برای ساختمان و طراحی مشترکه که گاهاً موقع حل تست طراحی ممکنه وقتی منبع سوال رو میبینین، مثلا ممکنه نوشته باشه ساختمان داده سراسری 89 یا... !
با توجه به فرصتی که خود ما داشتیم، متاسفانه نشد کتاب منبع رو در خیلی مباحث مطالعه کنیم. ولی به شدت پیشنهاد میشه برای طراحی، هر بخشی که در برنامه ریزی خودتون تصمیم به خوندنش گرفتین رو از روی کتاب منبع (که CRLS رو پیشنهاد کردیم) مطالعه کنین و بعد از اون ضمن مطالعه ی درسنامه ی کتاب تست (که در این زمینه پوران رو پیشنهاد کردیم) به حل تست های کنکور بپردازین.
خلاصه برداری و نکته برداری رو به هیچ عنوان فراموش نکنین
* البته توجه داشته باشین که سوالات این درس در سال های اخیر به این شکل در اومده بنابراین حل تستهای چند سال اخیر اهمیت خیلی بیشتری نسبت به قبلیا داره.
- ۹۲/۰۵/۱۹
این کتابی که گفتین اسم نویسنده اشه انتشاراته...چیه؟؟؟