آموزش طراحی الگوریتم
برای بیان الگوریتم می توان از روش قابل درکی استفاده کرد. بهطور مثال کارهایی را که باید انجام شود به زبان طبیعی، زبانی مشابه زبانهای کامپیوتری و حتی به صورت نمودارهای خاصی بیان نمود. برای همگانی بودن آن می توان از روشها یا زبانهایی استفاده کرد که برای اغلب افراد شناخته شده باشد. یکی از این روشها استفاده از شبه کد است که مشابه دستورات برنامه نویسی است ولی رعایت قواعد زبان برنامه نویسی خاصی در آن الزامی نیست. باید توجه داشت که الگوریتم در شرایط فعلی مستقیماً به وسیله کامپیوتر قابل اجرا و تفسیر نیست، اما پس از تبدیل آن به یک زبان برنامه نویسی برای اجرا به کامپیوتر داده می شود..
الگوریتم به روش خاص حل هر دسته از مسائل گفته می شود. بیان ترتیب کارهایی که باید انحام دهیم با تعیین نظم و ترتیب دستورات و توجه به اولویت اجرای دستورات را الگوریتم گوییم. الگوریتم باید به صورت رشته ای از اعمال که حل دسته ای از مسائل را به دقت تبیین می کند، سازماندهی شده باشد.
برای بیان الگوریتم می توان از روش قابل درکی استفاده کرد. بهطور مثال کارهایی را که باید انجام شود به زبان طبیعی، زبانی مشابه زبانهای کامپیوتری و حتی به صورت نمودارهای خاصی بیان نمود. برای همگانی بودن آن می توان از روشها یا زبانهایی استفاده کرد که برای اغلب افراد شناخته شده باشد. یکی از این روشها استفاده از شبه کد است که مشابه دستورات برنامه نویسی است ولی رعایت قواعد زبان برنامه نویسی خاصی در آن الزامی نیست. باید توجه داشت که الگوریتم در شرایط فعلی مستقیماً به وسیله کامپیوتر قابل اجرا و تفسیر نیست، اما پس از تبدیل آن به یک زبان برنامه نویسی برای اجرا به کامپیوتر داده می شود.
اساس کار نوشتن یک برنامه طرز فکر و چگونگی رسیدن به هدف می باشد که همان الگوریتم رسیدن به جواب می باشد. با دانستن الگوریتم می توان به سادگی با استفاده دستورات یک زبان برنامه نویسی آن را پیاده سازی کرد؛ اما اگر فقط دستورات برنامه نویسی را بدانیم و بخواهیم آنها را حفظ کنیم و به شیوه رسیدن به جواب یا الگوریتم مسلط نباشیم هیچگاه نخواهیم توانست برنامه نویسی را درک کرده و آن را بیاموزیم و همیشه برنامه-نویسی کاری سخت و طاقت فرسا خواهد بود.
برای مشاهده جزئیات و تهیه آموزش طراحی الگوریتمی به این لینک (+) مراجعه نمایید.
فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:
- فصل اول: آشنایی با طراحی الگوریتم
- تعریف الگوریتم
- الگوریتم مقسوم علیه های یک عدد
- الگوریتم محاسبه تعداد مقسوم علیه های یک عدد
- الگوریتم عدد اول
- الگوریتم اعداد اول سه رقمی
- بهینه سازی الگوریتم عدد اول
- الگوریتم عدد تام
- الگوریتم اعداد تام کوچکتر از ۱۰۰۰
- الگوریتم سری فیبوناچی
- الگوریتم معدل دانشجو
- الگوریتم محاسبه جمع و میانگین تا زمانیکه صفر وارد شود
- الگوریتم محاسبه جمع ارقام یک عدد
- الگوریتم محاسبه مقلوب یک عدد
- الگوریتم بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک دو عدد
- الگوریتم تجزیه به عاملهای اول
- الگوریتم خرد کردن یک اسکناس
- بهینه سازی الگوریتم خرد کردن یک اسکناس
- فصل دوم: الگوریتم های بازگشتی
- تابع
- تابع خودفراخوان یا بازگشتی (Recursive)
- الگوریتم ترتیب و ترکیب
- الگوریتم تابع بازگشتی ب.م.م
- الگوریتم بازگشتی تجزیه به عاملهای اول
- برج هانوی
- الگوریتم بازگشتی مرتبه ۲ سری فیبوناچی
- توابع جمع ارقام، مقلوب و تعداد رقم
- تابع عدد اول
- الگوریتم تبدیل اعداد زوج به جمع دو عدد اول
- بهینه سازی الگوریتم تبدیل اعداد زوج به جمع دو عدد اول
- الگوریتم یافتن بزرگترین کمیت
- الگوریتم یافتن دو عدد بزرگتر بین مقادیر ورودی
- آرایه
- الگوریتم مرتب سازی جابجایی
- الگوریتم مرتب سازی حبابی
- بهینه سازی الگوریتم مرتب سازی حبابی
- الگوریتم ادغام یک عدد در آرایه مرتب
- الگوریتم ادغام دو آرایه مرتب
- الگوریتم محاسبه کمیتهای آماری
- الگوریتم فیبوناچی با آرایه
- الگوریتم محاسبه تعداد هر کدام از ارقام در اعداد ورودی
- الگوریتم محاسبه اعداد اول به روش غربال
- معرفی ساختار (Struct)
- لیست پیوندی
- مسئله ژوزف
- فصل سوم: الگوریتم های تقسیم و حل
- الگوریتم عمومی تقسیم و حل
- الگوریتم توان رسانی به روش تقسیم
- الگوریتم جستجوی دودویی
- الگوریتم مرتب سازی ادغامی (Merge Sort)
- الگوریتم مرتب سازی سریع
- الگوریتم زمان بندی مسابقات ورزشی
- فصل چهارم: روش حریصانه
- زمان بندی بهینه اجرای برنامه ها
- کوله پشتی با ارزش ماکزیمم
- درخت پوشای مینیمم
- کوتاهترین مسیرها از مبدا واحد
- الگوریتم ماشین سکه خردکن
- فشرده سازی داده ها – کد هافمن (Huffman)
- فصل پنجم: روش برنامه سازی پویا
- فروشنده دوره گرد
- مثلث خیام
- گزیده ای از سایر روشها
- مرتب سازی دودویی
- درختهای بازی
- روشهای مکاشفه ای – هوش مصنوعی
- روش بازگشت به عقب
- انشعاب و تحدید
- مسایل رام نشدنی
برای مشاهده جزئیات و تهیه آموزش طراحی الگوریتمی به این لینک (+) مراجعه نمایید.
مجموعه: سته بندی مستقل, مهندسی نرم افزار برچسب ها: Huffman, Merge Sort, Recursive, Struct, آرایه, اعداد اول, الگوریتم, الگوریتم تابع بازگشتی ب.م.م, الگوریتم تجزیه به عاملهای اول, الگوریتم ترتیب و ترکیب, الگوریتم توان رسانی, الگوریتم توان رسانی به روش تقسیم, الگوریتم جستجوی دودویی, الگوریتم خرد کردن یک اسکناس, الگوریتم زمان بندی مسابقات ورزشی, الگوریتم سری فیبوناچی, الگوریتم عمومی, الگوریتم عمومی تقسیم و حل, الگوریتم ماشین سکه خردکن, الگوریتم محاسبه جمع, الگوریتم محاسبه کمیتهای آماری, الگوریتم مرتب سازی جابجایی, الگوریتم مرتب سازی حبابی, الگوریتم مرتب سازی سریع, الگوریتم معدل دانشجو, الگوریتم های بازگشتی, الگوریتم های تقسیم و حل, انشعاب و تحدید, برج هانوی, بزرگترین کمیت, بهینه سازی, تابع, تابع خودفراخوان, تابع عدد اول, تعریف الگوریتم, درخت پوشای مینیمم, درختهای بازی, روش بازگشت به عقب, روش برنامه سازی پویا, روش حریصانه, روشهای مکاشفه ای, زبانهای کامپیوتری, زمان بندی بهینه اجرای برنامه ها, طراحی الگوریتم, عدد اول, عدد تام, فروشنده دوره گرد, فشرده سازی داده ها, کد هافمن, کوتاهترین مسیرها از مبدا واحد, کوله پشتی با ارزش ماکزیمم, لگوریتم مرتب سازی ادغامی, لیست پیوندیمسئله ژوزف, مثلث خیام, محاسبه, محاسبه مقلوب یک عدد, مرتب سازی دودویی, مرتبه 2 سری فیبوناچی, مسایل رام نشدنی, معرفی ساختار, مقسوم علیه, میانگین, هوش مصنوعی