کتاب مقدس مصاحبه های برنامه نویسی و کدگذاری رقابتی

The Bible of Competitive Programming & Coding Interviews

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: پایه و اساس الگوریتم ها و ساختارهای داده را ایجاد کنید تا مصاحبه های برنامه نویسی و برنامه نویسی رقابتی را ایجاد کنید پایه ای محکم برای تبدیل شدن به یک جادوگر برنامه نویسی رقابتی بسازید بر ساختارهای داده انقلابی و انواع مختلف مسائل با استفاده از هر یک از آنها یاد بگیرید الگوریتم های اساسی را بیاموزید و مسائل کلاسیک را حل کنید برای Codeforces آماده شوید. CodeChef، Hackerrank، ACM-ICPC و موارد دیگر پیش نیازها: فقط دانش اولیه زبان C/C++ (متغیرها، حلقه ها، دستورات)

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

ما از اصول اولیه مانند مبانی ریاضیات شروع می کنیم: اعداد اول، غربال اراتوستن، توان مدولار سریع. سپس به چالش‌های جالب و ترفندهای طلایی روی آرایه‌ها و ماتریس‌ها می‌پردازیم و به دنبال آن جستجوی دودویی، بازگشت و تقسیم و تسخیر را دنبال می‌کنیم. ما با بررسی ساختارهای داده اساسی مانند Stack، Queue، Deque، Heap و Hash Table ادامه می دهیم. سپس، پس از ساختن یک پایه محکم، موضوعات پیچیده ای مانند برنامه نویسی حریص و پویا را بررسی می کنیم، که در آن فرمول های ضد گلوله را نشان می دهم که شما را در حل تک تک مشکلات از آن نوع خاص راهنمایی می کند.


این چه چیزی است که این دوره را شگفت‌انگیز می‌کند:

  • من شما را از طریق خط فکری خود در هنگام حل هر مشکل راهنمایی می کنم، با تمرکز بر ایجاد رویکرد کلی برای هر نوع مشکلی که می توانید در مسابقات برنامه نویسی رقابتی یا مصاحبه های توسعه نرم افزار با آن مواجه شوید.

  • شما تمام تئوری های مورد نیاز را خواهید آموخت، اما تمرکز اصلی ما در اینجا بر روی کاربردهای عملی است.

  • من ترفندهای حل مسئله و شیوه‌های کدنویسی خوب را با شما به اشتراک می‌گذارم که کشف آنها سال‌ها و صدها مشکل طول کشید.

  • این تعاملی و جذاب است: من سعی می‌کنم نظریه را تا حد امکان ساده و طبیعی نگه دارم و به عنوان یک تیم در حل هر مشکلی کار می‌کنیم.

فکر می‌کنید بالاخره زمان آن فرا رسیده است که شغل توسعه‌دهنده نرم‌افزار یا نتایجی در برنامه‌نویسی رقابتی که شایسته آن هستید را دریافت کنید؟ من را دنبال کنید!


سرفصل ها و درس ها

معرفی Introduction

  • نحوه گذراندن این دوره How to take this Course

  • قبل از شروع بخوانید! READ BEFORE YOU START!

  • لینک کانال دیسکورد Discord Channel Link

  • الگوریتم ها چیست؟ What are Algorithms?

  • ساختارهای داده چیست؟ What are Data Structures?

  • تحلیل پیچیدگی Complexity Analysis

معرفی Introduction

حلقه ها Loops

  • تست عدد اول Prime Number Test

  • تست اعداد اول - پیاده سازی Prime Number Test - Implementation

  • توان مدولار سریع Fast Modular Exponentiation

  • غربال اراتوستن Sieve of Eratosthenes

  • غربال اراتوستن - اجرا Sieve of Eratosthenes - Implementation

  • توان مدولار سریع - پیاده سازی تکراری Fast Modular Exponentiation - Iterative Implementation

  • دومین ارزش بزرگ Second Largest Value

  • قدرت چاپ Print Powers

  • فاکتورسازی اولیه Prime Factorization

  • عدد فیبوناچی Fibonacci Number

  • فاکتورسازی اولیه - پیاده سازی Prime Factorization - Implementation

  • ریاضی - مشق شب Mathematics - Homework

  • چاپ مثلث ستاره ها Print Triangle Of Stars

  • چاپ لوزی Print Rhombus

  • حلقه ها - تکالیف Loops - Homework

حلقه ها Loops

حلقه های تو در تو Nested Loops

  • فاکتورسازی اولیه Prime Factorization

  • فاکتورسازی اولیه - پیاده سازی Prime Factorization - Implementation

  • چاپ مثلث ستاره ها Print Triangle Of Stars

  • چاپ لوزی Print Rhombus

  • شماره جادویی Magical Number

حلقه های تو در تو Nested Loops

آرایه ها Arrays

  • غربال اراتوستن Sieve of Eratosthenes

  • غربال اراتوستن - اجرا Sieve of Eratosthenes - Implementation

  • آرایه فرکانس Frequency Array

  • طولانی ترین اعداد متوالی زیربار Longest Consecutive Numbers Subarray

  • طولانی ترین اعداد متوالی زیر مجموعه - پیاده سازی Longest Consecutive Numbers Subarray - Implementation

  • مشکل اصل کبوتر Pigeonhole Principle Problem

  • اصل کبوتر - پیاده سازی Pigeonhole Principle - Implementation

  • حداکثر مقدار و تعداد موارد Max Val and Number Of Occurences

  • ادغام 2 آرایه مرتب شده Merge 2 Sorted Arrays

  • مقدمه ای بر STL Vector Introduction to the STL Vector

  • آرایه ها - تکالیف Arrays - Homework

آرایه ها Arrays

مبالغ جزئی Partial Sums

  • مبالغ جزئی Partial Sums

  • مبالغ جزئی - اجرا Partial Sums - Implementation

  • حداکثر مجموع زیرآیین - رویکرد حریصانه Maximum Sum Subarray - Greedy Approach

  • حداکثر مجموع زیرآرایی - پیاده سازی رویکرد حریصانه Maximum Sum Subarray - Greedy Approach Implementation

  • حداکثر مجموع فرعی - رویکرد مبالغ جزئی Maximum Sum Subarray - Partial Sums Approach

  • حداکثر مجموع فرعی - اجرای رویکرد مبالغ جزئی Maximum Sum Subarray - Partial Sums Approach Implementation

  • ترفند به روز رسانی محدوده Range Update Trick

مبالغ جزئی Partial Sums

پنجره کشویی/تکنیک دو نشانگر Sliding Window / Two Pointers Technique

  • تکنیک دو نقطه ای Two Pointers Technique

  • طولانی ترین زیر مجموعه از مجموع حداکثر S - راه حل 1 Longest Subarray Of Sum At Most S - Solution 1

  • طولانی ترین زیر مجموعه از مجموع حداکثر S - راه حل 2 - قسمت 1 Longest Subarray of Sum At Most S - Solution 2 - Part 1

  • طولانی ترین زیر مجموعه از مجموع حداکثر S - راه حل 2 - قسمت 2 Longest Subarray of Sum At Most S - Solution 2 - Part 2

  • طولانی ترین زیر مجموعه از مجموع حداکثر S - راه حل 2 - قسمت 3 Longest Subarray of Sum At Most S - Solution 2 - Part 3

  • مقدمه ای بر تکنیک پنجره کشویی + مثال مسئله Introduction to Sliding Window Technique + Problem Example

  • راه حل تکنیک پنجره کشویی Sliding Window Technique Solution

  • راه حل تکنیک پنجره کشویی - پیاده سازی Sliding Window Technique Solution - Implementation

پنجره کشویی/تکنیک دو نشانگر Sliding Window / Two Pointers Technique

رشته های Strings

  • رشته پالیندرومیک Palindromic String

  • رشته معکوس Reverse String

  • کلمات معکوس - راه حل 1 Reverse Words - Solution 1

  • کلمات معکوس - راه حل 2 Reverse Words - Solution 2

  • زیر رشته های پالیندرومیک - راه حل 1 Palindromic Substrings - Solution 1

  • آناگرام های گروهی - راه حل 1 Group Anagrams - Solution 1

  • زیر رشته های پالیندرومیک - راه حل 2 Palindromic Substrings - Solution 2

رشته های Strings

ماتریس ها Matrices

  • مبالغ جزئی Partial Sums

  • ترفند به روز رسانی محدوده Range Update Trick

  • زیر ماتریس مجموع حداکثر Maximum Sum Submatrix

  • حداکثر جمع زیر ماتریس - پیاده سازی Maximum Sum Submatrix - Implementation

  • حداکثر اندازه مربع پر از 1 Maximum size square full of 1's

  • حداکثر مساحت مستطیل پر از 1 Max Area Rectangle Full Of 1's

  • حداکثر اندازه مربع پر از 1 - پیاده سازی Maximum size square full of 1's - Implementation

  • حداکثر مساحت مستطیل پر از 1 - پیاده سازی Max Area Rectangle Full Of 1's - Implementation

  • ماتریس - تکالیف Matrices - Homework

ماتریس ها Matrices

لیست های پیوندی Linked Lists

  • لیست های پیوندی Linked Lists

  • لیست پیوند معکوس Reverse Linked List

  • Nth Node را از End حذف کنید Remove Nth Node From End

  • حذف گره نهم از انتهای - راه حل شماره 2 Remove Nth Node From End - Solution #2

  • تقاطع لیست های پیوندی Intersection of Linked Lists

  • دو عدد اضافه کنید Add Two Numbers

لیست های پیوندی Linked Lists

جستجوی باینری Binary Search

  • مقدمه ای بر جستجوی باینری Introduction to Binary Search

  • جستجوی باینری - پیاده سازی Binary Search - Implementation

  • کران پایین Lower Bound

  • مشکل حمل و نقل حداقل ظرفیت Minimum Capacity Transportation Problem

  • حداقل ظرفیت حمل و نقل - اجرا Minimum Capacity Transportation - Implementation

  • مشکل حداکثر تعداد گروه ها Maximum Number of Groups Problem

  • حداکثر تعداد گروه ها - پیاده سازی Maximum Number of Groups - Implementation

  • مشکل حداکثر فاصله ویژه Maximum Special Distance Problem

  • حداکثر فاصله ویژه - اجرا Maximum Special Distance - Implementation

  • جستجوی باینری - تکالیف Binary Search - Homework

جستجوی باینری Binary Search

صف و دک Queue & Deque

  • مقدمه ای بر صف Introduction to Queue

  • الگوریتم لی Lee's Algorithm

  • الگوریتم لی - پیاده سازی Lee's Algorithm - Implementation

  • ماتریس 01 01 Matrix

  • معرفی Deque Introduction to Deque

  • حداقل زیرآرایه با طول K Minimum of K-length subarrays

  • حداقل زیرآرایه های K-length - پیاده سازی Minimum of K-length subarrays - Implementation

  • حداکثر مجموع زیرآرنج با طول در محدوده داده شده Maximum Sum Subarray with length in given range

  • حداکثر مجموع زیرآرایی با طول در محدوده داده شده - پیاده سازی Maximum Sum Subarray with length in given range - Implementation

بازگشت و عقبگرد Recursion & Backtracking

  • مقدمه ای بر بازگشت Introduction to Recursion

  • توان مدولار سریع - پیاده سازی بازگشتی Fast Modular Exponentiation - Recursive Implementation

  • الگوریتم پر کردن Fill Algorithm

  • الگوریتم پر کردن - پیاده سازی Fill Algorithm - Implementation

  • سودوکو را حل کنید Solve Sudoku

  • N کوئینز قرار دادن N Queens Placement

  • بازگشت - تکلیف Recursion - Homework

بازگشت و عقبگرد Recursion & Backtracking

تفرقه بینداز و حکومت کن Divide and Conquer

  • ادغام مرتب سازی - الگوریتم مرتب سازی Merge Sort - Sorting Algorithm

  • Merge Sort - ادغام دو آرایه + پیاده سازی Merge Sort - Merging two arrays + Implementation

  • مرتب سازی ادغام - پیچیدگی زمانی Merge Sort - Time Complexity

  • ماکزیمم مجموع زیر مجموعه Maximum Sum Subarray

  • مشکل Z-Traversal Z-Traversal Problem

  • Z-Traversal - پیاده سازی Z-Traversal - Implementation

  • مرتب سازی سریع Quicksort

  • تقسیم کن و حکومت کن - تکلیف Divide and Conquer - Homework

تفرقه بینداز و حکومت کن Divide and Conquer

