الگوریتم ها بر اساس مفاهیمی که برای انجام یک تعریف آموزش و کاربرد الگوریتم در برنامه نویسی کامپیوتر کار استفاده می کنند طبقه بندی می شوند. در حالی که انواع بسیاری از الگوریتم ها وجود دارد، اساسی ترین انواع الگوریتم های علوم کامپیوتر عبارتند از:
الگوریتمهای تقسیم و غلبه - مسئله را به زیرمسالههای کوچکتر از همان نوع تقسیم کنید. آن مشکلات کوچکتر را حل کنید و آن راه حل ها را برای حل مشکل اصلی ترکیب کنید.الگوریتمهای Brute Force - تمام راهحلهای ممکن را امتحان کنید تا یک راهحل رضایتبخش پیدا شود.
الگوریتم های تصادفی - حداقل یک بار در طول محاسبات از یک عدد تصادفی برای یافتن راه حلی برای مشکل استفاده کنید.الگوریتم های حریص – یافتن راه حل بهینه در سطح محلی با هدف تعریف آموزش و کاربرد الگوریتم در برنامه نویسی کامپیوتر یافتن راه حل بهینه برای کل مسئله.
الگوریتمهای بازگشتی - پایینترین و سادهترین نسخه یک مسئله را حل میکنند تا نسخههای بزرگتر مسئله را تا زمانی که راهحل اصلی پیدا شود، حل کنند.
الگوریتم های ردیابی – تقسیم مسئله به زیرمسائل، که می توان برای حل هر کدام تلاش کرد. با این حال، اگر راه حل مورد نظر به دست نیامد، در مسئله به عقب حرکت کنید تا زمانی که مسیری پیدا شود که آن را به جلو می برد.
الگوریتمهای برنامهنویسی پویا - یک مسئله پیچیده را به مجموعهای از مسائل فرعی سادهتر تقسیم میکنند، سپس هر یک از آن مشکلات فرعی را تنها یک بار حل میکنند و به جای محاسبه مجدد راهحلهایشان، راهحلهای آنها را برای استفاده در تعریف آموزش و کاربرد الگوریتم در برنامه نویسی کامپیوتر آینده ذخیره میکنند.
تعدادی الگوریتم مختلف، از ساده تا بسیار پیچیده، برای حل مکعب روبیک وجود دارد. در زیر فقط یک الگوریتم ساده آورده شده است. ابتدا، اجازه دهید یک نماد برای استفاده (مشابه انتخاب یک زبان برنامه نویسی) مشخص کنیم.
هر یک از شش وجه مکعب روبیک را می توان با حرف اول نام ایرانیان سایبر آنها نشان داد:هر صورت را می توان به سه روش/جهت مختلف چرخاند. با استفاده از U به عنوان مثال، این موارد به صورت زیر نمایش داده می شوند:
حالا بیایید مراحل الگوریتم حل مکعب روبیک تعریف آموزش و کاربرد الگوریتم در برنامه نویسی کامپیوتر را طی کنیم. با خیال راحت یکی از خودتان را بگیرید و دنبال کنید!
ابتدا چند لبه را برگردانید تا یک صلیب سفید در قسمت بالایی وجود داشته باشد.صلیب اکنون حل شده است.مرحله 2: گوشه های سفیدلبه های روی صورت سفید اکنون کامل شده اند، اما گوشه ها باقی مانده اند.بسته به اینکه گوشه سفید-نارنجی-سبز در کجای پازل قرار دارد، یکی از سری چرخش های زیر را اعمال کنید:
رحله 3: لبه های لایه میانیمکعب را برگردانید تا رنگ سفید در پایین باشد.به دنبال لبه ای باشید که در قسمت بالایی قرار داشته باشد و رنگ زرد روی آن نباشد.یک چرخش U را انجام دهید تا رنگ روی جلوی لبه با مرکز هماهنگ شود.بسته به جهتی که لبه می تواند برود، یکی از سری چرخش های زیر را اعمال کنید:
چرخش های زیر را اعمال کنید تا زمانی که یک ضربدر زرد روی صورت با مرکز زرد ظاهر شود: F, R, U, R’, U’, F’.
اگر شکل "L" وجود دارد، جایی که دو قطعه زرد نشان داده شده مجاور یکدیگر هستند، چرخش های زیر را اعمال کنید: F، U، R، U'، R'، F'.اگر یک شکل "خط" وجود دارد که افقی است، چرخش های زیر را اعمال کنید: F، R، U، R'، U'، F'.
بسته به موارد احتمالی زیر، یکی را اعمال کنیداصطلاح رایجی که مردم در علوم کامپیوتر و کدنویسی استفاده میکنند «الگوریتم» است. چیست و چرا برای کدنویسی مهم است؟ با همکاری Juni Learning، مقاله آنها را در اینجا برای تعریف این مفهوم مهم به اشتراک می گذاریم.
الگوریتم چیست؟
الگوریتم مجموعه ای از مراحل گام به گام یا مجموعه قوانینی آموزش و کاربرد الگوریتم در برنامه نویسی کامپیوتر است که برای تکمیل یک کار خاص یا حل یک مشکل خاص باید دنبال شود. الگوریتم ها در اطراف ما هستند. دستور پخت کیک، روشی که برای حل یک مشکل تقسیم طولانی استفاده می کنیم و فرآیند شستشوی لباس همگی نمونه هایی از یک الگوریتم هستند. در اینجا نحوه پخت کیک ممکن است شبیه به نظر برسد، که به صورت فهرستی از دستورالعمل ها نوشته شده است، درست مانند یک الگوریتم: