آموزش دوره کامل ساختارهای داده و الگوریتم ها در پایتون

The Complete Data Structures and Algorithms Course in Python

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

به ساختارهای داده و الگوریتم‌های کامل در بوت کمپ پایتون، مدرن‌ترین و کامل‌ترین دوره آموزشی ساختارهای داده و الگوریتم‌ها در پایتون در اینترنت، خوش آمدید.

در بیش از 40 ساعت، این جامع ترین دوره آنلاین است که به شما کمک می کند تا در مصاحبه های کدنویسی خود ادامه دهید و در مورد ساختارهای داده و الگوریتم ها در پایتون بیاموزید. بیش از 100 سوال مصاحبه انجام شده در شرکت‌های برتر فناوری مانند اپل، آمازون، گوگل و مایکروسافت و نحوه مواجهه با مصاحبه‌ها با مطالب ویدئویی توضیحی بصری جامع را مشاهده خواهید کرد که شما را به رسیدن به شغل فناوری رویاهایتان نزدیک‌تر می‌کند!

یادگیری پایتون یکی از سریع‌ترین راه‌ها برای بهبود چشم‌انداز شغلی شماست، زیرا یکی از پرطرفدارترین مهارت‌های فنی است! این دوره به شما در درک بهتر جزئیات ساختارهای داده و نحوه پیاده سازی الگوریتم ها در زبان برنامه نویسی سطح بالا کمک می کند.

ما شما را گام به گام از طریق آموزش های ویدئویی جذاب راهنمایی می کنیم و هر آنچه را که برای موفقیت به عنوان یک برنامه نویس حرفه ای نیاز دارید به شما آموزش می دهیم.

پس از اتمام این دوره، شما قادر خواهید بود:

تکنیک های الگوریتمی اولیه مانند الگوریتم های حریص، جستجوی دودویی، مرتب سازی و برنامه نویسی پویا را برای حل چالش های برنامه نویسی بیاموزید.

نقاط قوت و ضعف انواع ساختارهای داده را بیاموزید تا بتوانید بهترین ساختار داده را برای داده ها و برنامه های خود انتخاب کنید

بسیاری از الگوریتم‌هایی را که معمولاً برای مرتب‌سازی داده‌ها استفاده می‌شوند، بیاموزید، بنابراین برنامه‌های شما هنگام مرتب‌سازی مجموعه‌های داده بزرگ کارآمد خواهند بود

با نحوه اعمال الگوریتم‌های گراف و رشته‌ای برای حل چالش‌های دنیای واقعی آشنا شوید: یافتن کوتاه‌ترین مسیرها روی نقشه‌های عظیم و جمع‌آوری ژنوم از میلیون‌ها قطعه.


چرا این دوره بسیار خاص و متفاوت از سایر منابع موجود آنلاین است؟


این دوره شما را از ابتدا به موضوعات بسیار پیچیده و پیشرفته در درک ساختارهای داده و الگوریتم ها می برد!

شما سخنرانی‌های ویدیویی را دریافت خواهید کرد که مفاهیم را به وضوح با توضیحات تصویری جامع در طول دوره توضیح می‌دهند.

همچنین سؤالات مصاحبه انجام شده در شرکت های فناوری برتر مانند Apple، Amazon، Google و Microsoft را مشاهده خواهید کرد.

من همه آنچه را که باید در مورد فرآیند مصاحبه فنی بدانید را پوشش می دهم!


پس آیا شما علاقه مند به یادگیری عمیق زبان برنامه نویسی برتر در جهان هستید

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


و این چیزی است که با ثبت نام امروز بدست می آورید:


دسترسی مادام العمر به بیش از 40 ساعت ویدیو با کیفیت HD. بدون اشتراک ماهانه هر زمان که بخواهید با سرعت خودتان بیاموزید

هر زمان که سؤالی دارید یا گیر می‌افتید، در دوره Q A پشتیبانی دوستانه و سریع داشته باشید

ضمانت بازگشت کامل وجه به مدت 30 روز!


این دوره برای چه کسانی است؟

برنامه نویسان خودآموخته ای که دانش پایه در پایتون دارند و می خواهند در ساختارهای داده و الگوریتم ها حرفه ای باشند و شروع به مصاحبه در موقعیت های فنی کنند!

و همچنین دانشجویانی که در حال حاضر در حال تحصیل در علوم کامپیوتر هستند و مطالب تکمیلی در مورد ساختار داده ها و الگوریتم ها و آماده سازی مصاحبه برای بعد از فارغ التحصیلی می خواهند!

و همچنین برنامه نویسان حرفه ای که برای مصاحبه های برنامه نویسی آتی به تمرین نیاز دارند.

و در نهایت هر کسی که علاقه مند به یادگیری بیشتر در مورد ساختارهای داده و الگوریتم ها یا فرآیند مصاحبه فنی است!

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

موضوعاتی که در این دوره پوشش داده شده است.

بخش 1 - مقدمه

  • ساختارهای داده چیست؟

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

  • چرا ساختارها و الگوریتم‌های داده مهم هستند؟

  • انواع ساختارهای داده

  • انواع الگوریتم

بخش 2 - بازگشت

  • بازگشت چیست؟

  • چرا به بازگشت نیاز داریم؟

  • بازگشت چگونه کار می کند؟

  • راه حل های بازگشتی در مقابل راه حل های تکراری

  • چه زمانی باید از بازگشت استفاده کرد/اجتناب کرد؟

  • چگونه Recursion را در 3 مرحله بنویسیم؟

  • چگونه اعداد فیبوناچی را با استفاده از Recursion پیدا کنیم؟

بخش 3 - کرک کردن سوالات مصاحبه بازگشتی

  • سوال 1 - مجموع ارقام

  • سوال 2 - قدرت

  • سوال 3 - بزرگترین مقسوم علیه مشترک

  • سؤال 4 - اعشاری به باینری

بخش 4 - پاداش چالش برانگیز مشکلات بازگشتی (تمرینات)

  • قدرت

  • فاکتوریل

  • productofArray

  • محدوده بازگشتی

  • فیب

  • معکوس

  • پالیندروم است

  • someRecursive

  • صاف کردن

  • captalizeFirst

  • nestedEvenSum

  • بزرگ کردن Words

  • stringifyNumbers

  • collectStrings

بخش 5 - نماد O بزرگ

  • قیاس و پیچیدگی زمانی

  • Big O، Big Theta و Big Omega

  • نمونه‌های پیچیدگی زمانی

  • پیچیدگی فضا

  • ثابت ها و اصطلاحات غیر غالب را کنار بگذارید

  • افزودن در مقابل ضرب

  • چگونه با استفاده از Big O کدها را اندازه گیری کنیم؟

  • چگونه پیچیدگی زمانی تماس های بازگشتی را پیدا کنیم؟

  • چگونه الگوریتم های بازگشتی را که چندین تماس برقرار می کنند اندازه گیری کنیم؟

بخش 6 - 10 سوال بزرگ مصاحبه (آمازون، فیس بوک، اپل و مایکروسافت)

  • محصول و جمع

  • جفت چاپ

  • جفت های نامرتب را چاپ کنید

  • آرایه‌های جفت نامرتب 2 را چاپ کنید

  • چاپ بدون ترتیب جفت 2 آرایه 100000 واحد

  • معکوس

  • O(N) معادل‌ها

  • پیچیدگی فاکتوریل

  • پیچیدگی فیبوناچی

  • قدرت های 2

بخش 7 - آرایه ها

  • آرایه چیست؟

  • انواع آرایه

  • آرایه ها در حافظه

  • یک آرایه ایجاد کنید

  • عملیات درج

  • عملیات پیمایش

  • دسترسی به عنصر آرایه

  • جستجوی یک عنصر در آرایه

  • حذف یک عنصر از آرایه

  • پیچیدگی زمانی و مکانی آرایه تک بعدی

  • تمرین آرایه تک بعدی

  • ایجاد آرایه دو بعدی

  • درج - آرایه دو بعدی

  • دسترسی به عنصری از آرایه دو بعدی

  • پیمایش - آرایه دو بعدی

  • جستجوی یک عنصر در آرایه دو بعدی

  • حذف - آرایه دو بعدی

  • پیچیدگی زمانی و مکانی آرایه دو بعدی

  • زمان استفاده/اجتناب از آرایه

بخش 8 - فهرست های پایتون

  • فهرست چیست؟ چگونه آن را ایجاد کنیم؟

  • دسترسی/پیمایش یک لیست

  • به روز رسانی/درج یک لیست

  • برش/از فهرست

  • جستجوی یک عنصر در فهرست

  • لیست عملیات/توابع

  • فهرست ها و رشته ها

  • فهرست متداول تله‌ها و راه‌های اجتناب از آنها

  • لیست ها در مقابل آرایه ها

  • پیچیدگی زمانی و مکانی فهرست

  • فهرست سوالات مصاحبه

بخش 9 - شکستن آرایه/فهرست سوالات مصاحبه (آمازون، فیسبوک، اپل و مایکروسافت)

  • سؤال 1 - شماره گمشده

  • سوال 2 - جفت

  • سوال 3 - پیدا کردن عدد در آرایه

  • سؤال 4 - حداکثر حاصلضرب دو int

  • سوال 5 - منحصر به فرد است

  • سؤال 6 - جایگشت

  • سؤال 7 - چرخش ماتریس

بخش 10 - آرایه/فهرست چالش‌برانگیز مسائل (تمرین‌ها)

  • عملکرد میانی

  • فهرست های دو بعدی

  • بهترین امتیاز

  • عدد وجود ندارد

  • شماره تکراری

  • جفت

بخش 11 - دیکشنری ها

  • فرهنگ لغت چیست؟

  • یک فرهنگ لغت ایجاد کنید

  • فرهنگ لغت در حافظه

  • یک عنصر را در فرهنگ لغت درج/به‌روزرسانی کنید

  • از یک فرهنگ لغت عبور کنید

  • یک عنصر را در فرهنگ لغت جستجو کنید

  • حذف/حذف یک عنصر از فرهنگ لغت

  • روش های دیکشنری

  • عملیات دیکشنری/توابع داخلی

  • فرهنگ لغت در مقابل فهرست

  • پیچیدگی زمانی و مکانی یک فرهنگ لغت

  • سوالات مصاحبه دیکشنری