پشته Stack

  • مقدمه ای بر Stack Introduction to Stack

  • مشکل پرانتز معتبر Valid Parentheses Problem

  • پرانتز معتبر - پیاده سازی Valid Parentheses - Implementation

  • اولین مشکل عنصر بزرگتر First Greater Element Problem

  • اولین عنصر بزرگ - پیاده سازی First Greater Element - Implementation

  • بزرگترین ناحیه مستطیلی در یک هیستوگرام Largest Rectangular Area in a Histogram

  • بزرگترین ناحیه مستطیلی در یک هیستوگرام - پیاده سازی Largest Rectangular Area in a Histogram - Implementation

  • حداکثر مساحت مستطیل پر از 1 Maximum area rectangle full of 1's

  • حداکثر مساحت مستطیل پر از 1 - پیاده سازی Maximum area rectangle full of 1's - Implementation

  • پیمایش پست سفارشی درخت دودویی - قسمت 1 Binary Tree Postorder Traversal - Part 1

  • پیمایش postorder درخت باینری - قسمت 2 Binary Tree Postorder Traversal - Part 2

  • پشته - تکالیف Stack - Homework

پشته Stack

صف Queue

  • مقدمه ای بر صف Introduction to Queue

  • الگوریتم لی Lee's Algorithm

  • الگوریتم لی - پیاده سازی Lee's Algorithm - Implementation

صف Queue

درختان باینری Binary Trees

  • درخت متقارن Symmetric Tree

  • آرایه مرتب شده را به BST تبدیل کنید Convert Sorted Array to BST

  • بازیابی درخت از پیش سفارش Recover Tree From Preorder

  • پیمایش postorder درخت دودویی Binary Tree Postorder Traversal

  • پیمایش postorder درخت باینری - راه حل شماره 2 - قسمت 1 Binary Tree Postorder Traversal - Solution #2 - Part 1

  • پیمایش postorder درخت باینری - راه حل 2 - قسمت 2 Binary Tree Postorder Traversal - Solution 2 - Part 2

  • LCA در درخت جستجوی باینری LCA in Binary Search Tree

  • Kth کوچکترین عنصر در درخت جستجوی باینری Kth Smallest Element in Binary Search Tree

دکه Deque

  • معرفی Deque Introduction to Deque

  • حداقل زیرآرایه با طول K Minimum of K-length subarrays

  • حداقل زیرآرایه های K-length - پیاده سازی Minimum of K-length subarrays - Implementation

  • حداکثر مجموع زیرآرنج با طول در محدوده داده شده Maximum Sum Subarray with length in given range

  • حداکثر مجموع زیرآرایی با طول در محدوده داده شده - پیاده سازی Maximum Sum Subarray with length in given range - Implementation

دکه Deque

جدول هش Hash Table

  • مقدمه ای بر جدول هش Introduction to Hash Table

  • جدول هش - پیاده سازی Hash Table - Implementation

  • Unordered_Map Unordered_Map

  • Unordered_Set Unordered_Set

  • تعداد جفت مجموع داده شده Number of Pairs of Given Sum

  • یادداشت باج Ransom Note

  • من لوتو را بردم! مشکل I won the Loto! Problem

  • تعداد مقادیر متمایز Number Of Distinct Values

  • من لوتو را بردم! - پیاده سازی شماره 1 I won the Loto! - Implementation #1

  • تعداد مقادیر متمایز - راه حل 2 Number Of Distinct Values - Solution 2

  • من لوتو را بردم! - پیاده سازی شماره 2 I won the Loto! - Implementation #2

جدول هش Hash Table

Hash & Sets - پیشرفته Hash & Sets - Advanced

  • من لوتو را بردم! مسئله I won the Loto! Problem

  • من لوتو را بردم! - پیاده سازی شماره 1 I won the Loto! - Implementation #1

  • من لوتو را بردم! - پیاده سازی شماره 2 I won the Loto! - Implementation #2

  • هتل هیلبرت - بیانیه Hilbert's Hotel - Statement

  • هتل هیلبرت - راه حل شماره 1 Hilbert's Hotel - Solution #1

  • هتل هیلبرت - راه حل شماره 2 Hilbert's Hotel - Solution #2

Hash & Sets - پیشرفته Hash & Sets - Advanced

پشته Heap

  • مقدمه ای بر Heap Introduction to Heap

  • درج یک گره Inserting a Node

  • حذف ریشه Removing the Root

  • پیچیدگی زمانی Time Complexity

  • Priority_Queue Priority_Queue

  • طناب ها را با حداقل هزینه وصل کنید Connect the ropes with minimum cost

  • اتصال طناب ها با حداقل هزینه - اجرا Connect the ropes with minimum cost - Implementation

پشته Heap

