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

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

 
در صورت ناخوانا بودن نوشته‌ها، از مرورگر دیگری استفاده کنید.
نوشته‌ها با برچسب منبع آموزشی نوشته‌ها با برچسب منبع آموزشی - الگوریتمستان الگوریتمستان الگوریتمستان
نوشته‌ها با برچسب «

منبع آموزشی

»

وب‌سایت CodinGame.com یک ابزار آنلاین تمرین برنامه‌نویسی و حل مسئله بر اساس حل معماهای مختلف برنامه‌نویسی است. در این وب‌سایت معماهای مختلف برنامه‌نویسی در قالب طراحی عامل هوشمند و در سطوح مختلف وجود دارد که به کاربر کمک می‌کند با شروع از سطوح آسان استفاده از انواع ابزارهای برنامه‌نویسی برای حل مسئله را تمرین کند.

دیگر ویژگی مهم این وب‌سایت پشتیبانی آن از اکثر زبان‌های برنامه‌نویسی مرسوم است که کاربر را در انتخاب ابزار حل آزاد می‌گذارد. پس از حل مسئله نیز امتیازی به کاربر اعطا می‌شود که مجموع این امتیازات میزان تجربه‌ی کاربر در این حوزه را نشان می‌دهد.

ادامه ...

کتاب مقدمه‌ای بر مسابقات برنامه‌نویسی (با عنوان انگلیسی An Introduction to Programming Contests) کتابی به زبان فارسی مناسب برای علاقه‌مندان به شرکت در مسابقات برنامه‌نویسی است که توسط احمد یوسفان، محسن بیگلری، فائزه میرزایی و امین بابادی، از شرکت‌کنندگان در مسابقات برنامه‌نویسی ACM-ICPC، نوشته شده است.

در پیشگفتار کتاب آمده است: «این کتاب مجموعه‌ای کامل از ابزارهای مورد نیاز برای تبدیل شدن به یک برنامه‌نویس کارآمد و حرفه‌ای برای حل مسأله‌های گوناگون الگوریتمی است. همچنین به نوعی کامل کنندهٔ درس‌های برنامه‌نویسی، ساختمان داده و طراحی الگوریتم است و دربردارندهٔ نکته‌های ساده و همچنین دشواری است که اغلب در این درس‌ها به آنها کمتر پرداخته می‌شود ولی برنامه‌نویس به آنها نیاز دارد. کتاب حاضر خواننده را برای مسابقه‌های برنامه‌نویسی مانند ای-سی-ام آماده می‌سازد. ترتیب فصل‌های کتاب به شکلی برگزیده شده است که خواننده همراه با کتاب، سطح خود را بهبود بخشیده و به طور کامل با کتاب همراه شود. در این کتاب، دسته‌ای گسترده از الگوریتم‌ها پیاده‌سازی و بررسی می‌شود.»

ادامه ...

کتاب Competitive Programmer's Handbook (راهنمای برنامه‌نویسان رقابتی) کتابچه‌ای است که در آن عموم مباحث مورد نیاز جهت شرکت در رقابت‌های برنامه‌نویسی همچون المپیاد کامپیوتر دانش‌آموزی یا مسابقات برنامه‌نویسی دانشجویی به صورت مختصر و مفید یک جا جمع شده است.

دکتر Antti Laaksonen از مربیان تیم‌های المپیاد کامپیوتر کشور فنلاند این کتاب را به صورت رایگان جهت استفاده‌ی عموم در سه بخش و سی فصل با عناوین زیر منتشر کرده است.

  

بخش اول: تکنیک‌های مقدماتی

ادامه ...

ویدئوهای جلسات آموزشی طراحی و تحلیل الگوریتم پروفسور Tim Roughgarden دانشگاه استنفورد از طریق پیوندهای زیر قابل مشاهده است. در این دوره هر الگوریتم یا ساختمان داده‌ی بحث شده، همراه با  تحلیل، مثال‌های کاربردی یا جایگاه مورد نیاز آنها است.

  

جلسه‌ی اول

۱- چرا مطالعه‌ی الگوریتم؟