بخش 12 - تاپل ها

  • تاپل چیست؟ چگونه آن را ایجاد کنیم؟

  • Tuples در حافظه/دسترسی به عنصر Tuple

  • پیمودن یک تاپل

  • یک عنصر را در Tuple جستجو کنید

  • عملیات/توابع چندگانه

  • Tuple vs List

  • پیچیدگی زمانی و مکانی تاپل ها

  • سوالات چندگانه

بخش 13 - فهرست پیوندی

  • فهرست پیوندی چیست؟

  • فهرست پیوند شده در مقابل آرایه ها

  • انواع فهرست پیوندی

  • فهرست پیوند شده در حافظه

  • ایجاد فهرست پیوندی منفرد

  • درج در لیست پیوندهای منفرد در حافظه

  • درج در الگوریتم لیست پیوندی واحد

  • روش درج در فهرست پیوندی منفرد

  • پیمایش فهرست پیوندی منفرد

  • یک مقدار را در فهرست پیوندی واحد جستجو کنید

  • حذف گره از لیست پیوندی منفرد

  • روش حذف در فهرست پیوندی منفرد

  • حذف کل لیست پیوندی منفرد

  • پیچیدگی زمانی و مکانی فهرست پیوندی منفرد

بخش 14 - فهرست پیوندی دایره ای

  • ایجاد فهرست دایره ای به صورت تک پیوندی

  • درج در فهرست دایره‌ای تک پیوندی

  • الگوریتم درج در فهرست دایره ای تک پیوندی

  • روش درج در فهرست حلقه‌ای پیوند شده

  • پیمایش فهرست پیوندی دایره ای

  • جستجوی یک گره در فهرست پیوندی دایره‌ای

  • حذف یک گره از فهرست پیوندی دایره ای

  • الگوریتم حذف در فهرست دایره ای تک پیوندی

  • روش در فهرست دایره‌ای تک پیوندی

  • حذف کل فهرست حلقه‌ای پیوند شده

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

بخش 15 - فهرست پیوندی دوگانه

  • ایجاد فهرست پیوندی دوگانه

  • درج در فهرست پیوندی دوگانه

  • الگوریتم درج در فهرست پیوندی دوگانه

  • روش درج در فهرست پیوندی دوگانه

  • پیمایش فهرست پیوندی دوگانه

  • پیمایش معکوس فهرست پیوندی دوگانه

  • جستجوی یک گره در لیست پیوندی دوگانه

  • حذف یک گره در لیست پیوندی دوگانه

  • الگوریتم حذف در فهرست پیوندی دوگانه

  • روش حذف در فهرست پیوندی دوگانه

  • حذف کل لیست دارای پیوند دوگانه

  • پیچیدگی زمانی و مکانی فهرست پیوندی دوگانه

بخش 16 - فهرست دایره ای پیوند شده

  • ایجاد فهرست دایره ای با پیوند دوگانه

  • درج در فهرست دایره‌ای با پیوند دوگانه

  • الگوریتم درج در فهرست دایره ای با پیوند دوگانه

  • روش درج در فهرست دایره‌ای با پیوند دوگانه

  • پیمایش فهرست دایره ای دارای پیوند دوگانه

  • پیمایش معکوس فهرست دایره‌ای با پیوند دوگانه

  • یک گره را در لیست دایره‌ای دارای پیوند دوگانه جستجو کنید

  • یک گره را از فهرست پیوندی دایره ای دایره ای حذف کنید

  • الگوریتم حذف در فهرست دایره ای با پیوند دوگانه

  • روش حذف در فهرست دایره‌ای با پیوند دوگانه

  • کل فهرست دایره‌ای پیوندی دوگانه

  • پیچیدگی زمانی و مکانی فهرست دایره ای پیوندی دوگانه

  • پیچیدگی زمانی فهرست پیوندی در مقابل آرایه ها

بخش 17 - شکستن سوالات مصاحبه لیست پیوندی (آمازون، فیس بوک، اپل و مایکروسافت)

  • کلاس فهرست پیوندی

  • سؤال 1 - حذف Dups

  • سؤال 2 - بازگشت Kth به آخرین

  • سوال 3 - پارتیشن

  • سؤال 4 - مجموع لیست های مرتبط

  • سؤال 5 - تقاطع

بخش 18 - پشته

  • پشته چیست؟

  • عملیات پشته

  • پشته را با استفاده از لیست بدون محدودیت اندازه ایجاد کنید

  • عملیات روی پشته با استفاده از فهرست (فشار، پاپ، پیک، isEmpty، )

  • ایجاد پشته با محدودیت (pop، push، peek، isFull، isEmpty، )

  • پشته را با استفاده از فهرست پیوندی ایجاد کنید

  • عملیات روی پشته با استفاده از لیست پیوندی (پاپ، فشار، پیک، isEmpty، )

  • پیچیدگی زمانی و مکانی پشته با استفاده از فهرست پیوندی

  • زمان استفاده/اجتناب از پشته

  • آزمایش پشته

بخش 19 - صف

  • Queue چیست؟

  • صف با استفاده از فهرست پایتون - بدون محدودیت اندازه

  • صف با استفاده از فهرست Python - بدون محدودیت اندازه، عملیات (enqueue، dequeue، peek)

  • صف دایره ای - فهرست پایتون

  • صف دایره ای - لیست پایتون، عملیات (صف، صف، زیرچشمی، )

  • صف - فهرست پیوندی

  • صف - لیست پیوندی، عملیات (ایجاد، در صف)

  • صف - لیست پیوندی، عملیات (Dequeue()، isEmpty، Peek)

  • پیچیدگی زمانی و مکانی صف با استفاده از فهرست پیوندی

  • لیست در مقابل پیاده‌سازی فهرست پیوندی

  • ماژول مجموعه ها

  • ماژول صف

  • ماژول پردازش چندگانه

بخش 20 - سؤالات مصاحبه پشته و صف (آمازون، فیس بوک، اپل، مایکروسافت)

  • سوال 1 - سه در یک

  • سوال 2 - حداقل پشته

  • سؤال 3 - پشته بشقاب

  • سؤال 4 - صف از طریق پشته ها

  • سوال 5 - پناهگاه حیوانات

بخش 21 - درخت/درخت دودویی

  • درخت چیست؟

  • چرا درخت؟

  • اصطلاحات درختی

  • چگونه یک درخت پایه در پایتون ایجاد کنیم؟

  • درخت دودویی

  • انواع درخت باینری

  • نمایش درخت دودویی

  • درخت باینری (فهرست پیوندی) ایجاد کنید

  • درخت دودویی پیمایش پیش‌سفارش (فهرست پیوند شده)

  • درخت باینری پیمایش InOrder (فهرست پیوند شده)

  • درخت دودویی پیمایش PostOrder (فهرست پیوند شده)

  • درخت باینری پیمایش LevelOrder (فهرست پیوند شده)

  • جستجوی یک گره در درخت دودویی (فهرست پیوندی)

  • درج یک گره در درخت باینری (فهرست پیوندی)

  • یک گره را از درخت دودویی (فهرست پیوند شده) حذف کنید

  • حذف کل درخت باینری (فهرست پیوند شده)

  • درخت باینری (فهرست پایتون) ایجاد کنید

  • درج درخت دودویی (فهرست پایتون) را وارد کنید

  • یک گره را در Binary Tree (فهرست پایتون) جستجو کنید

  • درخت باینری پیمایش پیش سفارش (فهرست پایتون)

  • درخت باینری پیمایش InOrder (فهرست پایتون)

  • درخت باینری پیمایش PostOrder (فهرست پایتون)

  • درخت باینری پیمایش ترتیب سطح (فهرست پایتون)

  • یک گره را از درخت دودویی (فهرست پایتون) حذف کنید

  • کل درخت باینری (فهرست پایتون)

  • لیست پیوند شده در مقابل درخت باینری فهرست پایتون

بخش 22 - درخت جستجوی باینری

  • درخت جستجوی باینری چیست؟ چرا به آن نیاز داریم؟

  • یک درخت جستجوی باینری ایجاد کنید

  • درج یک گره در BST

  • Traverse BST

  • جستجو در BST

  • یک گره را از BST حذف کنید

  • حذف کل BST

  • پیچیدگی زمانی و مکانی BST

بخش 23 - درخت AVL

  • درخت AVL چیست؟

  • چرا AVL Tree؟

  • عملیات متداول در درختان AVL

  • یک گره را در AVL (شرایط چپ چپ) وارد کنید

  • یک گره را در AVL (شرایط چپ راست) وارد کنید

  • یک گره در AVL (شرایط راست راست) وارد کنید

  • یک گره را در AVL (شرایط راست چپ) وارد کنید

  • یک گره را در AVL وارد کنید (همه با هم)

  • درج یک گره در AVL (روش)

  • یک گره را از AVL (LL، LR، RR، RL) حذف کنید

  • یک گره را از AVL (همه با هم) حذف کنید

  • یک گره را از AVL (روش) حذف کنید

  • حذف کل AVL

  • پیچیدگی زمانی و مکانی درخت AVL

بخش 24 - هیپ باینری

  • هپ باینری چیست؟ چرا به آن نیاز داریم؟

  • عملیات متداول (Creation، Peek، sizeofheap) در Binary Heap

  • درج یک گره در باینری هیپ

  • یک گره را از باینری هیپ استخراج کنید

  • حذف کل هیپ باینری

  • پیچیدگی زمانی و مکانی باینری هیپ

بخش 25 - سعی کنید

  • Trie چیست؟ چرا به آن نیاز داریم؟

  • عملیات رایج در Trie (ایجاد)

  • یک رشته را در Trie وارد کنید

  • یک رشته را در Trie جستجو کنید

  • یک رشته را از Trie حذف کنید

  • استفاده عملی از Trie

بخش 26 - هش کردن

  • هشینگ چیست؟ چرا به آن نیاز داریم؟

  • اصطلاحات هشینگ

  • توابع هش

  • انواع تکنیک های تشخیص برخورد

  • هش جدول پر است

  • مزایا و معایب تکنیک های وضوح تصویر

  • استفاده عملی از هش کردن

  • هش در مقابل سایر ساختارهای داده

بخش 27 - مرتب سازی الگوریتم ها

  • مرتب سازی چیست؟

  • انواع مرتب سازی

  • مرتب سازی اصطلاحات

  • مرتب سازی حبابی

  • مرتب سازی انتخاب

  • مرتب سازی درج

  • مرتب سازی سطلی

  • مرتب سازی ادغام

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

  • مرتب سازی هیپ

  • مقایسه الگوریتم های مرتب سازی

