این پاورپوینت به بررسی طراحی الگوریتمها با استفاده از شبه کدهای C++ می پردازد. مباحث اصلی شامل کارایی، تحلیل و مرتبه الگوریتمها، انواع مختلف جستجو (ترتیبی و دودویی)، محاسبه مجموع عناصر آرایه، مرتب سازی های مختلف مانند تعویضی و ادغامی، و تحلیل پیچیدگی زمانی در حالات مختلف است. تکنیک های تقسیم و حل و برنامه نویسی پویا نیز مورد بررسی قرار میگیرند. هر الگوریتم با شبه کد C++ توضیح داده شده و تحلیل های زمانی برای هر کدام ارائه شده است تا دانشجویان بتوانند با پیاده سازی و ارزیابی کارایی آنها آشنا شوند.
- درس طراحی الگوریتم ها (با شبه کد های c ++)
- تعداد واحد: 3
- منبع : کتاب طراحی الگوریتم ها
طراحی الگوریتم ها
طراحی الگوریتم دانش ساخت الگوریتم برای حل مساله هاست . این درس از دروس اصلی گذرانده شده در دوره کارشناسی برای دانشجویان کامپیوتر می باشد. کتاب طراحی الگوریتم ها (با شبه کدهای ++C) ترجمه شده ی آقای جعفرنژاد قمی می باشد.
این پاورپوینت آموزشی درباره تکنیک های مربوط به حل مسائل است. بکار بردن تکنیک منجر به روشی گام به گام (الگوریتم ) در حل یک مسئله می شود. بطور کلی منظورازسریع بودن یک الگوریتم، یعنی تحلیل آن از لحاظ زمان و حافظه که در این اسلاید آموزشی بخوبی با آن آشنا خواهید شد. همچنین لازم به ذکر است که عرض کنیم نوشتن الگوریتم به زبان فارسی دو ایراد دارد : ۱- نوشتن الگوریتم های پیچیده به این شیوه دشوار است. ۲- مشخص نیست از توصیف فارسی الگوریتم چگونه می توان یک برنامه کامپیوتری ایجاد کرد. که در این پاورپوینت آموزشی تمامی مباحث در درس طراحی الگوریتم به زبان شیوای فارسی توضیح داده شده است.
سرفصل های کتاب طراحی الگوریتم ها جعفر نژاد قمی :
از جمله مباحثی که در این پاورپوینت آموزشی به ترجمه مهندس عین الله جعفر نژاد قمی مطرح شده است می توان به موارد زیر اشاره نمود :
- کارایی ، تحلیل و مرتبه الگوریتم ها
- روش تقسیم و حل در طراحی الگوریتم
- برنامه نویسی پویا در طراحی الگوریتم
- روش حریصانه در طراحی الگوریتم
- راهبرد عقبگرد در طراحی الگوریتم
- راهبرد شاخه و حد در طراحی الگوریتم
- مقدمه ای بر پیچیدگی محاسباتی : مسئله مرتب سازی در طراحی الگوریتم
این پاورپوینت آموزشی با مطرح کردن مثال ها و نمونه سوالات (بر اساس شبه کد های ++C) در لا به لای مباحث آموزشی کمک شایانی به درک و فهم بهتر مطالب می کند. و مشکلات بسیاری از دانشجویان عزیز را در درس طراحی الگوریتم حل خواهد کرد.
فهرست مطالب
فصل اول: کارایی ، تحلیل و مرتبه الگوریتم ها
الگوریتم 1-1: جست و جوی ترتیبی
الگوریتم 2-1:محاسبه مجموع عناصر آرایه
الگوریتم 3-1:مرتب سازی تعویضی
الگوریتم 4-1:ضرب ماتریس ها
اهمیت ساخت الگوریتم های کارآمد
الگوریتم 1-1: جست و جوی ترتیبی
الگوریتم 5-1: جست و جوی دودویی
الگوریتم 6-1: جمله n ام فیبوناچی (بازگشتی)
الگوریتم 7-1:جمله nام فیبوناچی (تکراری)
3-1 تحلیل الگوریتم ها
1-3-1 تحلیل پیچیدگی زمانی
4-1مرتبه الگوریتم
2-4-1آشنایی بیشتر با مرتبه الگوریتم ها
فصل دوم: روش تقسیم و حل
الگوریتم1-2: جست و جوی دودویی (بازگشتی)
2-2مرتب سازی ادغامی
الگوریتم2-2: مرتب سازی ادغامی
الگوریتم3-2: ادغام
تحلیل پیچیدگی زمانی دربدترین حالت برای الگوریتم 3-2(ادغام)
الگوریتم5-2:ادغام2
3-2روش تقسیم و حل
الگوریتم6-2 :مرتب سازی سریع
الگوریتم7-2: افراز آرایه
5-2الگوریتم ضرب ماتریس استراسن
الگوریتم 8-2: استراسن
الگوریتم9-2: ضرب اعداد صحیح بزرگ
الگوریتم 10-2: ضرب اعداد صحیح بزرگ 2
فصل سوم: برنامه نویسی پویا
الگوریتم 3-1: ضریب دو جمله ای با استفاده از تقسیم و حل
الگوریتم 2-3: ضریب دو جمله ای با استفاده از برنامه نویسی پویا
الگوریتم 3-3: الگوریتم فلوید برای یافتن کوتاه ترین مسیر
الگوریتم 4-3:الگوریتم فلوید برای یافتن کوتاهترین مسیر 2
الگوریتم 5-3:چاپ کوتاهترین مسیر
3-3 برنامه نویسی پویا و مسائل بهینه سازی
الگوریتم 6-3: حداقل ضرب ها
تحلیل پیچیدگی زمانی حالت معمول برای ا لگوریتم6-3( حداقل ضرب ها)
الگوریتم 7-3: چاپ ترتیب بهینه
5-3 درخت های جست و جوی دودویی بهینه
الگوریتم 8-3: درخت جست و جوی دودویی
الگوریتم 9-3 : درخت جست و جوی بهینه
الگوریتم 10 -3: ساخت درخت جست و جوی دودویی بهینه
الگوریتم11-3:الگوریتم برنامه نویسی پویا برای مسئله فروشنده دوره گرد
تحلیل پیچیدگی فضا و زمان در حالت معمول برای الگوریتم
11-3 ( الگوریتم برنامه نویسی پویا برای مسئله فروشنده دوره گرد)
فصل چهارم: روش حریصانه در طراحی الگوریتم
1-4 درخت های پو شای کمینه
1-1-4الگوریتم پریم
الگوریتم 1-4: الگوریتم پریم
قضیه 1-4
الگوریتم 4-2: الگوریتم کروسکال
قضیه 2-4
الگوریتم3-4: الگوریتم دیکسترا
قضیه 3-4
الگوریتم 4-4 : زمان بندی با مهلت معین
قضیه 4-4
الگوریتم 4-4 ( زمان بندی با مهلت معین ) همواره یک مجموعه بهینه تولید می کند.
قضیه 5-4
فصل پنجم: راهبرد عقبگرد
الگوریتم 1-5: الگوریتم عقبگرد برای مسئله n وزیر
5-3 استفاده از الگوریتم مونت کارلو برای برآورد کردن کارایی یک
الگوریتم عقبگرد
الگوریتم2-5 : برآورد مونت کارلو
الگوریتم 3-5: بر آورد مونت کارلو برای الگوریتم 1-5 (الگوریتم
عقبگرد برای مسئلهn وزیر)
الگوریتم 4-5: الگوریتم عقبگرد برای مسئله حاصل جمع زیر مجموعه ها
5-5 رنگ آمیزی گراف
الگوریتم5-5: الگوریتم عقبگرد برای مسئله رنگ آمیزی m
الگوریتم 6-5: الگوریتم عقبگرد برای مسئله مدارهای ها میلتونی
5-7 مسئله کوله پشتی صفر و یک
الگوریتم 7-5:الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
2-5-7 مقایسه الگوریتم برنامه نویسی پویا و الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
فصل ششم: راهبرد شاخه و حد
الگوریتم 1-6: الگوریتم جست و جوی عرضی با هرس کردن شاخه و حد برای مسئله کوله پشتی صفر و یک
الگوریتم 2-6: بهترین جست و جو با هرس کردن شاخه و حد برای مسئله کوله پشتی صفر و یک
2-6 مسئله فروشنده دوره گرد
الگوریتم 3-6: الگوریتم بهترین جستجو با هرس کردن شاخه و حد برای مسئله فروشنده دوره گرد
2-3استنباط فرضیه ای ( تشخیص بیماری )
الگوریتم 4-6 : الگوریتم بهترین جست و جو با هرس کردن شاخه و حد برای استنباط فرضیه ای ( الگوریتم کوپر)
فصل هفتم: مقدمه ای بر پیچیدگی محاسباتی:
مسئله مرتب سازی
1- 7 پیچیدگی محاسباتی
الگوریتم 1-7: مرتب سازی درجی
الگوریتم 2-7: مرتب سازی انتخابی
قضیه 1-7
4-7 نگاهی دوباره به مرتب سازی ادغامی
الگوریتم 3-7: مرتب سازی ادغامی 3 ( نسخه برنامه نویسی پویا)
الگوریتم 4-7 : مرتب سازی ادغامی 4 ( نسخه پیوندی)
5-7 نگاهی دوباره به مرتب سازی سریع
روش های بهبود بخشیدن به الگوریتم مرتب سازی سریع
2-6-7 پیاده سازی مرتب سازی heap
ساختمان داده های heap
الگوریتم 5-7: مرتب سازی heap
7-7مقایسه مرتب سازی ادغامی، مرتب سازی سریع ومرتب سازی heap
1-8-1 درخت ها ی تصمیم گیری برای الگوهای مرتب سازی
الگوریتم 6-7: مرتب سازی مبنایی
و….
فرمت فایل: PowerPoint
تعداد صفحات: 249
مطالب مرتبط