۲- ضرب اعداد صحیح

ادامه ...

ویدئوهای راه حل سوالات مسابقه‌ی جهانی ACM-ICPC 2016 را در کانال آپارات الگوریتمستان مشاهده کنید:

aparat.com/algorithmha

ادامه ...

کتاب Programming Challenges: The Programming Contest Training Manual اثر Steven Skiena و Miguel Revilla یکی از کتاب‌های مناسب تمرین گام به گام برای شرکت در مسابقات برنامه‌نویسی‌ای همچون المپیاد کامپیوتر و ACM-ICPC است. این کتاب مورد تایید UVa Online Judge بوده و تمام سوالات تمرینی کتاب نیز از این مخزن است.

ادامه ...

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

کتاب الکترونیکی رایگان «ساختمان داده‌ها» به زبان فارسی و تألیف مهندس فرشید شیرافکن، توسط سازمان علمی آموزشی فرادرس با هدف آموزش و آماده‌سازی جهت شرکت در آزمون‌های تحصیلی و همینطور مطالعه‌ی عموم علاقه‌مندان، در یازده فصل به شرح زیر منتشر شده است:

  

» فصل ۱: مرتبه‌ی اجرایی

ادامه ...

کتاب Introduction to Algorithms: A Creative Approach را می‌توان مکملی بر استفاده از کتاب Introduction to Algorithms (مشهور به کتاب CLRS) دانست. در این کتاب علاوه بر معرفی تکنیک‌های مختلف طراحی الگوریتم‌ها و روش‌های حل برخی مسائل الگوریتمی، روش‌های تحلیل و حل آنها با جزئیات بیشتر و به صورت گام به گام بررسی شده است. به همین دلیل نیز از جمله منابع اصلی پیشنهادی به متقاضیان شرکت در المپیادهای کامپیوتر و مسابقات برنامه‌نویسی برای یادگیری طراحی و تحلیل الگوریتم‌ها است.

ادامه ...

کتاب Introduction to Algorithms (مشهور به کتاب CLRS) از انتشارات MIT اثر Thomas H. Cormen، Charles E. Leiserson، Ronald L. Rivest و Clifford Stein کتاب جامع مباحث الگوریتم‌ها و ساختمان داده‌ها است که منبع درسی بسیاری از دانشگاه‌های معتبر بوده و تا کنون بیش از سی هزار مقاله و کتاب با ارجاع به آن نگارش یافته است. مطالب این کتاب از مباحث اولیه مانند مفهوم تحلیل و طراحی الگوریتم آغاز شده و مباحث پیشرفته‌ی طراحی الگوریتم‌ها و ساختمان داده‌ها را نیز پوشش می‌دهد. به همین دلیل مطالعه و استفاده از آن به عنوان مرجع برای کلیه‌ی علاقمندان مباحث طراحی الگوریتم‌ها، ساختمان داده‌ها و همینطور شرکت‌کنندگان المپیادهای کامپیوتری و مسابقات برنامه‌نویسی توصیه می‌شود.

ادامه ...

کتاب Concrete Mathematics: A Foundation for Computer Science نوشته‌ای با موضوع مفاهیم اولیه‌ی ریاضیات پیوسته (CONtinuous mathematics) و ریاضیات گسسته (disCRETE mathematics) به قلم رونالد گراهام، دونالد کنوت و اُرِن پاتاشنیک - از دانشمندان بزرگ علوم ریاضیات و کامپیوتر - است . در این کتاب از بیان متفاوتی نسبت به نوشتار عموم کتاب‌های آموزش ریاضی استفاده شده و مفاهیم پایه‌ای محاسباتی علم کامپیوتر به زبان ساده و گیرا توضیح داده شده است. این مفاهیم پیش‌نیاز حل بسیاری از مسائل کامپیوتری، ریاضی و محاسبات علمی هستند. به همین دلیل، مطالعه‌ی آن به علاقه‌مندان برنامه‌نویسی، بویژه شرکت‌کنندگان المپیادهای کامپیوتری و مسابقات برنامه‌نویسی توصیه می‌شود.

ادامه ...