درباره الگوریتم ها بیشتر بدانید
الگوریتم ها را به عنوان دستور العمل هایی برای توابع محاسباتی در نظر بگیرید. الگوریتمها رویههای خاصی را تعریف میکنند که از ورودی برای ترغیب رایانه به انجام یک عمل خاص و در نهایت ایجاد خروجی استفاده میکنند. الگوریتمها برای یادگیری ماشین، پردازش دادهها و روشهای برنامهنویسی بیشماری دیگر حیاتی هستند.
مرتب سازی بر اساس :
مرتب سازی بر اساس
جدیدترین
پربازدیدترین
زمان دوره
زیرنویس فارسی
فیلترسازی
دوره ها
زیرنویس فارسی

Udemy

Pavol Almasi
بازیها و پروژههای الگوریتم پازل منطقی سی شارپ (گام به گام)C# Logical Puzzles Games & Algorithm Projects (step by step) 6:53:25
زیرنوس انگلیسی
۱۴۰۲/۰۶/۱۵
زیرنویس فارسی

Udemy

Carmine Caiaro
الگوریتم های مرتب سازی در پایتون (مبتنی بر انیمیشن)Sorting Algorithms in Python (Animation-Based) 04:33:36
زیرنوس انگلیسی
۱۴۰۲/۰۵/۰۲
زیرنویس فارسی

RayWenderlichساختار داده ها و الگوریتم ها در سوئیفتData Structures And Algorithms in Swift
02:49:03
زیرنوس انگلیسی
۱۴۰۲/۰۳/۲۵
زیرنویس فارسی

Treehouse