بخش 28 - الگوریتم های جستجو

  • مقدمه ای بر الگوریتم های جستجو

  • جستجوی خطی

  • جستجوی خطی در پایتون

  • جستجوی باینری

  • جستجوی باینری در پایتون

  • پیچیدگی زمانی جستجوی باینری


بخش 29 - الگوریتم های نمودار

  • گراف چیست؟ چرا نمودار؟

  • اصطلاحات نمودار

  • انواع نمودار

  • نمایش نمودار

  • یک نمودار با استفاده از پایتون ایجاد کنید

  • پیمایش نمودار - BFS

  • پیمایش BFS در پایتون

  • پیمایش نمودار - DFS

  • پیمایش DFS در پایتون

  • BFS Traversal در مقابل DFS Traversal

  • مرتب سازی توپولوژیک

  • الگوریتم مرتب سازی توپولوژیک

  • مرتب سازی توپولوژیکی در پایتون

  • مشکل کوتاهترین مسیر تک منبع (SSSPP)

  • BFS برای مشکل کوتاهترین مسیر تک منبع (SSSSPP)

  • BFS برای مشکل کوتاهترین مسیر تک منبع (SSSSPP) در پایتون

  • چرا BFS با نمودارهای وزن دار کار نمی کند؟

  • چرا DFS برای SSSP کار نمی کند؟

  • الگوریتم Dijkstra برای SSSP

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

  • الگوریتم Dijkstra با چرخه منفی

  • الگوریتم بلمن فورد

  • الگوریتم بلمن فورد با چرخه منفی

  • چرا بلمن فورد بار V-1 را اجرا می کند؟

  • بلمن فورد در پایتون

  • BFS vs Dijkstra vs Bellman Ford

  • مشکل همه جفت‌های کوتاه‌ترین مسیر

  • اجرای خشک برای همه جفت‌ترین مسیرها

  • الگوریتم فلوید وارشال

  • چرا فلوید وارشال؟

  • فلوید وارشال با چرخه منفی،

  • فلوید وارشال در پایتون،

  • BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall،

  • حداقل درخت پوشا،

  • مجموعه Disjoint،

  • Disjoint Set در پایتون،

  • الگوریتم کروسکال،

  • الگوریتم کروسکال در پایتون،

  • الگوریتم پریم،

  • الگوریتم پریم در پایتون،

  • Prim's vs Kruskal

بخش 30 - الگوریتم های حریص

  • الگوریتم حریص چیست؟

  • الگوریتم‌های معروف حریص

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

  • مشکل انتخاب فعالیت در پایتون

  • مشکل تغییر سکه

  • مشکل تغییر سکه در پایتون

  • مشکل کسری کوله پشتی

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

بخش 31 - الگوریتم‌های تقسیم و غلبه

  • الگوریتم Divide and Conquer چیست؟

  • الگوریتم‌های رایج تقسیم و تسخیر

  • چگونه سری های فیبوناچی را با استفاده از روش تقسیم و غلبه حل کنیم؟

  • عامل عدد

  • فاکتور عدد در پایتون

  • دزد خانه

  • مشکل دزد خانه در پایتون

  • یک رشته را به رشته دیگر تبدیل کنید

  • یک رشته را در پایتون به رشته دیگر تبدیل کنید

  • مشکل Zero One Knapsack

  • مشکل Zero One Knapsack در پایتون

  • طولانی ترین مشکل توالی رایج

  • طولانی ترین زیر دنباله رایج در پایتون

  • طولانی ترین مشکل فرعی پالیندرومیک

  • طولانی ترین زیر دنباله پالیندرومیک در پایتون

  • حداقل هزینه برای رسیدن به مشکل آخرین سلول

  • حداقل هزینه برای رسیدن به آخرین سلول در آرایه دو بعدی با استفاده از پایتون

  • تعداد راه برای رسیدن به آخرین سلول با هزینه داده شده

  • تعداد راه برای رسیدن به آخرین سلول با هزینه داده شده در پایتون

بخش 32 - برنامه نویسی پویا

  • برنامه نویسی پویا چیست؟ (ویژگی همپوشانی)

  • نام DC از کجا آمده است؟

  • از بالا به پایین با حافظه‌گذاری

  • پایین به بالا با جدول بندی

  • بالا به پایین در مقابل پایین به بالا

  • آیا Merge Sort برنامه نویسی پویا است؟

  • مشکل فاکتور عددی با استفاده از برنامه نویسی پویا

  • ضریب عدد: از بالا به پایین و پایین به بالا

  • مشکل دزد خانه با استفاده از برنامه نویسی پویا

  • دزد خانه: از بالا به پایین و پایین به بالا

  • یک رشته را با استفاده از برنامه نویسی پویا به رشته دیگر تبدیل کنید

  • تبدیل رشته با استفاده از پایین به بالا

  • Zero One Knapsack با استفاده از برنامه نویسی پویا

  • صفر یک کوله پشتی - از بالا به پایین

  • صفر یک کوله پشتی - پایین به بالا

بخش 33 - مسائل چالش برانگیز برنامه نویسی پویا

  • طولانی ترین مشکل طول بعدی تکراری

  • طولانی ترین مشکل متداول طول بعدی

  • طولانی ترین مشکل متداول بعدی

  • Diff Utility

  • کوتاهترین مشکل متداول بعدی

  • طول طولانی ترین زیر توالی پالیندرومیک

  • مشکل جمع زیر مجموعه

  • پازل ریختن تخم مرغ

  • حداکثر طول زنجیره جفت

بخش 34 - دستور العملی برای حل مسئله

  • مقدمه

  • مرحله 1 - مشکل را درک کنید

  • مرحله 2 - مثال‌ها

  • مرحله 3 - شکستن آن

  • مرحله 4 - حل یا ساده کردن

  • مرحله 5 - به عقب نگاه کنید و Refactor



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

معرفی Introduction

  • بررسی برنامه درسی Curriculum Walkthrough

  • ساختار داده چیست؟ What is a Data Structure?

  • الگوریتم چیست؟ What is an algorithm?

  • چرا ساختار داده ها و الگوریتم ها مهم هستند؟ Why are Data Structures and Algorithms important?

  • انواع ساختارهای داده Types of Data Structures

  • انواع الگوریتم ها Types of Algorithms

  • برنامه نویسی پایتون برای همه Python Programming For Everyone

  • مقدمه ای بر DS و الگوریتم ها Introduction to DS and Algorithms

  • جامعه دانشجویی Student Community

  • یادداشت های سخنرانی Lecture Notes

  • ویرایشگر کد Code Editor

بازگشت Recursion

  • بازگشت چیست؟ What is Recursion?

  • چرا به بازگشت نیاز داریم؟ Why do we need recursion?

  • بازگشت چگونه کار می کند؟ How Recursion works?

  • راه حل های بازگشتی در مقابل راه حل های تکراری Recursive vs Iterative Solutions

  • چه زمانی از Recursion استفاده کنیم/اجتناب کنیم؟ When to use/avoid Recursion?

  • چگونه Recursion را در 3 مرحله بنویسیم؟ How to write Recursion in 3 steps?

  • چگونه اعداد فیبوناچی را با استفاده از Recursion پیدا کنیم؟ How to find Fibonacci numbers using Recursion?

  • چگونه پیچیدگی زمانی تماس های بازگشتی را پیدا کنیم؟ How to find time complexity for Recursive calls?

  • منابع را دانلود کنید Download the Resources

  • چگونه الگوریتم های بازگشتی را که چندین تماس برقرار می کنند اندازه گیری کنیم؟ How to measure Recursive Algorithms that make multiple calls?

  • زمان بازخورد Feedback Time

کرک کردن سوالات مصاحبه بازگشتی Cracking Recursion Interview Questions

  • سوال 1 - مجموع ارقام Question 1 - Sum of Digits

  • سوال 2 - قدرت Question 2 - Power

  • سوال 3 - بزرگترین مقسوم علیه Question 3 - Greatest Common Divisor

  • سوال 4 - اعشاری به باینری Question 4 - Decimal To Binary

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

پاداش چالش برانگیز مشکلات بازگشت Bonus CHALLENGING Recursion Problems

  • یادداشت مهم! Important Note!

  • قدرت power

  • فاکتوریل factorial

  • محصول آرایه productofArray

  • محدوده بازگشتی recursiveRange

  • فیب fib

  • راه حل ها قسمت 1 SOLUTIONS PART 1

  • معکوس reverse

  • پالیندروم است isPalindrome

  • someRecursive someRecursive

  • صاف کردن flatten

  • راه حل ها قسمت 2 SOLUTIONS PART 2

  • captalizeFirst captalizeFirst

  • nestedEvenSum nestedEvenSum

  • بزرگ کردن کلمات capitalizeWords

  • stringifyNumbers stringifyNumbers

  • collectStrings collectStrings

  • راه حل بخش 2 SOLUTION PART 2

  • منابع را دانلود کنید Download the Resources

نماد O بزرگ Big O Notation

  • Big O چیست؟ What is Big O?

  • نمادهای Big O - تتا، امگا و Big O Big O Notations - Theta , Omega and Big O

  • Big O - O (1) Big O - O(1)

  • Big O - O(N) Big O - O(N)

  • رها کردن ثابت ها Drop Constants

  • Big O - O (n^2) Big O - O(n^2)

  • اصطلاحات غیر غالب را کنار بگذارید Drop Non Dominant Terms

  • Big O - O (logN) Big O - O(logN)

  • پیچیدگی فضا Space Complexity

  • شرایط مختلف برای ورودی - افزودن در مقابل ضرب Different Terms for Input - Add vs Multiply

  • چگونه با استفاده از Big O کدها را اندازه گیری کنیم؟ How to measure the codes using Big O?

  • چگونه پیچیدگی زمانی تماس های بازگشتی را پیدا کنیم؟ How to find time complexity for Recursive calls?

  • چگونه الگوریتم های بازگشتی را که چندین تماس برقرار می کنند اندازه گیری کنیم؟ How to measure Recursive Algorithms that make multiple calls?

  • پیچیدگی های زمانی Time Complexities

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

