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

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

 
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.
برنامه‌نویسی، طراحی الگوریتم و حل مسئله‌های الگوریتمی الگوریتمستان الگوریتمستان الگوریتمستان 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

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

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

   

 

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

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

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