حریص Greedy

  • مقدمه ای بر حریص Introduction to Greedy

  • مشکل کوله پشتی Knapsack Problem

  • مشکل کوله پشتی - پیاده سازی Knapsack Problem - Implementation

  • مشکل انتخاب فعالیت Activity Selection Problem

  • انتخاب فعالیت - اجرا Activity Selection - Implementation

  • مشکل حداقل تعداد پلتفرم ها Minimum Number of Platforms Problem

  • حداقل تعداد پلتفرم ها - پیاده سازی Minimum Number of Platforms - Implementation

  • هیولاها را بکش! Kill the monsters!

  • هیولاها را بکش! - پیاده سازی Kill the monsters! - Implementation

  • مشکل حداقل تعداد قایق Minimum Number of Boats Problem

  • حداقل تعداد قایق - اجرا Minimum Number of Boats - Implementation

حریص Greedy

برنامه نویسی پویا Dynamic Programming

  • مقدمه ای بر برنامه نویسی پویا Introduction to Dynamic Programming

  • فرمول ضد گلوله برای هر مشکل برنامه نویسی پویا Bulletproof Formula for Every Dynamic Programming Problem

  • طولانی ترین دنباله افزایشی - رویکرد Brute Force Longest Increasing Subsequence - Brute Force Approach

  • طولانی ترین دنباله افزایشی - رویکرد بهینه Longest Increasing Subsequence - Optimal Approach

  • طولانی ترین دنباله افزایشی - پیاده سازی Longest Increasing Subsequence - Implementation

  • طولانی ترین دنباله متداول Longest Common Subsequence

  • طولانی ترین دنباله متداول - ساختن راه حل Longest Common Subsequence - Building the Solution

  • مشکل 0/1 کوله پشتی 0/1 Knapsack Problem

  • 0/1 مشکل کوله پشتی - پیاده سازی 0/1 Knapsack Problem - Implementation

  • حداقل فاصله ویرایش Minimum Edit Distance

  • حداقل فاصله ویرایش - پیاده سازی Minimum Edit Distance - Implementation

  • برنامه نویسی پویا - تکالیف Dynamic Programming - Homework

برنامه نویسی پویا Dynamic Programming

درختان Trees

  • درخت متقارن Symmetric Tree

  • بازیابی درخت از Postorder Recover Tree From Postorder

  • LCA در درخت جستجوی باینری LCA in Binary Search Tree

  • Kth کوچکترین عنصر در درخت جستجوی باینری Kth Smallest Element in Binary Search Tree

  • پیمایش postorder درخت دودویی Binary Tree Postorder Traversal

  • پیمایش postorder درخت باینری - راه حل شماره 2 - قسمت 1 Binary Tree Postorder Traversal - Solution #2 - Part 1

  • Traversal Postorder Tree Binary Tree - Solution 2 - Part 2 Binary Tree Postorder Traversal - Solution 2 - Part 2

  • آرایه مرتب شده را به BST تبدیل کنید Convert Sorted Array to BST

درختان Trees

نمودارها Graphs

  • Word Ladder - راه حل 1 Word Ladder - Solution 1

  • Word Ladder - Solution 2 - Part 1 Word Ladder - Solution 2 - Part 1

  • Word Ladder - Solution 2 - Part 2 Word Ladder - Solution 2 - Part 2

  • Word Ladder - Solution 3 - Part 1 Word Ladder - Solution 3 - Part 1

  • Word ladder - راه حل 3 - قسمت 2 Word ladder - Solution 3 - Part 2

  • تعداد جزایر - راه حل 1 - قسمت 1 Number Of Islands - Solution 1 - Part 1

  • تعداد جزایر - راه حل 1 - قسمت 2 Number Of Islands - Solution 1 - Part 2

  • ماتریس 01 01 Matrix

نمودارها Graphs

جایزه برنامه نویسی رقابتی BONUS Competitive Programming

  • وظیفه شماره 1 Task #1

  • وظیفه شماره 2 Task #2

جایزه برنامه نویسی رقابتی BONUS Competitive Programming

BONUS مصاحبه کدنویسی BONUS Coding Interviews

  • وظیفه شماره 1 Task #1

  • وظیفه شماره 2 Task #2

  • وظیفه شماره 3 Task #3

BONUS مصاحبه کدنویسی BONUS Coding Interviews

نمایش نظرات

کتاب مقدس مصاحبه های برنامه نویسی و کدگذاری رقابتی
جزییات دوره
23 hours
150
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
12,385
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Andrei Chiriac Andrei Chiriac

مدرس برنامه نویسی رقابتی و مصاحبه های فنی