10 سوال برتر مصاحبه بزرگ O (آمازون، فیس بوک، اپل و مایکروسافت) Top 10 Big O Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • سوال 1 - محصول و جمع Question 1 - Product and Sum

  • سوال 2 - جفت چاپ Question 2 - Print Pairs

  • سوال 3 - جفت های نامرتب را چاپ کنید Question 3 - Print Unordered Pairs

  • سوال 4 - پرینت جفت نامرتب 2 آرایه Question 4 - Print Unordered Pairs 2 Arrays

  • سوال 5 - چاپ جفت نامرتب 2 آرایه 100000 واحد Question 5 - Print Unordered Pairs 2 Arrays 100000 Units

  • سوال 6 - معکوس Question 6 - Reverse

  • سوال 7 - معادل های O(N). Question 7 - O(N) Equivalents

  • سوال 8 - پیچیدگی فاکتوریل Question 8 - Factorial Complexity

  • سوال 9 - پیچیدگی فیبوناچی Question 9 - Fibonacci Complexity

  • سوال 10 - توان های 2 Question 10 - Powers of 2

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

آرایه/فهرست - تمرینات کدگذاری - LeetCode - کرک کردن FAANG سوالات مصاحبه Array/List - CODING EXERCISES - LeetCode - Cracking FAANG Interview Questions

  • شماره گم شده Missing Number

  • راه حل شماره گم شده Solution to Missing Number

  • توضیح شماره موجود نیست Missing Number Explanation

  • جفت/دو جمع - LeetCode 1 Pairs / Two Sum - LeetCode 1

  • راه حل LeetCode LeetCode Solution

  • پیدا کردن یک عدد در یک آرایه Finding a number in an Array

  • حداکثر محصول دو عدد صحیح Max Product of Two Integers

  • راه حل - زمان و مکان پیچیدگی حداکثر محصول دو عدد صحیح SOLUTION - Time and Space Complexity of Max Product of Two Integers

  • عملکرد میانی Middle Function

  • راه حل - پیچیدگی زمانی و مکانی تابع میانی SOLUTION - Time and Space Complexity of Middle Function

  • لیست های دو بعدی 2D Lists

  • راه حل - زمان و مکان پیچیدگی لیست های دو بعدی SOLUTION - Time and Space Complexity of 2D Lists

  • بهترین امتیاز Best Score

  • راه حل - زمان و مکان پیچیدگی بهترین امتیاز SOLUTION - Time and Space Complexity of Best Score

  • شماره تکراری Duplicate Number

  • راه حل - زمان و مکان پیچیدگی شماره تکراری SOLUTION - Time and Space Complexity of Duplicate Number

  • جفت Pairs

  • راه حل - زمان و مکان پیچیدگی جفت ها SOLUTION - Time and Space Complexity of Pairs

  • حاوی تکراری Contains Duplicate

  • راه حل - زمان و مکان پیچیدگی شامل تکراری است SOLUTION - Time and Space Complexity of Contains Duplicate

  • جایگشت Permutation

  • چرخش ماتریس/تصویر - LeetCode 48 Rotate Matrix/ Image - LeetCode 48

  • راه حل - زمان و مکان پیچیدگی چرخش ماتریس/تصویر SOLUTION - Time and Space Complexity of Rotate Matrix/Image

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

آرایه ها Arrays

  • آرایه چیست؟ What is an Array?

  • انواع آرایه Types of Array

  • آرایه ها در حافظه Arrays in Memory

  • یک آرایه ایجاد کنید Create an Array

  • عملیات درج Insertion Operation

  • درج در آرایه Insertion to Array

  • عملیات پیمایش Traversal Operation

  • دسترسی به عنصری از آرایه Accessing an element of Array

  • جستجوی یک عنصر در آرایه Searching for an element in Array

  • حذف یک عنصر از آرایه Deleting an element from Array

  • پیچیدگی زمانی و مکانی آرایه یک بعدی Time and Space Complexity of One Dimensional Array

  • پیچیدگی زمانی و مکانی آرایه یک بعدی Time and Space complexity of One Dimensional Array

  • تمرین آرایه یک بعدی One Dimensional Array Practice

  • ایجاد آرایه دو بعدی Create Two Dimensional Array

  • درج - آرایه دو بعدی Insertion - Two Dimensional Array

  • دسترسی به عنصری از آرایه دو بعدی Accessing an element of Two Dimensional Array

  • پیمایش - آرایه دو بعدی Traversal - Two Dimensional Array

  • جستجوی یک عنصر در آرایه دو بعدی Searching for an element in Two Dimensional Array

  • حذف - آرایه دو بعدی Deletion - Two Dimensional Array

  • پیچیدگی زمانی و مکانی آرایه دو بعدی Time and Space Complexity of 2D Array

  • پیچیدگی زمانی و مکانی آرایه دو بعدی Time and Space complexity of Two Dimensional Array

  • زمان استفاده/اجتناب از آرایه When to use/avoid array

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

لیست های پایتون Python Lists

  • لیست چیست؟ چگونه آن را ایجاد کنیم؟ What is a List? How to create it?

  • دسترسی/عبور از یک لیست Accessing/Traversing a list

  • به روز رسانی/درج یک لیست Update/Insert a List

  • برش/حذف از فهرست Slice/Delete from a List

  • جستجوی یک عنصر در لیست Searching for an element in a List

  • لیست عملیات/توابع List Operations/Functions

  • لیست ها و رشته ها Lists and strings

  • لیست رایج دام ها و راه های اجتناب از آنها Common List pitfalls and ways to avoid them

  • لیست ها در مقابل آرایه ها Lists vs Arrays

  • زمان و مکان پیچیدگی فهرست Time and Space Complexity of List

  • درک لیست List Comprehension

  • لیست سوالات مصاحبه List Interview Questions

  • درک فهرست مشروط Conditional List Comprehension

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

پروژه 1 - آرایه ها/فهرست ها PROJECT 1 - Arrays/Lists

  • اهداف - آنچه تا پایان این بخش به دست خواهید آورد Goals - what you will make by the end of this section

  • محاسبه دمای متوسط Calculate Average Temperature

  • روزهای بالاتر از میانگین را پیدا کنید Find the Days Above Average Temperature

فرهنگ لغت - تمرینات کدگذاری Dictionary - CODING EXERCISES

  • تعداد دفعات کلمه Count Word Frequency

  • راه حل - زمان و مکان پیچیدگی تعداد دفعات کلمه SOLUTION - Time and Space Complexity of Count Word Frequency

  • کلیدهای مشترک Common Keys

  • راه حل - پیچیدگی زمانی و مکانی کلیدهای مشترک SOLUTION - Time and Space Complexity of Common Keys

  • کلید با بالاترین ارزش Key with the Highest Value

  • راه حل - پیچیدگی زمانی و مکانی کلید با بالاترین ارزش SOLUTION - Time and Space Complexity of Key with the Highest Value

  • جفت های کلید-مقدار معکوس Reverse Key-Value Pairs

  • راه حل - پیچیدگی زمانی و مکانی جفت های کلید-مقدار معکوس SOLUTION - Time and Space Complexity of Reverse Key-Value Pairs

  • فیلتر شرطی Conditional Filter

  • راه حل - پیچیدگی زمانی و مکانی فیلتر شرطی SOLUTION - Time and Space Complexity of Conditional Filter

  • همان فرکانس Same Frequency

  • راه حل - پیچیدگی زمانی و مکانی با همان فرکانس SOLUTION - Time and Space Complexity of Same Frequency

شکستن آرایه/فهرست سوالات مصاحبه (آمازون، فیسبوک، اپل و مایکروسافت) Cracking Array/List Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • سوال 1 - شماره گم شده Question 1 - Missing Number

  • سوال 2 - جفت/دو جمع - LeetCode 1 Question 2 - Pairs / Two Sum - LeetCode 1

  • سوال 3 - پیدا کردن یک عدد در یک آرایه Question 3 - Finding a number in an Array

  • سوال 4 - حداکثر حاصلضرب دو int Question 4 - Max product of two int

  • سوال 5 - منحصر به فرد است/حاوی تکراری است - LeetCode 217 Question 5 - Is Unique / Contains Duplicate - LeetCode 217

  • سوال 6 - جایگشت Question 6 - Permutation

  • سوال 7 - چرخش ماتریس/تصویر - LeetCode 48 Question 7 - Rotate Matrix / Image - LeetCode 48

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

مشکلات آرایه/فهرست چالش برانگیز CHALLENGING Array/List Problems

  • عملکرد میانی Middle Function

  • راه حل تابع میانی Solution to Middle Function

  • لیست های دو بعدی 2D Lists

  • راه حل لیست های دو بعدی Solution to 2D Lists

  • بهترین امتیاز Best Score

  • راه حل بهترین امتیاز Solution to Best Score

  • شماره گم شده Missing Number

  • راه حل شماره گم شده Solution to Missing Number

  • شماره تکراری Duplicate Number

  • راه حل شماره تکراری Solution to Duplicate Number

  • جفت Pairs

  • راه حل برای جفت Solution to Pairs

تاپل - تمرینات کدگذاری Tuple - CODING EXERCISES

  • جمع و محصول Sum and Product

  • راه حل - پیچیدگی زمانی و مکانی مجموع و محصول SOLUTION - Time and Space Complexity of Sum and Product

  • جمع عنصری Elementwise Sum

  • راه حل - پیچیدگی زمانی و مکانی مجموع عنصری SOLUTION - Time and Space Complexity of Elementwise Sum

  • در ابتدا درج کنید Insert at the Beginning

  • راه حل - زمان و مکان پیچیدگی درج در آغاز SOLUTION - Time and Space Complexity of Insert at the Beginning

  • الحاق Concatenate

  • راه حل - زمان و مکان پیچیدگی الحاق SOLUTION - Time and Space Complexity of Concatenate

  • مورب Diagonal

  • راه حل - زمان و مکان پیچیدگی مورب SOLUTION - Time and Space Complexity of Diagonal

  • عناصر مشترک Common Elements

  • راه حل - پیچیدگی زمانی و مکانی عناصر مشترک SOLUTION - Time and Space Complexity of Common Elements

لغت نامه ها Dictionaries

  • دیکشنری چیست؟ What is a Dictionary?

  • یک فرهنگ لغت ایجاد کنید Create a Dictionary

  • فرهنگ لغت در حافظه Dictionaries in memory

  • درج/به روز رسانی یک عنصر در دیکشنری Insert /Update an element in a Dictionary

  • از طریق دیکشنری عبور کنید Traverse through a Dictionary

  • جستجوی یک عنصر در دیکشنری Search for an element in a Dictionary

  • حذف/حذف یک عنصر از دیکشنری Delete/ Remove an element from a Dictionary

  • روش های دیکشنری Dictionary Methods

  • عملیات دیکشنری/توابع ساخته شده Dictionary Operations / Builtin Functions

  • فرهنگ لغت در مقابل فهرست Dictionary vs List

  • پیچیدگی زمانی و مکانی یک فرهنگ لغت Time and Space Complexity of a Dictionary

  • مسابقه دیکشنری Dictionary Quiz

  • درک فرهنگ لغت Dictionary Comprehension

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

