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

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

 
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.
برنامه‌نویسی، طراحی الگوریتم و حل مسئله‌های الگوریتمی الگوریتمستان الگوریتمستان الگوریتمستان 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
»  مرتب‌سازی سریع
آشنایی با روش مرتب‌سازی سریع، همراه با قطعه کدهای نمونه به زبان‌های برنامه‌نویسی ++C و Python
»  الگوریتم جستجوی اول سطح (BFS)
معرفی الگوریتم جستجوی اول سطح (BFS) برای پیمایش گراف و کاربردهای آن به همراه قطعه کد به زبان برنامه‌نویسی ++C
»  درخت Heap
آشنایی با درخت Heap (هیپ، هرم یا کپه) به عنوان یکی از ساختمان های داده پرکاربرد و بررسی روش ساخت، درج گره و حذف گره و ارائه‌ی کد نمونه به زبان برنامه‌نویسی ++C
»  روش برنامه‌نویسی پویا
آشنایی با روش برنامه‌نویسی پویا (یا برنامه‌ریزی پویا، برنامه‌سازی پویا - Dynamic Programming) به عنوان یکی از روش‌های پر کاربرد طراحی الگوریتم برای حل بهینه‌ی مسائل با مثالی از محاسبه‌ی دنباله‌ی فیبوناچی
»  مرتب‌سازی انتخابی
آشنایی با روش مرتب‌سازی انتخابی،همراه با قطعه کد به زبان‌های برنامه‌نویسی ++C و Python
»  سینوس و کسینوس را قورت بده
محاسبه‌ی جدولی سینوس و کسینوس زوایای مشهور
»  دنباله‌ی اعداد فیبوناچی
بررسی الگوریتم‌های محاسبه‌ی دنباله‌ی اعداد فیبوناچی و کارایی آنها
»  محاسبه‌ی دترمینان ماتریس
بررسی روش‌های بسط لاپلاس، گاوس، فرمول تحویل و ساروس، برای محاسبه‌ی دترمینان ماتریس مربعی و پيچيدگي زمانی آنها
»  معمای هشت وزیر
بررسی معمای هشت وزیر یا n وزیر و راهبرد عقبگرد برای حل مسئله
»  حلقه‌های تکرار در ++C
آشنایی با حلقه‌های تکرار در زبان برنامه‌نویسی ++C و دستورات کنترلی مورد استفاده در آن
»  کتاب Competetive Programming
معرفی کتاب Competitive Programming برای علاقه‌مندان به شرکت در مسابقات برنامه‌نویسی و المپیاد کامپیوتر با قابلیت دانلود نسخه‌ی الکترونیکی
»  ضرب زنجیره‌ای ماتریس‌ها
بحث در مورد ضرب زنجیره‌ای ماتریس‌ها و روش پیاده‌سازی الگوریتم پرانتزبندی بهینه‌ی آن با روش تقسیم و حل و روش برنامه‌نویسی پویا

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

   

 

عمر سایت: ۴۴۴۷ روز

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

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