الگوریتمستان

برنامه‌نویسی، طراحی الگوریتم و حل مسئله‌های الگوریتمی

 
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.
برنامه‌نویسی، طراحی الگوریتم و حل مسئله‌های الگوریتمی الگوریتمستان الگوریتمستان الگوریتمستان FB Twitter

چرا الگوریتم؟

یکی از کلمات کلیدی تعریف مفهوم الگوریتم، «حل مسئله» است. الگوریتم یکی از روش‌های رسیدن به جواب سوال‌های ما و حل چالش‌های روزمره‌ی زندگی است. عملیات به ظاهر ساده‌ای همچون ضرب دو عدد تا چالش‌های تخصصی‌تر مانند پیش‌بینی وضع هوا در روزهای آینده، همه مبتنی بر الگوریتم‌ها هستند و همواره می‌کوشیم الگوریتم‌هایی با دقت یا کارایی بیشتر برای آنها ارائه دهیم. هوش مصنوعی، یادگیری ماشین و پیش‌بینی افت و خیز بازارهای مالی، مثال‌های دیگری از کاربرد الگوریتم‌ها است که امروزه بیش از پیش مورد توجه قرار گرفته‌اند.

آنچه در الگوریتمستان می‌خوانید مجموعه‌ای از نوشته‌ها در حوزه‌ی طراحی الگوریتم‌ها، ساختمان داده‌ها، مسائل الگوریتمی و راهنمای حل آنها، در کنار نکات آموزشی برنامه‌نویسی با زبان برنامه‌نویسی ++C به عنوان یک ابزار قدرتمند برای پیاده‌سازی و اجرای الگوریتم‌ها است.

»  کتاب Competetive Programming
معرفی کتاب Competitive Programming برای علاقه‌مندان به شرکت در مسابقات برنامه‌نویسی و المپیاد کامپیوتر با قابلیت دانلود نسخه‌ی الکترونیکی

ویراست سوم کتاب برنامه‌نویسی رقابتی با نام کامل Competitive Programming 3: The New Lower Bound of Programming Contests با تلاش Steven Halim و Felix Halim از مربیان تیم‌های برنامه‌نویسی ACM-ICPC سنگاپور تالیف و  در سال ۲۰۱۳ منتشر شده است که امروزه به عنوان یکی از منابع مناسب برای آمادگی تیم‌های شرکت‌کننده در مسابقات برنامه‌نویسی الگوریتمی بویژه مسابقات برنامه‌نویسی ACM-ICPC توصیه می‌شود.

این کتاب شامل نکات تکنیکی برنامه‌نویسی در مسابقات ACM-ICPC و همینطور معرفی ساختمان داده‌ها و الگوریتم‌های پر کاربرد در ۹ فصل با جزئیات زیر است.

1 Introduction

    1.1 Competitive Programming

ادامه ...
»  الگوریتم جستجوی اول عمق (DFS)
معرفی الگوریتم جستجوی اول عمق (DFS) برای پیمایش گراف و کاربردهای آن به همراه قطعه کد به زبان برنامه‌نویسی ++C
»  الگوریتم جستجوی اول سطح (BFS)
معرفی الگوریتم جستجوی اول سطح (BFS) برای پیمایش گراف و کاربردهای آن به همراه قطعه کد به زبان برنامه‌نویسی ++C
»  پیچیدگی زمانی اجرای الگوریتم
بررسی مفهوم پیچیدگی زمانی الگوریتم برای بررسی کارایی آن و مقایسه‌ی الگوریتم‌ها
»  مرتب‌سازی سریع
آشنایی با روش مرتب‌سازی سریع، همراه با قطعه کدهای نمونه به زبان‌های برنامه‌نویسی ++C و Python
»  الگوریتم دایکسترا
آشنایی با الگوریتم دایکسترا برای یافتن کوتاهترین مسیر تک‌مبدأ در گراف وزن‌دار بدون یال منفی با قطعه کد به زبان ++C
»  مرتب‌سازی ادغامی
آشنایی با روش مرتب‌سازی ادغامی با قطعه کدهایی به زبان‌های برنامه‌نویسی ++C و Python
»  الگوریتم فلوید-وارشال
آشنایی با الگوریتم فلوید-وارشال برای یافتن کوتاهترین مسیرهای گراف با قطعه کد نمونه به زبان‌های برنامه‌نویسی ++C و Python
»  سینوس و کسینوس را قورت بده
محاسبه‌ی جدولی سینوس و کسینوس زوایای مشهور
»  محاسبه‌ی دترمینان ماتریس
بررسی روش‌های بسط لاپلاس، گاوس، فرمول تحویل و ساروس، برای محاسبه‌ی دترمینان ماتریس مربعی و پيچيدگي زمانی آنها
»  دنباله‌ی اعداد فیبوناچی
بررسی الگوریتم‌های محاسبه‌ی دنباله‌ی اعداد فیبوناچی و کارایی آنها
»  حلقه‌های تکرار در ++C
آشنایی با حلقه‌های تکرار در زبان برنامه‌نویسی ++C و دستورات کنترلی مورد استفاده در آن
»  اشاره‌گرها در زبان ++C
آشنایی با مفهوم و عملکرد اشاره‌گرها در زبان برنامه‌نویسی ++C و ارائه مثالهایی از کاربرد آن
»  معمای هشت وزیر
بررسی معمای هشت وزیر یا n وزیر و راهبرد عقبگرد برای حل مسئله
»  ضرب زنجیره‌ای ماتریس‌ها
بحث در مورد ضرب زنجیره‌ای ماتریس‌ها و روش پیاده‌سازی الگوریتم پرانتزبندی بهینه‌ی آن با روش تقسیم و حل و روش برنامه‌نویسی پویا

الگوریتمستان در تلگرام

   

 

عمر سایت: ۴۰۹۰ روز

کاربران حاضر: ۱ کاربر

امتیاز‌ها:
  • تعداد امتیاز ثبت شده: ۳۰۱۵ امتیاز
  • میانگین امتیازها: ۴.۲۶ از ۵.۰۰
بازدید‌ها:
  • امروز:  ۱۷۶ بازدید
  • ۲۴ ساعت گذشته:  ۹۴۵ بازدید
  • ۷ روز گذشته:  ۷۵۷۱ بازدید
  • ۳۰ روز گذشته:  ۳۷۴۹۳ بازدید
  • ۱ سال گذشته: ۵۷۳۲۱۲ بازدید
  • کل بازدیدها: ۴۲۴۶۶۵۳ بازدید