مفاهیم OOP - کلاس ها، اشیاء، ویژگی ها و روش ها OOP Concepts - Classes, Objects, Attributes and Methods

  • OOP چیست؟ چرا در این دوره به آن نیاز داریم؟ What is OOP? Why we need it in this course?

  • مفاهیم OOP OOP Concepts

  • ایجاد اشیا و دسترسی به ویژگی ها و روش ها Create Objects and Access Attributes and Methods

  • کلاس ها Classes

  • ویژگی های کلاس Class Attributes

  • روش های کلاس Class Methods

تاپل ها Tuples

  • تاپل چیست؟ چگونه آن را ایجاد کنیم؟ What is a Tuple? How to create it?

  • تاپل ها در حافظه/دسترسی به یک عنصر از Tuple Tuples in Memory / Accessing an element of Tuple

  • عبور از یک تاپل Traversing a Tuple

  • یک عنصر را در Tuple جستجو کنید Search for an element in Tuple

  • عملیات/توابع تاپل Tuple Operations/Functions

  • تاپل در مقابل لیست Tuple vs List

  • پیچیدگی زمانی و مکانی تاپل ها Time and Space complexity of Tuples

  • سوالات تاپل Tuple Questions

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

لیست پیوند شده Linked List

  • لیست پیوندی چیست؟ What is a Linked List?

  • لیست پیوندی در مقابل فهرست ها/آرایه ها Linked List vs Lists/Arrays

  • لیست پیوندی در مقابل آرایه ها Linked List vs Arrays

  • انواع لیست پیوندی Types of Linked List

  • لیست پیوند شده در حافظه Linked List in the Memory

  • سازنده کلاس گره Node Class Constructor

  • ایجاد لیست پیوندی منفرد Creation of Singly Linked List

  • درج در لیست پیوندی منفرد در حافظه Insertion in Singly Linked List in Memory

  • سازنده لیست پیوندی - ایجاد لیست پیوندی منفرد Linked List Constructor - Creation of Singly Linked List

  • درج در الگوریتم لیست پیوندی واحد Insertion in Singly Linked List Algorithm

  • یک عنصر را در انتهای لیست پیوندی منفرد درج کنید - روش الحاق Insert an Element at the end of Singly Linked List - Append method

  • روش درج در لیست پیوندی منفرد Insertion Method in Singly Linked List

  • پیمایش لیست پیوندی منفرد Traversal of Singly Linked List

  • چاپ لیست پیوندی - __str__ Print Linked List - __str__

  • یک عنصر را در ابتدای لیست پیوندی تکی - متد Prepend وارد کنید Insert an Element at the beginning of Singly Linked List - Prepend method

  • یک مقدار را در لیست پیوندی واحد جستجو کنید Search for a value in Single Linked List

  • حذف گره از لیست پیوندی منفرد Deletion of node from Singly Linked List

  • درج روش در لیست پیوندی منفرد Insert Method in Singly Linked List

  • روش حذف در لیست پیوندی منفرد Deletion Method in Singly Linked List

  • روش جستجو در لیست پیوندی منفرد Search Method in Singly Linked List

  • حذف کل لیست پیوندهای منفرد Deletion of entire Singly Linked List

  • دریافت روش در لیست پیوندی منفرد Get Method in Singly Linked List

  • پیچیدگی زمانی و مکانی فهرست پیوندی منفرد Time and Space Complexity of Singly Linked List

  • پیچیدگی زمانی لیست پیوندی در مقابل آرایه ها Time Complexity of Linked List vs Arrays

  • روش را در لیست پیوندی تنظیم کنید Set Method in Singly Linked List

  • منابع را دانلود کنید Download the Resources

  • روش اول پاپ در لیست پیوندی منفرد Pop First Method in Singly Linked List

  • روش پاپ در لیست پیوندی منفرد Pop Method in Singly Linked List

  • زمان بازخورد Feedback Time

  • Remove Method در لیست پیوندی منفرد Remove Method in Singly Linked List

  • تمام گره های لیست پیوندی را حذف کنید Delete All Nodes of Singly Linked List

SLL - تمرین های کدگذاری SLL - CODING EXERCISES

  • ایجاد لیست DS ساده به صورت تک پیوندی Create Simple Singly Linked List DS

  • راه حل برای ایجاد SLL DS Solution to Create SLL DS

  • درج در ابتدای فهرست پیوندی منفرد Insertion at the Beginning of a Singly Linked List

  • راه حل - درج در ابتدای یک لیست پیوندی واحد Solution - Insertion at the Beginning of a Singly Linked List

  • درج در انتهای فهرست پیوندی منفرد Insertion at the End of a Singly Linked List

  • راه حل - درج در انتهای لیست پیوندی منفرد Solution - Insertion at the End of a Singly Linked List

  • حذف از یک لیست پیوندی منفرد Deletion from a Singly Linked List

  • راه حل - حذف از یک لیست پیوندی Solution - Deletion from a Singly Linked List

  • معکوس کردن یک لیست پیوند شده Reverse a Singly Linked List

  • راه حل - معکوس کردن یک لیست پیوندی Solution - Reverse a Singly Linked List

  • وسط یک لیست پیوندی Middle of a Singly Linked List

  • راه حل - وسط لیست پیوند شده Solution - Middle of Singly Linked List

  • موارد تکراری را از فهرست پیوندی منفرد حذف کنید Remove Duplicates from a Singly Linked List

  • راه حل - موارد تکراری را از یک لیست پیوندی جدا کنید Solution - Remove Duplicates from a Singly Linked List

فهرست پیوندی دایره ای Circular Singly Linked List

  • کلاس و روش __iter__ Class and __iter__ method

  • ایجاد فهرست دایره ای به صورت تک پیوندی Creation of Circular Singly Linked List

  • درج در فهرست دایره ای تک پیوندی Insertion in Circular Singly Linked List

  • الگوریتم درج در لیست دایره ای تک پیوندی Insertion Algorithm in Circular Singly Linked List

  • روش درج در لیست دایره ای تک پیوندی Insertion method in Circular Singly Linked List

  • پیمودن لیست دایره ای پیوندی Traversal of Circular Singly Linked List

  • جستجوی یک گره در فهرست حلقه‌ای پیوندی Searching a node in Circular Singly Linked List

  • حذف یک گره از فهرست پیوندی دایره ای Deletion of a node from Circular Singly Linked List

  • الگوریتم حذف در فهرست دایره ای تک پیوندی Deletion Algorithm in Circular Singly Linked List

  • روش حذف در فهرست پیوندی دایره‌ای Singlu Delete Method in Circular Singlu Linked List

  • حذف کل فهرست دایره ای پیوندی Deletion of entire Circular Singly Linked List

  • پیچیدگی زمانی و مکانی فهرست دایره ای تک پیوندی Time and Space Complexity of Circular Singly Linked List

لیست تک پیوندی - سوالات LEETCODE Singly Linked List - LEETCODE Questions

  • دو فهرست پیوندی مرتب شده را ادغام کنید Merge Two Sorted Linked List

  • راه حل - ادغام دو فهرست پیوندی مرتب شده Solution - Merge Two Sorted Linked List

  • موارد تکراری را حذف کنید Remove Duplicates

  • راه حلی برای حذف موارد تکراری Solution to Remove Duplicates

  • عناصر لیست پیوندی را حذف کنید Remove Linked List Elements

  • راه حل حذف عناصر لیست پیوند شده Solution to Remove Linked List Elements

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

  • راه حل معکوس لیست پیوند شده Solution to Reverse Linked List

  • فهرست پیوندی پالیندروم Palindrome Linked List

  • راه حل برای فهرست پیوندی پالیندروم Solution to Palindrome Linked List

  • وسط لیست پیوند شده Middle of the Linked List

  • راه حل وسط لیست پیوندی Solution to Middle of the Linked List

لیست پیوندی دوگانه Doubly Linked List

  • ایجاد لیست پیوندی دوگانه Creation of Doubly Linked List

  • درج در لیست پیوندی مضاعف Insertion in Doubly Linked List

  • الگوریتم درج در لیست پیوندی دوگانه Insertion Algorithm in Doubly Linked List

  • روش درج در لیست پیوندی دوگانه Insertion Method in Doubly Linked List

  • پیمایش لیست پیوندی دوگانه Traversal of Doubly Linked List

  • پیمایش معکوس لیست پیوندی دوگانه Reverse Traversal of Doubly Linked List

  • جستجوی یک گره در لیست پیوندی دوگانه Searching for a node in Doubly Linked List

  • حذف یک گره در لیست پیوندی دوگانه Deletion of a node in Doubly Linked List

  • الگوریتم حذف در لیست پیوندی دوگانه Deletion Algorithm in Doubly Linked List

  • روش حذف در لیست پیوندی دوگانه Deletion Method in Doubly Linked List

  • حذف کل لیست دارای پیوند دوگانه Deletion of entire Doubly Linked List

  • پیچیدگی زمانی و مکانی فهرست پیوندی دوگانه Time and Space Complexity of Doubly Linked List

لیست دایره ای پیوند خورده Circular Doubly Linked List

  • ایجاد فهرست دایره ای با پیوند دوگانه Creation of Circular Doubly Linked List

  • درج در فهرست دایره‌ای با پیوند دوگانه Insertion in Circular Doubly Linked List

  • الگوریتم درج در فهرست دایره‌ای با پیوند دوگانه Insertion Algorithm in Circular Doubly Linked List

  • روش درج در فهرست دایره ای با پیوند دوگانه Insertion Method in Circular Doubly Linked List

  • پیمایش فهرست دایره ای دارای پیوند دوگانه Traversal of Circular Doubly Linked List

  • پیمایش معکوس فهرست دایره ای پیوندی دوگانه Reverse Traversal of Circular Doubly Linked List

  • یک گره را در لیست دایره ای پیوندی دوگانه جستجو کنید Search for a node in Circular Doubly Linked List

  • یک گره را از لیست دایره ای پیوندی دوگانه حذف کنید Delete a node from Circular Doubly Linked List

  • الگوریتم حذف در فهرست دایره‌ای با پیوند دوگانه Deletion Algorithm in Circular Doubly Linked List

  • روش حذف در فهرست دایره ای با پیوند دوگانه Deletion Method in Circular Doubly Linked List

  • کل لیست دایره ای پیوند شده را حذف کنید Delete Entire Circular Doubly Linked List

  • پیچیدگی زمانی و مکانی فهرست دایره ای پیوندی دوگانه Time and Space Complexity of Circular Doubly Linked List