Pasan Premaratne
مقدمه ای بر الگوریتم هاIntroduction to Algorithms 01:57:17
زیرنوس انگلیسی
۱۴۰۲/۰۱/۲۱
کتاب ها
سوالات متداول در مورد الگوریتم ها
یک الگوریتم یک فرآیند گام به گام یا مجموعه ای از قوانین است که شما برای تکمیل هر عمل مشخص می کنید. در ریاضیات و علوم کامپیوتر، الگوریتمها اغلب برای خودکار کردن محاسبات استفاده میشوند. شما این کار را با تعریف رویههای خاصی برای رایانه انجام میدهید که وقتی کاربر مقداری را وارد میکند – در نهایت یک خروجی ایجاد میکند. الگوریتمها برای یادگیری ماشین، پردازش دادهها و روشهای برنامهنویسی بیشماری دیگر حیاتی هستند. آنها همچنین به شما این امکان را می دهند که کارایی، عملکرد، سرعت و مقیاس پذیری کد یا برنامه ها/برنامه های خود را بهبود ببخشید. در نتیجه، الگوریتم ها اغلب توسط توسعه دهندگان و مهندسان نرم افزار ایجاد و مورد استفاده قرار می گیرند.
ساختارهای داده داده ها را سازماندهی و ذخیره می کنند و آنها را به یکی از اساسی ترین اجزای ایجاد الگوریتم های کارآمد و طراحی نرم افزار خوب تبدیل می کند. توانایی مدیریت داده ها همچنین امکان دسترسی کارآمد و اصلاح در هنگام برنامه نویسی را فراهم می کند. دانش ایجاد و طراحی ساختارهای داده جامد یک مهارت ضروری برای کدنویسی موفق است. چند نمونه از ساختارهای داده متداول عبارتند از آرایه ها، درخت سلسله مراتبی، لیست ها، پشته ها و صف های پیوندی منفرد و دوگانه.
پیچیدگی زمانی یک الگوریتم به مدت زمانی که الگوریتم برای پردازش تمام مراحل طول می کشد اشاره دارد و پیچیدگی فضایی یک الگوریتم مقدار حافظه ای است که الگوریتم اشغال می کند. دانستن هر دو در توسعه کد موثر بسیار مهم است، به شما بینشی در مورد کارایی الگوریتم خود می دهد و چگونه می توانید آن را تغییر دهید تا برنامه خود بدون از دست دادن هیچ یک از خروجی های مورد انتظار اجرا شود.
برنامه نویسی پویا یا DP، موضوعی در ساختار داده ها و الگوریتم هایی است که برای حل مسائل بهینه سازی از طریق تقسیم یک مسئله به زیرمسائل کوچکتر استفاده می شود. هر یک از مشکلات فقط یک بار حل می شود. سپس راه حل ها برای جلوگیری از محاسبات تکراری ذخیره می شوند. برنامه نویسان باید نحوه حل مسائل DP را بدانند و این دانش را هنگام ساخت الگوریتم های DP کارآمد به کار گیرند. گذراندن دوره ای متمرکز بر مشکلات DP راهی عملی برای به دست آوردن درک کامل و ترفندهای DP ارائه می دهد. بسیاری از مشکلات برنامه نویسی پویا دارای عناصر مشترکی هستند. درک چگونگی شناسایی آن عناصر، توانایی شما را برای توسعه الگوریتمهای جدید و کارآمدتر افزایش میدهد.
شش نوع الگوریتم اساسی وجود دارد که همه برنامه نویسان مشتاق و با تجربه و مهندسان نرم افزار باید بدانند و بدانند چگونه از آنها استفاده کنند: بازگشتی، تقسیم و غلبه کن، برنامه نویسی پویا، حریص، بی رحمانه، و عقب نشینی. الگوریتم تقسیم و غلبه یک مسئله را به صورت بازگشتی به دو یا چند مشکل فرعی از یک نوع یا مرتبط تقسیم میکند تا زمانی که به اندازه کافی ساده شود که بتوان مستقیماً آن را حل کرد. الگوریتم های حریص برای حل مسائل بهینه سازی استفاده می شود. یک الگوریتم عقبگرد راه حلی برای یک مسئله در رویکرد افزایشی پیدا می کند. نمونه های دیگر از الگوریتم های رایج رایانه ای که می توانید در دوره برنامه نویسی با آنها آشنا شوید عبارتند از الگوریتم های جستجو مانند جستجوی دودویی، جستجوی عرض، جستجوی عمق و الگوریتم های مرتب سازی مانند حباب، انتخاب و مرتب سازی ادغام.
الگوریتمها میتوانند به ایجاد برنامههایی کمک کنند که به طور هوشمند با دنیای اطراف شما تعامل داشته باشند، از ساخت سیستمهای توصیهگر هوشمند گرفته تا ماشینهای خودران، روباتها و چتباتها. یادگیری ماشینی یکی از مهم ترین حوزه های هوش مصنوعی یا هوش مصنوعی است. الگوریتم ها به ویژه در زمینه رشد سریع یادگیری ماشین بسیار مهم هستند. به ویژه، الگوریتمها میتوانند بهطور خودکار الگوها را در دادهها شناسایی کرده و به کشف الگوها برای پیشبینی دادههای آینده کمک کنند. به عنوان مثال، دانشمندان داده می توانند از زبان های برنامه نویسی مانند پایتون برای تجزیه و تحلیل داده ها، ایجاد تجسم و استفاده از الگوریتم های یادگیری ماشین استفاده کنند.
مهندسان نرم افزار، برنامه نویسان کامپیوتر و توسعه دهندگان بسیاری از شرکت ها در سراسر جهان الگوریتم هایی را ایجاد و استفاده می کنند. الگوریتمها در تمامی روشهای محاسبات و برنامهنویسی نقش مهمی دارند و در تجزیه و تحلیل دادهها و یادگیری ماشین نقش حیاتی دارند. درک الگوریتم ها برای کدنویسی ضروری است زیرا الگوریتم ها مراحلی هستند که می توانند با استفاده از زبان های برنامه نویسی مانند جاوا یا C++ به کد تبدیل شوند. علاوه بر این، الگوریتمها بر سایر صنایع مانند بخش مالی تأثیر میگذارند. به عنوان مثال، معامله گران سهام از الگوریتم هایی برای کمک به گرفتن بهترین تصمیم ها هنگام تکمیل معامله گران استفاده می کنند.