شکستن سوالات مصاحبه لیست پیوندی (آمازون، فیس بوک، اپل و مایکروسافت) Cracking Linked List Interview Questions (Amazon, Facebook, Apple and Microsoft)

  • کلاس لیست پیوندی Linked List Class

  • موارد تکراری را حذف کنید Remove Duplicates

  • سوال 1 - Dups را حذف کنید Question 1 - Remove Dups

  • سوال 2 - Kth را به Last برگردانید Question 2 - Return Kth to Last

  • راه حلی برای حذف موارد تکراری Solution to Remove Duplicates

  • سوال 3 - پارتیشن Question 3 - Partition

  • سوال 4 - جمع لیست های پیوندی Question 4 - Sum Linked Lists

  • سوال 5 - تقاطع Question 5 - Intersection

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

پشته Stack

  • پشته چیست؟ What is a Stack?

  • عملیات پشته Stack Operations

  • پشته را با استفاده از لیست بدون محدودیت اندازه ایجاد کنید Create Stack using List without size limit

  • عملیات روی پشته با استفاده از فهرست (فشار، پاپ، زیرچشمی، خالی است، حذف) Operations on Stack using List (push, pop, peek, isEmpty, Delete)

  • ایجاد پشته با محدودیت (pop، push، peek، isFull، isEmpty، delete) Create Stack with limit (pop, push, peek, isFull, isEmpty, delete)

  • پشته را با استفاده از لیست پیوندی ایجاد کنید Create Stack using Linked List

  • عملیات روی پشته با استفاده از لیست پیوندی (پاپ، فشار، پیک، خالی است، حذف) Operation on Stack using Linked List (pop, push, peek, isEmpty, delete)

  • پیچیدگی زمانی و مکانی پشته با استفاده از لیست پیوندی Time and Space Complexity of Stack using Linked List

  • زمان استفاده/اجتناب از Stack When to use/avoid Stack

  • مسابقه پشته Stack Quiz

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

صف Queue

  • صف چیست؟ What is Queue?

  • صف با استفاده از فهرست پایتون - بدون محدودیت اندازه Queue using Python List - no size limit

  • صف با استفاده از فهرست پایتون - بدون محدودیت اندازه، عملیات (صف، صف، نگاه کردن) Queue using Python List - no size limit , operations (enqueue, dequeue, peek)

  • صف دایره ای - لیست پایتون Circular Queue - Python List

  • صف دایره ای - لیست پایتون، عملیات (صف، صف، زیرچشمی، حذف) Circular Queue - Python List, Operations (enqueue, dequeue, peek, delete)

  • صف - لیست پیوندی Queue - Linked List

  • صف - لیست پیوندی، عملیات (ایجاد، قرار دادن) Queue - Linked List, Operations (Create, Enqueue)

  • صف - لیست پیوندی، عملیات (Dequeue()، isEmpty، Peek) Queue - Linked List, Operations (Dequeue(), isEmpty, Peek)

  • پیچیدگی زمانی و مکانی صف با استفاده از لیست پیوندی Time and Space complexity of Queue using Linked List

  • لیست در مقابل پیاده سازی لیست پیوندی List vs Linked List Implementation

  • ماژول مجموعه ها Collections Module

  • ماژول صف Queue Module

  • ماژول چند پردازشی Multiprocessing module

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

سوالات مصاحبه پشته و صف (آمازون، فیس بوک، اپل، مایکروسافت) Cracking Stack and Queue Interview Questions (Amazon,Facebook, Apple, Microsoft)

  • سوال 1 - سه در یک Question 1 - Three in One

  • سوال 2 - حداقل پشته Question 2 - Stack Minimum

  • سوال 3 - پشته بشقاب Question 3 - Stack of Plates

  • سوال 4 - صف از طریق پشته ها Question 4 - Queue via Stacks

  • سوال 5 - پناهگاه حیوانات Question 5 - Animal Shelter

  • دانلود منابع Download Resources

  • زمان بازخورد Feedback Time

درخت/درخت دودویی Tree / Binary Tree

  • درخت چیست؟ What is a Tree?

  • چرا درخت؟ Why Tree?

  • اصطلاحات درختی Tree Terminology

  • چگونه در پایتون درخت پایه ایجاد کنیم؟ How to create basic tree in Python?

  • درخت دودویی Binary Tree

  • انواع درخت دودویی Types of Binary Tree

  • نمایش درخت دودویی Binary Tree Representation

  • ایجاد درخت باینری (فهرست پیوند شده) Create Binary Tree (Linked List)

  • Preorder Traversal Binary Tree (فهرست پیوند شده) PreOrder Traversal Binary Tree (Linked List)

  • InOrder Traversal Binary Tree (فهرست پیوند شده) InOrder Traversal Binary Tree (Linked List)

  • درخت دودویی پیمایش PostOrder (فهرست پیوند شده) PostOrder Traversal Binary Tree (Linked List)

  • درخت دودویی پیمایش LevelOrder (فهرست پیوندی) LevelOrder Traversal Binary Tree (Linked List)

  • جستجوی یک گره در درخت باینری (فهرست پیوند شده) Searching for a node in Binary Tree (Linked List)

  • درج یک گره در درخت باینری (فهرست پیوندی) Inserting a node in Binary Tree (Linked List)

  • حذف یک گره از درخت باینری (فهرست پیوند شده) Delete a node from Binary Tree (Linked List)

  • حذف کل درخت باینری (فهرست پیوند شده) Delete entire Binary Tree (Linked List)

  • ایجاد درخت باینری (فهرست پایتون) Create Binary Tree (Python List)

  • درج یک درخت باینری ارزش (فهرست پایتون) Insert a value Binary Tree (Python List)

  • جستجوی یک گره در درخت باینری (فهرست پایتون) Search for a node in Binary Tree (Python List)

  • Preorder Traversal Binary Tree (فهرست پایتون) PreOrder Traversal Binary Tree (Python List)

  • InOrder Traversal Binary Tree (فهرست پایتون) InOrder Traversal Binary Tree (Python List)

  • PostOrder Traversal Binary Tree (فهرست پایتون) PostOrder Traversal Binary Tree (Python List)

  • درخت دودویی پیمایش ترتیب سطح (فهرست پایتون) Level Order Traversal Binary Tree (Python List)

  • حذف یک گره از درخت دودویی (فهرست پایتون) Delete a node from Binary Tree (Python List)

  • حذف کل درخت باینری (فهرست پایتون) Delete Entire Binary Tree (Python List)

  • فهرست پیوندی در مقابل درخت باینری فهرست پایتون Linked List vs Python List Binary Tree

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

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

  • درخت جستجوی باینری چیست؟ چرا ما به اون احتیاج داریم؟ What is a Binary Search Tree? Why do we need it?

  • یک درخت جستجوی باینری ایجاد کنید Create a Binary Search Tree

  • یک گره به BST وارد کنید Insert a node to BST

  • تراورس BST Traverse BST

  • جستجو در BST Search in BST

  • یک گره را از BST حذف کنید Delete a node from BST

  • کل BST را حذف کنید Delete entire BST

  • پیچیدگی زمانی و مکانی BST Time and Space complexity of BST

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

درخت AVL AVL Tree

  • درخت AVL چیست؟ What is an AVL Tree?

  • چرا AVL Tree؟ Why AVL Tree?

  • عملیات متداول در درختان AVL Common Operations on AVL Trees

  • درج یک گره در AVL (شرایط چپ چپ) Insert a node in AVL (Left Left Condition)

  • درج یک گره در AVL (شرط چپ راست) Insert a node in AVL (Left Right Condition)

  • درج یک گره در AVL (شرایط راست راست) Insert a node in AVL (Right Right Condition)

  • درج یک گره در AVL (شرایط راست چپ) Insert a node in AVL (Right Left Condition)

  • قرار دادن یک گره در AVL (همه با هم) Insert a node in AVL (all together)

  • درج یک گره در AVL (روش) Insert a node in AVL (method)

  • حذف یک گره از AVL (LL، LR، RR، RL) Delete a node from AVL (LL, LR, RR, RL)

  • حذف یک گره از AVL (همه با هم) Delete a node from AVL (all together)

  • حذف یک گره از AVL (روش) Delete a node from AVL (method)

  • کل AVL را حذف کنید Delete entire AVL

  • پیچیدگی زمانی و مکانی درخت AVL Time and Space complexity of AVL Tree

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feeback Time

هیپ باینری Binary Heap

  • باینری هیپ چیست؟ چرا ما به اون احتیاج داریم؟ What is Binary Heap? Why do we need it?

  • عملیات متداول (Creation، Peek، sizeofheap) در Binary Heap Common operations (Creation, Peek, sizeofheap) on Binary Heap

  • یک گره در Binary Heap وارد کنید Insert a node in Binary Heap

  • یک گره از باینری هیپ استخراج کنید Extract a node from Binary Heap

  • کل Binary Heap را حذف کنید Delete entire Binary Heap

  • پیچیدگی زمانی و مکانی هیپ باینری Time and space complexity of Binary Heap

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

سعی کنید Trie

  • Trie چیست؟ چرا ما به آن نیاز داریم؟ What is a Trie? Why we need it?

  • عملیات رایج در Trie (ایجاد) Common Operations on Trie (Creation)

  • یک رشته را در Trie وارد کنید Insert a string in Trie

  • یک رشته را در Trie جستجو کنید Search for a string in Trie

  • یک رشته را از Trie حذف کنید Delete a string from Trie

  • استفاده عملی از Trie Practical use of Trie

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

هش کردن Hashing

  • هشینگ چیست؟ چرا ما به آن نیاز داریم؟ What is Hashing? Why we need it?

  • اصطلاحات هشینگ Hashing Terminology

  • توابع هش Hash Functions

  • انواع تکنیک های تشخیص برخورد Types of Collision Resolution Techniques

  • جدول هش پر است Hash Table is Full

  • مزایا و معایب تکنیک های رزولوشن Pros and Cons of Resolution Techniques

  • استفاده عملی از Hashing Practical Use of Hashing

  • هش در مقابل سایر DS Hashing vs Other DS

  • منابع را دانلود کنید Download the Resources

  • زمان بازخورد Feedback Time

الگوریتم های مرتب سازی Sort Algorithms

  • مرتب سازی چیست؟ What is Sorting?

  • انواع مرتب سازی Types of Sorting

  • مرتب سازی اصطلاحات Sorting Terminologies

  • مرتب سازی حباب Bubble Sort

  • انتخاب مرتب سازی Selection Sort

  • مرتب سازی درج Insertion Sort

  • مرتب سازی سطلی Bucket Sort

  • ادغام مرتب سازی Merge Sort

  • مروری بر QuickSort QuickSort Overview

  • نمای کلی عملکرد محوری Pivot Function Overview

  • پیاده سازی تابع Pivot Pivot Function Implementation

  • پیاده سازی الگوریتم QuickSort QuickSort Algorithm Implementation

  • مرتب سازی پشته Heap Sort

  • مقایسه الگوریتم های مرتب سازی Comparison of Sorting Algorithms

  • دانلود منابع Download Resources

  • زمان بازخورد Feedback Time

جستجوی الگوریتم ها Searching Algorithms

  • مقدمه ای بر الگوریتم های جستجو Introduction to Searching Algorithms

  • جستجوی خطی Linear Search

  • جستجوی خطی در پایتون Linear Search in Python

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

  • جستجوی باینری در پایتون Binary Search in Python

  • پیچیدگی زمانی جستجوی باینری Time Complexity of Binary Search

  • دانلود منابع Download Resources

الگوریتم های نمودار Graph Algorithms

  • گراف چیست؟ چرا گراف؟ What is a Graph? Why Graph?

  • اصطلاحات نمودار Graph Terminology

  • انواع نمودار Types of Graph

  • نمایش نمودار Graph Representation

  • با پایتون یک نمودار ایجاد کنید Create a graph using Python

  • ایجاد گراف با استفاده از پایتون - افزودن Vertex Create Graph using Python - Add Vertex

  • Edge را اضافه کنید Add Edge

  • Edge را بردارید Remove Edge

  • Vertex را حذف کنید Remove Vertex

  • زمان بازخورد Feedback Time

  • دانلود منابع Download Resources

پیمایش نمودار - اولین جستجوی عرض و جستجوی اول عمق Graph Traversal - Breadth First Search and Depth First Search

  • پیمایش نمودار - BFS Graph traversal - BFS

  • پیمایش نمودار - اولین جستجوی عرض (BFS) Graph Traversal - Breadth First Search (BFS)

  • Breadth First Search (BFS) در پایتون Breadth First Search (BFS) in Python

  • پیمایش BFS در پایتون BFS Traversal in Python

  • پیمایش نمودار - اولین جستجوی عمق (DFS) Graph Traversal - Depth First Search (DFS)

  • پیمایش نمودار - DFS Graph Traversal - DFS

  • پیمایش DFS در پایتون DFS Traversal in Python

  • BFS Traversal در مقابل DFS Traversal BFS Traversal vs DFS Traversal

  • دانلود منابع Download Resources

الگوریتم مرتب سازی توپولوژیکی Topological Sort Algorithm

  • مرتب سازی توپولوژیکی Topological Sort

  • الگوریتم مرتب سازی توپولوژیکی Topological Sort Algorithm

  • مرتب سازی توپولوژیکی در پایتون Topological Sort in Python

  • دانلود منابع Download Resources

کوتاهترین مسیر منبع تک Single Source Shortest Path

  • مشکل کوتاهترین مسیر تک منبع (SSSPP) Single Source Shortest Path Problem (SSSPP)

  • BFS برای SSSPP BFS for SSSPP

  • BFS برای SSSPP در پایتون BFS for SSSPP in Python

  • چرا BFS با نمودار وزنی کار نمی کند؟ Why does BFS not work with weighted Graph?

  • چرا DFS برای SSSP کار نمی کند؟ Why does DFS not work for SSSP?

  • دانلود منابع Download Resources

الگوریتم های نمودار - الگوریتم Dijsktra Graph Algorithms - Dijsktra's Algorithm

  • الگوریتم Dijkstra برای SSSP Dijkstra's Algorithm for SSSP

  • تجسم الگوریتم دایکسترا Dijkstra's Algorithm Visualization

  • اجرای Dijkstra قسمت 1 Dijkstra Implementation Part 1

  • اجرای Dijkstra قسمت 2 Dijkstra Implementation Part 2

  • تست الگوریتم Dijkstra Dijkstra Algorithm Testing

  • الگوریتم Dijkstra با چرخه منفی Dijkstra Algorithm with negative cycle

  • دانلود منابع Download Resources

الگوریتم های نمودار -الگوریتم بلمن فورد Graph Algorithms -Bellman Ford Algorithm

  • الگوریتم بلمن فورد Bellman Ford Algorithm

  • الگوریتم بلمن فورد با چرخه منفی Bellman Ford Algorithm with negative cycle

  • چرا بلمن فورد بار V-1 کار می کند؟ Why Bellman Ford runs V-1 times?

  • بلمن فورد در پایتون Bellman Ford in Python

  • BFS vs Dijkstra vs Bellman Ford BFS vs Dijkstra vs Bellman Ford

  • دانلود منابع Download Resources

همه جفت کوتاه ترین مسیر All Pairs Shortest Path

  • همه جفت مشکل کوتاه ترین مسیر All pairs shortest path problem

  • اجرای خشک برای همه جفت‌ترین مسیر Dry run for All pair shortest path

الگوریتم های نمودار - الگوریتم فلوید وارشال Graph Algorithms - Floyd Warshall Algorithm

  • الگوریتم فلوید وارشال Floyd Warshall Algorithm

  • چرا فلوید وارشال؟ Why Floyd Warshall?

  • فلوید وارشال با چرخه منفی Floyd Warshall with negative cycle

  • فلوید وارشال در پایتون Floyd Warshall in Python

  • BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall

  • دانلود منابع Download Resources

حداقل درخت پوشا (مجموعه جدا) Minimum Spanning Tree (Disjoint Set)

  • حداقل درخت پوشا Minimum Spanning Tree

  • مجموعه از هم گسسته Disjoint Set

  • Disjoint Set در پایتون Disjoint Set in Python

  • دانلود منابع Download Resources

الگوریتم های نمودار - الگوریتم های کروسکال و پریم Graph Algorithms - Kruskal and Prim's Algorithms

  • الگوریتم کروسکال Kruskal Algorithm

  • الگوریتم کروسکال در پایتون Kruskal Algorithm in Python

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

  • الگوریتم پریم در پایتون Prim's Algorithm in Python

  • پریم در مقابل کروسکال Prim's vs Kruskal

  • دانلود منابع Download Resources

شکستن درختان و نمودارها سوالات برتر مصاحبه (اپل، آمازون، فیسبوک) Cracking Trees and Graphs Top Interview Questions (Apple, Amazon, Facebook)

  • معرفی Introduction

  • مسیر بین گره ها Route Between Nodes

  • راه حل مسیر بین گره ها Solution to Route Between Nodes

  • درخت حداقل Minimal Tree

  • راه حل درخت حداقل Solution to Minimal Tree

  • فهرست اعماق List of Depths

  • راه حل لیست اعماق Solution to List of Depths

  • بررسی متعادل - LeetCode 110 Check Balanced - LeetCode 110

  • راه حلی برای بررسی تعادل Solution to Check Balanced

  • اعتبارسنجی BST - LeetCode 98 Validate BST - LeetCode 98

  • راه حل اعتبارسنجی BST - LeetCode 98 Solution to Validate BST - LeetCode 98

  • جانشین سفارشی در BST - LeetCode 285 In-order Successor in BST - LeetCode 285

  • راه حلی برای جانشین Solution to Successor

  • سفارش ساخت Build Order

  • راه حلی برای ایجاد نظم Solution to Build Order

  • اولین جد مشترک - LeetCode 236 First Common Ancestor - LeetCode 236

  • راه حل اولین جد مشترک Solution to First Common Ancestor

  • دانلود منابع Download Resources

الگوریتم های حریص Greedy Algorithms

  • الگوریتم حریص چیست؟ What is Greedy Algorithm?

  • الگوریتم‌های حریص (مرتب‌سازی درج، مرتب‌سازی انتخابی، ابتدایی، کروسکال، توپولوژیکی) Greedy Algorithms (Insertion Sort, Selection Sort, Prim, Kruskal, Topological )

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

  • مشکل انتخاب فعالیت در پایتون Activity Selection Problem in Python

  • مشکل تغییر سکه Coin Change Problem

  • مشکل تغییر سکه در پایتون Coin Change Problem in Python

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

  • مشکل کوله پشتی کسری در پایتون Fractional Knapsack Problem in Python

  • منابع را دانلود کنید Download the Resources

الگوریتم های تقسیم و غلبه Divide and Conquer Algorithms

  • الگوریتم Divide and Conquer چیست؟ What is a Divide and Conquer Algorithm?

  • الگوریتم های رایج تقسیم و تسخیر Common Divide and Conquer algorithms

  • چگونه سری های فیبوناچی را با استفاده از رویکرد تقسیم کن و بساز حل کنیم؟ How to solve Fibonacci series using Divide and Conquer approach?

  • فاکتور عدد Number Factor

  • فاکتور اعداد در پایتون Number Factor in Python

  • دزد خانه House Robber

  • مشکل دزد خانه در پایتون House Robber Problem in Python

  • یک رشته را به رشته دیگر تبدیل کنید Convert one string to another

  • یک رشته را در پایتون به رشته دیگر تبدیل کنید Convert One String to another in Python

  • مشکل Zero One Knapsack Zero One Knapsack problem

  • مشکل Zero One Knapsack در پایتون Zero One Knapsack problem in Python

  • طولانی ترین مشکل توالی رایج Longest Common Sequence Problem

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

  • طولانی ترین مشکل فرعی پالیندرومیک Longest Palindromic Subsequence Problem

  • طولانی ترین زیر دنباله پالیندرومیک در پایتون Longest Palindromic Subsequence in Python

  • حداقل هزینه برای رسیدن به مشکل آخرین سلول Minimum cost to reach the Last cell problem

  • حداقل هزینه برای رسیدن به آخرین سلول در آرایه دو بعدی با استفاده از پایتون Minimum Cost to reach the Last Cell in 2D array using Python

  • تعداد راه های رسیدن به آخرین سلول با هزینه داده شده Number of Ways to reach the Last Cell with given Cost

  • تعداد راه های رسیدن به آخرین سلول با هزینه داده شده در پایتون Number of Ways to reach the Last Cell with given Cost in Python

  • منابع را دانلود کنید Download the Resources

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

  • برنامه نویسی پویا چیست؟ (همپوشانی دارایی) What is Dynamic Programming? (Overlapping property)

  • نام DP از کجا آمده است؟ Where does the name of DP come from?

  • بالا به پایین با یادداشت Top Down with Memoization

  • از پایین به بالا با جدول Bottom Up with Tabulation

  • بالا پایین در مقابل پایین به بالا Top Down vs Bottom Up

  • آیا Merge Sort برنامه نویسی پویا است؟ Is Merge Sort Dynamic Programming?

  • مشکل فاکتور عددی با استفاده از برنامه نویسی پویا Number Factor Problem using Dynamic Programming

  • فاکتور شماره: از بالا به پایین و پایین به بالا Number Factor : Top Down and Bottom Up

  • مشکل دزد خانه با استفاده از برنامه نویسی پویا House Robber Problem using Dynamic Programming

  • دزد خانه: از بالا به پایین و پایین به بالا House Robber : Top Down and Bottom Up

  • با استفاده از برنامه نویسی پویا یک رشته را به رشته دیگر تبدیل کنید Convert one string to another using Dynamic Programming

  • تبدیل رشته با استفاده از پایین به بالا Convert String using Bottom Up

  • راه حل برای تبدیل رشته با استفاده از پایین به بالا Solution to Convert String using Bottom Up

  • Zero One Knapsack با استفاده از برنامه نویسی پویا Zero One Knapsack using Dynamic Programming

  • Zero One Knapsk - از بالا به پایین Zero One Knapsack - Top Down

  • راه حل Zero One Knapsack - Top Down Solution to Zero One Knapsack - Top Down

  • کوله پشتی صفر یک - پایین به بالا Zero One Knapsack - Bottom Up

  • راه حل صفر یک کوله پشتی - پایین به بالا Solution to Zero One Knapsack - Bottom Up

مسائل چالش برانگیز برنامه نویسی پویا CHALLENGING Dynamic Programming Problems

  • به این بخش توجه داشته باشید NOTE ON THIS SECTION

  • طولانی ترین مشکل طول بعدی تکراری Longest repeated Subsequence Length problem

  • راه‌حل مشکل طولانی‌ترین طول متوالی تکراری Solution to Longest repeated Subsequence Length problem

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

  • راه حل مشکل طولانی ترین طول متداول بعدی Solution to Longest Common Subsequence Length problem

  • طولانی ترین مشکل متداول بعدی Longest Common Subsequence problem

  • راه حل مشکل طولانی ترین دنباله متداول Solution to Longest Common Subsequence problem

  • ابزار تفاوت Diff Utility

  • راه حل Diff Utility Solution to Diff Utility

  • کوتاه‌ترین مشکل ابر دنباله‌ای رایج Shortest Common Supersequence Problem

  • راه‌حل کوتاه‌ترین مشکل ابر دنباله‌ای رایج Solution to Shortest Common Supersequence Problem

  • طول طولانی ترین زیر دنباله پالیندرومیک Length of Longest Palindromic Subsequence

  • راه حل طول طولانی ترین زیر دنباله پالیندرومیک Solution to Length of Longest Palindromic Subsequence

  • مشکل جمع زیر مجموعه Subset Sum Problem

  • راه حل مسئله جمع زیر مجموعه Solution to Subset Sum Problem

  • پازل انداختن تخم مرغ Egg Dropping Puzzle

  • راه حل پازل انداختن تخم مرغ Solution to Egg Dropping Puzzle

  • حداکثر طول زنجیره جفت Maximum Length Chain of Pairs

  • راه حل برای زنجیره حداکثر طول جفت Solution to Maximum Length Chain of Pairs

دستور العملی برای حل مسئله A Recipe for Problem Solving

  • معرفی Introduction

  • مرحله 1 - مشکل را درک کنید Step 1 - Understand the problem

  • مرحله 2 - مثال ها Step 2 - Examples

  • مرحله 3 - آن را تجزیه کنید Step 3 - Break it Down

  • مرحله 4 - حل یا ساده کردن Step 4 - Solve or Simplify

  • مرحله 5 - به عقب نگاه کنید و Refactor Step 5 - Look Back and Refactor

عقب نشینی Backtracking

  • نکته بسیار مهم! لطفا بخوانید! VERY IMPORTANT NOTE! PLEASE READ!

  • Backtracking چیست؟ What is Backtracking?

  • بازگشت به عقب در مقابل رویکرد Brute Force Backtracking vs Brute Force Approach

  • عقب نشینی Backtracking

  • N - مشکل کوئینز N - Queens Problem

  • N - مشکل کوئینز در پایتون N - Queens Problem in Python

غرب وحشی The Wild West

  • نکته بسیار مهم! لطفا بخوانید! VERY IMPORTANT NOTE! PLEASE READ!

  • لیست پیوندی تکی - فشار Singly Linked List - Push

  • راه حل لیست پیوندی تکی - Push Solution to Singly Linked List - Push

  • لیست تک پیوندی - پاپ Singly Linked List - Pop

  • راه حل لیست پیوندی تکی - پاپ Solution to Singly Linked List - Pop

  • لیست پیوندی تکی - دریافت کنید Singly Linked List - Get

  • راه حل لیست لینک شده - دریافت کنید Solution to Singly Linked List - Get

  • لیست تک پیوندی - درج کنید Singly Linked List - Insert

  • راه حل لیست پیوندی واحد - درج Solution to Singly Linked List - Insert

  • لیست پیوندی تکی - چرخش Singly Linked List - Rotate

  • راه حل لیست پیوندی تکی - چرخش Solution to Singly Linked List - Rotate

  • لیست پیوندی تکی - مجموعه Singly Linked List - Set

  • راه حل لیست پیوندی تکی - مجموعه Solution to Singly Linked List - Set

  • تقسیم و تسخیر - countZeroes Divide and Conquer - countZeroes

  • راه حل تقسیم و تسخیر - countZeroes Solution to Divide and Conquer - countZeroes

  • تقسیم و پیروز - مرتب شده فرکانس Divide and Conquer - sortedFrequency

  • راه حل تقسیم و پیروز - مرتب شده فرکانس Solution to Divide and Conquer - sortedFrequency

  • Divide and Conquer - findRotatedIndex Divide and Conquer - findRotatedIndex

  • راه حل تقسیم و تسخیر - findRotatedIndex Solution to Divide and Conquer - findRotatedIndex

  • لیست پیوندی تکی - حذف کنید Singly Linked List - Remove

  • راه حل لیست پیوندی تکی - حذف کنید Solution to Singly Linked List - Remove

  • مرتب سازی درج Insertion Sort

  • راه حل مرتب سازی درج Solution to Insertion Sort

  • مرتب سازی حباب Bubble Sort

  • راه حل برای مرتب سازی حباب Solution to Bubble Sort

  • مرتب‌سازی با Pivot: مرتب‌سازی سریع Sorting with Pivot : Quicksort

  • راه حل مرتب سازی با Pivot: Quicksort Solution to Sorting with Pivot : Quicksort

  • پشته - فشار Stack - Push

  • راه حل برای پشته - فشار Solution to Stack - Push

  • پشته - پاپ Stack - Pop

  • راه حل برای پشته - پاپ Solution to Stack - Pop

  • پشته با دو صف Stack with Two Queues

  • راه حل برای پشته با دو صف Solution to Stack with Two Queues

  • صف - صف Queue - Enqueue

  • راه حل صف - صف Solution to Queue - Enqueue

  • درخت جستجوی باینری - درج Binary Search Tree - Insert

  • راه حل درخت جستجوی باینری - درج Solution to Binary Search Tree - Insert

  • درخت جستجوی دودویی - پیدا کنید Binary Search Tree - Find

  • راه حل درخت جستجوی باینری - پیدا کنید Solution to Binary Search Tree - Find

  • درخت جستجوی باینری - DFSPreOrder Binary Search Tree - DFSPreOrder

  • راه حل درخت جستجوی باینری - DFSPreOrder Solution to Binary Search Tree - DFSPreOrder

  • درخت جستجوی باینری - DFSInOrder Binary Search Tree - DFSInOrder

  • راه حل درخت جستجوی باینری - DFSInOrder Solution to Binary Search Tree - DFSInOrder

  • درخت جستجوی باینری - DFSPostOrder Binary Search Tree - DFSPostOrder

  • راه حل درخت جستجوی باینری - DFSPostOrder Solution to Binary Search Tree - DFSPostOrder

  • درخت جستجوی باینری - حذف Binary Search Tree - Remove

  • راه حل درخت جستجوی باینری - حذف کنید Solution to Binary Search Tree - Remove

  • درخت جستجوی دودویی - بررسی کنید که آیا متعادل است Binary Search Tree - Check If Balanced

  • راه حل درخت جستجوی باینری - بررسی کنید که آیا متعادل است Solution to Binary Search Tree - Check If Balanced

  • حداکثر هیپ باینری - درج Max Binary Heap - Insert

  • راه حل حداکثر هیپ باینری - درج Solution to Max Binary Heap - Insert

  • حداقل هیپ باینری - درج Min Binary Heap - Insert

  • راه حل برای Min Binary Heap - Insert Solution to Min Binary Heap - Insert

  • Max Binary Heap - Extract Max Max Binary Heap - Extract Max

  • راه حل Max Binary Heap - Extract Max Solution to Max Binary Heap - Extract Max

  • نمودار - اضافه کردن راس Graph - Add Vertex

  • راه حل برای نمودار - اضافه کردن راس Solution to Graph - Add Vertex

دوره های دیگر من My Other Courses

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

آموزش دوره کامل ساختارهای داده و الگوریتم ها در پایتون
جزییات دوره
44 hours
527
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
56,936
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Elshad Karimov Elshad Karimov

توسعه دهنده نرم افزار من الشاد کریموف هستم و یک توسعه دهنده نرم افزار ، مربی آنلاین ، وبلاگ نویس و نویسنده کتاب ، ساختارهای داده و الگوریتم ها در Swift هستم. من بیش از 10 سال تجربه توسعه نرم افزار با سابقه خوب در زمینه توسعه iOS و توسعه بازی و همچنین Oracle PL / SQL ، Java و Python دارم. من در چندین شرکت کار کردم و چندین برنامه افزودنی برای نرم افزارهای مالی و صورتحساب ایجاد کردم. من دو بازی با استفاده از Unity توسعه داده ام و بیش از 10 برنامه iOS در Appstore در دسترس دارم.