آموزش Masterclass ساختارهای داده و الگوریتم های جاوا

Java Data Structures and Algorithms Masterclass

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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


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


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


دسترسی مادام العمر به بیش از 44 ساعت ویدیو با کیفیت 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 - سؤالات مصاحبه با آرایه کرک (آمازون، فیس بوک، اپل و مایکروسافت)

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

  • سوال 2 - جفت

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

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

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

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

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

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

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

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

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

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

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

  • جفت


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • سؤال 1 - حذف Dups

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

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

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

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

بخش 15 - پشته

  • پشته چیست؟

  • Stack چیست و چرا؟

  • عملیات پشته

  • با استفاده از Array vs Linked List

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

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

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

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

  • روش‌های پشته‌ای - Push، Pop، Peek، Delete و IsEmpty با استفاده از فهرست پیوندی

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

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

  • آزمایش پشته


بخش 16 - صف

  • صف چیست؟

  • عملیات صف خطی با استفاده از آرایه

  • با استفاده از آرایه صف خطی، متدهای isFull، isEmpty و enQueue ایجاد کنید

  • روش‌های Dequeue، Peek و Delete با استفاده از آرایه صف خطی

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

  • چرا صف دایره ای؟

  • عملیات صف دایره ای با استفاده از آرایه

  • ایجاد، صف بندی، isFull و isEmpty متدها در صف دایره ای با استفاده از آرایه

  • روش‌ها را در صف دایره‌ای با استفاده از آرایه قرار دهید، نگاه کردن و حذف کنید

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

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

  • ایجاد، صف بندی و خالی بودن متدها در صف با استفاده از لیست پیوندی

  • روش‌ها را در صف با استفاده از فهرست پیوندی قرار دهید، نگاه کردن و حذف کنید

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

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

  • زمان استفاده/اجتناب از صف؟

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

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

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

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

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

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

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

  • درخت چیست؟

  • چرا درخت؟

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

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

  • درخت دودویی

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

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

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

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

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

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

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

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

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

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

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

  • درخت باینری (آرایه) ایجاد کنید

  • درج درخت باینری (آرایه) مقدار را وارد کنید

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

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

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

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

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

  • حذف یک گره از درخت باینری (آرایه)

  • کل درخت باینری (آرایه)

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

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

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

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

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

  • Traverse BST

  • جستجو در BST

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

  • حذف کل BST

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

بخش 20 - درخت AVL

  • درخت AVL چیست؟

  • چرا AVL Tree؟

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

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

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

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

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

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

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

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

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

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

  • حذف کل AVL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

بخش 23 - هش کردن

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

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

  • توابع هش

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • جستجوی خطی

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

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

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

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


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

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

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

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

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

  • گراف در جاوا با استفاده از ماتریس مجاورت

  • گراف در جاوا با استفاده از فهرست مجاورت


بخش 27 - پیمایش نمودار

  • الگوریتم جستجوی پهنای اول (BFS)

  • الگوریتم جستجوی پهنای اول (BFS) در جاوا - ماتریس مجاورت

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

  • الگوریتم پیچیدگی زمانی اولین جستجوی عرض (BFS)

  • الگوریتم جستجوی اول عمق (DFS)

  • الگوریتم جستجوی عمقی (DFS) در جاوا - فهرست مجاورت

  • الگوریتم جستجوی عمقی (DFS) در جاوا - ماتریس مجاورت

  • الگوریتم پیچیدگی زمانی اولین جستجوی عمقی (DFS)

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

بخش 28 - مرتب سازی توپولوژیکی

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

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

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

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

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


بخش 29 - مشکل کوتاهترین مسیر منبع تک

  • مشکل کوتاهترین مسیر تک منبع چیست؟

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

  • BFS برای SSSPP در جاوا با استفاده از فهرست مجاورت

  • BFS برای SSSPP در جاوا با استفاده از ماتریس مجاورت

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

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

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

بخش 30 - الگوریتم Dijkstra

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

  • الگوریتم Dijkstra در جاوا - 1

  • الگوریتم Dijkstra در جاوا - 2

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

بخش 31 - الگوریتم بلمن فورد

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

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

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

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

  • BFS vs Dijkstra vs Bellman Ford

بخش 32 - مشکل همه جفت‌های کوتاه‌ترین مسیر

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

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

بخش 33 - فلوید وارشال

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

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

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

  • فلوید وارشال در جاوا،

  • BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall،

بخش 34 - حداقل درخت پوشا

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

  • مجموعه Disjoint،

  • Disjoint Set در جاوا،

بخش 35 - الگوریتم های کروسکال و پریم

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

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

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

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

  • Prim's vs Kruskal

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • عامل عدد

  • فاکتور عدد در جاوا

  • دزد خانه

  • مشکل دزد خانه در جاوا

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

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

  • مشکل Zero One Knapsack

  • مشکل Zero One Knapsack در جاوا

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Diff Utility

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

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

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

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

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

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

  • مقدمه

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

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

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

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

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

بخش 41 - غرب وحشی



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

معرفی 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

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

  • انگیزه Motivation

بازگشت Recursion

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

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

  • چرا به Recursion نیاز داریم؟ Why do we need Recursion?

  • منطق پشت بازگشت The Logic Behind Recursion

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

  • چه زمانی استفاده کنیم/از بازگشت مجدد اجتناب کنیم؟ When to Use/Avoid Recursion?

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

  • سری فیبوناچی با استفاده از بازگشت Fibonacci Series using Recursion

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

  • چگونه الگوریتم بازگشتی را اندازه گیری کنیم؟ How to Measure Recursive Algorithm?

  • چگونه الگوریتم بازگشتی را با تماس های متعدد اندازه گیری کنیم؟ How to Measure Recursive Algorithm with Multiple Calls?

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

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

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

  • سوال 3 - GCD Question 3 - GCD

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

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

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

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

  • قدرت power

  • فاکتوریل factorial

  • محصول آرایه product of Array

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

  • فیب fib

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

  • معکوس reverse

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

  • someRecursive someRecursive

  • اول حروف بزرگ First Uppercase

  • بزرگ کردن Word capitalizeWord

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

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

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

  • نمادهای Big O - (Big O، Big Omega، Big Theta) Big O Notations - (Big O, Big Omega, Big Theta)

  • رایج ترین پیچیدگی های زمانی Most Common Time Complexities

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

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

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

  • رها کردن ثابت ها و اصطلاحات غیر غالب Drop Constants and Non Dominant Terms

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

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

  • جمع در مقابل ضرب Addition vs Multiplication

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

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

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

  • چگونه الگوریتم بازگشتی را اندازه گیری کنیم؟ How to Measure Recursive Algorithm?

  • جمع در مقابل ضرب Add vs Multiply

  • چگونه الگوریتم بازگشتی را با تماس های متعدد اندازه گیری کنیم؟ How to Measure Recursive Algorithm with Multiple Calls?

  • آزمون بزرگ O Big O Quiz

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

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

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

  • آرایه های دو بعدی 2D Arrays

  • راه حل آرایه های دو بعدی Solution to 2D Arrays

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

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

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

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

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

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

  • موارد تکراری را از آرایه مرتب شده حذف کنید - LeetCode 26 Remove Duplicates from Sorted Array - LeetCode 26

  • راه حل حذف موارد تکراری از آرایه مرتب شده - LeetCode 26 Solution to Remove Duplicates from Sorted Array - LeetCode 26

  • بهترین زمان برای خرید و فروش سهام - LeetCode 121 Best Time to Buy and Sell Stock - LeetCode 121

  • راه حل بهترین زمان برای خرید و فروش سهام - LeetCode 121 Solution to Best Time to Buy and Sell Stock - LeetCode 121

  • دو جمع - LeetCode 1 Two Sum - LeetCode 1

  • راه حل دو جمع - LeetCode 1 Solution to Two Sum - LeetCode 1

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

  • راه حل - پیدا کردن یک عدد در یک آرایه Solution - Finding a Number in an Array

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

  • راه حل - حداکثر حاصلضرب دو عدد صحیح Solution - Max Product of Two Integers

  • IsUnique/شامل موارد تکراری - LeetCode 217 IsUnique / Contains Duplicate - LeetCode 217

  • راه حل - IsUnique/حاوی تکراری - LeetCode 217 Solution - IsUnique / Contains Duplicate - LeetCode 217

  • جایگشت Permutation

  • راه حل - جایگشت Solution - Permutation

  • چرخش ماتریس Rotate Matrix

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

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

کرک کردن سوالات مصاحبه Big O Cracking Big O Interview Questions

  • سوال 1 - پیچیدگی زمانی روشی که مجموع و حاصلضرب آرایه را برمی گرداند Question 1 - Time Complexity of Method that returns Sum and Product of Array

  • سوال 2 - روش پیچیدگی زمانی چاپ جفت Question 2 - Time Complexity of Print Pairs Method

  • سوال 3 - پیچیدگی زمانی روش چاپ جفت نامرتب Question 3 - Time Complexity of Print Unordered Pairs Method

  • سوال 4 - پیچیدگی زمانی را برای روش داده شده پیدا کنید Question 4 - Find Time Complexity for Given Method

  • سوال 5 - پیچیدگی زمانی را برای روش داده شده پیدا کنید Question 5 - Find Time Complexity for Given Method

  • سوال 6 - پیچیدگی زمانی تابع آرایه معکوس Question 6 - Time Complexity of Reverse Array Function

  • سوال 7 - معادل O(N) Question 7 - Equivalent to O(N)

  • سوال 8 - پیچیدگی زمانی فاکتوریل Question 8 - Time Complexity of Factorial

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

  • سوال 10 - قدرت های پیچیدگی زمانی 2 Question 10 - Time Complexity Powers Of 2

ArrayList ArrayList

  • ArrayList چیست؟ What is ArrayList?

  • ArrayList در حافظه ArrayList in Memory

  • ایجاد ArrayList Creating ArrayList

  • درج در ArrayList Insertion in ArrayList

  • دسترسی به عناصر در ArrayList Accessing Elements in ArrayList

  • پیمایش ArrayList Traversal of ArrayList

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

  • حذف یک عنصر برای ArrayList Delete an Element for ArrayList

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

آرایه ها Arrays

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

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

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

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

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

  • دسترسی به عناصر در آرایه Accessing Elements in Array

  • پیمایش آرایه Array Traversal

  • عنصر آرایه را جستجو کنید Search for Array Element

  • حذف عنصر آرایه Delete Array Element

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

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

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

  • دسترسی به عنصر آرایه دو بعدی Accessing Two Dimensional Array Element

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

  • جستجوی آرایه دو بعدی Searching Two Dimensional Array

  • حذف عنصر آرایه دو بعدی Delete Two Dimensional Array Element

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

  • زمان استفاده/اجتناب از آرایه ها When to Use/Avoid Arrays

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

کرک کردن سوالات مصاحبه Big O - آرایه ها Cracking Big O Interview Questions - Arrays

  • سوال 1 - پیچیدگی زمانی روشی که مجموع و حاصلضرب آرایه را برمی گرداند Question 1 - Time Complexity of Method that returns Sum and Product of Array

  • سوال 2 - روش پیچیدگی زمانی چاپ جفت Question 2 - Time Complexity of Print Pairs Method

  • سوال 3 - پیچیدگی زمانی روش چاپ جفت نامرتب Question 3 - Time Complexity of Print Unordered Pairs Method

  • سوال 4 - پیچیدگی زمانی را برای روش داده شده پیدا کنید Question 4 - Find Time Complexity for Given Method

  • سوال 5 - پیچیدگی زمانی را برای روش داده شده پیدا کنید Question 5 - Find Time Complexity for Given Method

  • سوال 6 - پیچیدگی زمانی تابع آرایه معکوس Question 6 - Time Complexity of Reverse Array Function

  • سوال 7 - معادل O(N) Question 7 - Equivalent to O(N)

پروژه 1 - آرایه ها PROJECT 1 - Arrays

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

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

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

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

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

  • اهداف بخش Section Goals

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

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

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

  • راه حل - جفت Solution - Pairs

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

  • راه حل - پیدا کردن یک عدد در یک آرایه Solution - Finding a Number in an Array

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

  • راه حل - حداکثر حاصلضرب دو عدد صحیح Solution - Max Product of Two Integers

  • IsUnique/شامل موارد تکراری - LeetCode 217 IsUnique / Contains Duplicate - LeetCode 217

  • راه حل - IsUnique/حاوی تکراری - LeetCode 217 Solution - IsUnique / Contains Duplicate - LeetCode 217

  • جایگشت Permutation

  • راه حل - جایگشت Solution - Permutation

  • چرخش ماتریس Rotate Matrix

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

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

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

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

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

  • آرایه های دو بعدی 2D Arrays

  • راه حل آرایه های دو بعدی Solution to 2D Arrays

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

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

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

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

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

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

  • جفت Pairs

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

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

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

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

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

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

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

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

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

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

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

  • جستجو در لیست پیوندهای منفرد Searching in Singly Linked List

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

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

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

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

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

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

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

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

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

  • فهرست پیوندی دایره ای روش درج Insertion Method 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 List

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

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

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

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

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

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

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

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

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

  • روش درج فهرست پیوندی دوگانه Insertion Method 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 Doubly Linked List

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

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

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

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

تمرینات کدگذاری لیست پیوندی Linked List Coding Exercises

  • لیست پیوندی تکی - فشار Singly Linked List - Push

  • راه حل لیست پیوندی تکی - Push Solution to Singly Linked List - Push

  • لیست تک پیوندی - پاپ Singly Linked List - Pop

  • راه حل لیست پیوندی تکی - پاپ Solution to Singly Linked List - Pop

  • راه حل لیست لینک شده - دریافت کنید Solution to Singly Linked List - Get

  • لیست تک پیوندی - درج Singly Linked List - Insert

  • لیست پیوندی تکی - دریافت کنید Singly Linked List - Get

  • لیست پیوندی تکی - چرخش Singly Linked List - Rotate

  • راه حل لیست پیوندی واحد - درج Solution to Singly Linked List - Insert

  • لیست پیوندی تکی - مجموعه Singly Linked List - Set

  • راه حل لیست پیوندی منفرد - چرخش Solution to Singly Linked List - Rotate

  • راه حل برای لیست پیوندی منفرد - مجموعه Solution to Singly Linked List - Set

  • لیست پیوندی تکی - حذف کنید Singly Linked List - Remove

  • راه حل لیست پیوندی تکی - حذف کنید Solution to Singly Linked List - Remove

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

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

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

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

  • فهرست پیوندی دایره ای روش درج Insertion Method 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

  • حذف در فهرست دایره ای پیوندی دوگانه Deletion in 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

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

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

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

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

  • Dups را حذف کنید Remove Dups

  • راه حل - Dups را حذف کنید Solution - Remove Dups

  • Nth به Last برگردانید Return Nth to Last

  • راه حل - Nth به Last برگردانید Solution - Return Nth to Last

  • تقسیم بندی Partition

  • راه حل - پارتیشن Solution - Partition

  • لیست های جمع Sum Lists

  • راه حل - لیست های جمع Solution - Sum Lists

  • تقاطع Intersection

  • راه حل - تقاطع Solution - Intersection

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

پشته Stack

  • Stack چیست و چرا؟ What and Why of Stack?

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

  • با استفاده از Array vs Linked List پشته کنید Stack using Array vs Linked List

  • عملیات پشته با استفاده از آرایه (ایجاد، خالی، کامل است) Stack Operations using Array (Create, isEmpty, isFull)

  • عملیات پشته با استفاده از آرایه (فشار، پاپ، زیرچشمی، حذف) Stack Operations using Array (Push, Pop, Peek, Delete)

  • پیچیدگی زمانی و فضایی پشته با استفاده از آرایه Time and Space Complexity of Stack using Array

  • پشته عملیات با استفاده از لیست پیوندی Stack Operations using Linked List

  • روش‌های پشته - Push، Pop، Peek، Delete و IsEmpty با استفاده از لیست پیوندی Stack methods - Push , Pop, Peek, Delete and isEmpty using Linked List

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

  • زمان استفاده/اجتناب از پشته When to Use/Avoid Stack

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

صف Queue

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

  • عملیات صف خطی با استفاده از آرایه Linear Queue Operations using Array

  • با استفاده از Linear Queue Array متدهای isFull، isEmpty و enQueue ایجاد کنید Create, isFull, isEmpty and enQueue methods using Linear Queue Array

  • روش‌های Dequeue، Peek و Delete با استفاده از Linear Queue Array Dequeue, Peek and Delete Methods using Linear Queue Array

  • پیچیدگی زمانی و مکانی صف خطی با استفاده از آرایه Time and Space Complexity of Linear Queue using Array

  • چرا صف دایره ای؟ Why Circular Queue?

  • عملیات صف دایره ای با استفاده از آرایه Circular Queue Operations using Array

  • ایجاد، صف بندی، isFull و isEmpty متدها در صف دایره ای با استفاده از آرایه Create, Enqueue, isFull and isEmpty Methods in Circular Queue using Array

  • روش‌های Dequeue، Peek و Delete در صف دایره‌ای با استفاده از Array Dequeue, Peek and Delete Methods in Circular Queue using Array

  • پیچیدگی زمانی و مکانی صف دایره ای با استفاده از آرایه Time and Space Complexity of Circular Queue using Array

  • عملیات صف با استفاده از لیست پیوندی Queue Operations using Linked List

  • با استفاده از لیست پیوندی، متدهایی را در صف ایجاد، صف بندی و خالی کنید Create, Enqueue and isEmpty Methods in Queue using Linked List

  • Dequeue، Peek و Delete Methods in Queue با استفاده از لیست پیوندی Dequeue, Peek and Delete Methods in Queue using Linked List

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

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

  • چه زمانی استفاده کنیم/از صف اجتناب کنیم؟ When to Use/Avoid Queue?

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

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

  • اهداف Goals

  • سه در یک Three in One

  • راه حل - سه در یک Solution - Three in One

  • پشته حداقل Stack Minimum

  • راه حل - حداقل پشته Solution - Stack Minimum

  • پشته بشقاب Stack of Plates

  • راه حل قسمت 1 - پشته بشقاب Solution Part 1 - Stack of Plates

  • راه حل قسمت 2 - پشته بشقاب Solution Part 2 - Stack of Plates

  • راه حل قسمت 3 - پیگیری Solution Part 3 - Follow UP

  • صف از طریق پشته ها Queue via Stacks

  • راه حل - صف از طریق پشته ها Solution - Queue via Stacks

  • پناهگاه حیوانات Animal Shelter

  • راه حل - پناهگاه حیوانات Solution - Animal Shelter

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

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

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

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

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

  • ایجاد یک درخت پایه در جاوا Creating a Basic Tree in Java

  • درخت دودویی چیست؟ What is A Binary Tree?

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

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

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

  • پیش‌سفارش پیمایش در درخت باینری با استفاده از فهرست پیوندی PreOrder Traversal in Binary Tree using Linked List

  • پیمایش InOrder در درخت باینری با استفاده از لیست پیوندی InOrder Traversal in Binary Tree using Linked List

  • پیمایش PostOrder در درخت باینری با استفاده از لیست پیوندی PostOrder Traversal in Binary Tree using Linked List

  • پیمایش LevelOrder در درخت باینری با استفاده از لیست پیوندی LevelOrder Traversal in Binary Tree using Linked List

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

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

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

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

  • ایجاد درخت باینری (آرایه) Create Binary Tree (Array)

  • درخت باینری روش درج (آرایه) Insert Method Binary Tree (Array)

  • Preorder Traversal Binary Tree (آرایه) PreOrder Traversal Binary Tree (Array)

  • InOrder Traversal Binary Tree (آرایه) InOrder Traversal Binary Tree (Array)

  • درخت دودویی پیمایش PostOrder (آرایه) PostOrder Traversal Binary Tree (Array)

  • levelOrder پیمایش درخت باینری (آرایه) levelOrder Traversal Binary Tree (Array)

  • روش جستجو درخت باینری (آرایه) Search Method Binary Tree (Array)

  • حذف یک درخت باینری گره (آرایه) Delete a Node Binary Tree (Array)

  • حذف درخت باینری (آرایه) Delete Binary Tree (Array)

  • آرایه در مقابل لیست پیوندی در پیاده سازی درخت دودویی Array vs Linked List in Binary Tree Implementation

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

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

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

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

  • درج یک گره در درخت جستجوی باینری Insert a Node to Binary Search Tree

  • Preorder Traversal Binary Search Tree PreOrder Traversal Binary Search Tree

  • درخت جستجوی باینری پیمایش InOrder InOrder Traversal Binary Search Tree

  • درخت جستجوی باینری پیمایش PostOrder PostOrder Traversal Binary Search Tree

  • درخت جستجوی باینری پیمایش ترتیب سطح Level Order Traversal Binary Search Tree

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

  • حذف یک گره در درخت جستجوی باینری Delete a Node in Binary Search Tree

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

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

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

درخت AVL AVL Tree

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

  • چرا به درخت AVL نیاز داریم؟ Why Do We Need AVL Tree?

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

  • درج یک گره در 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 in Practice)

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

  • حذف یک گره از ALL (همه با هم) Delete a Node from ALL (All Together)

  • حذف یک گره از AVL (روش در عمل) Delete a Node from AVL (Method in practice)

  • کل درخت AVL را حذف کنید Delete Entire AVL Tree

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

  • درخت جستجوی باینری در مقابل AVL Binary Search Tree vs AVL

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

هیپ باینری Binary Heap

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

  • عملیات متداول روی هیپ باینری Common Operations on Binary Heap

  • یک گره در باینری هیپ وارد کنید Insert a Node in Binary Heap

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

  • کل هیپ باینری را حذف کنید Delete Entire Binary Heap

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

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

سعی کنید Trie

  • Trie چیست؟ چرا ما به Trie نیاز داریم؟ What is a Trie? Why we need Trie?

  • عملیات متداول در یک آزمایش (ایجاد) Common Operations on a Trie (Creation)

  • یک رشته را در Trie وارد کنید Insert a String in Trie

  • یک رشته را در Trie جستجو کنید Search for a String in Trie

  • یک رشته را از Trie حذف کنید Delete a String from Trie

  • کاربردهای عملی Trie Practical Uses of Trie

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

هش کردن Hashing

  • هشینگ چیست؟ چرا ما به آن نیاز داریم؟ What is Hashing? Why we need it?

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

  • توابع هش Hash Functions

  • انواع تکنیک های تشخیص برخورد - زنجیره مستقیم (درج) Types of Collision Resolution Techniques - Direct Chaining (Insert)

  • اجرای زنجیره مستقیم - (جستجو، حذف) Direct Chaining Implementation - (Search, Delete)

  • جدول هش پر است Hash Table is Full

  • تکنیک وضوح برخورد - کاوش خطی (درج) Collision Resolution Technique - Linear Probing (Insert)

  • تکنیک تشخیص برخورد - کاوش خطی (جستجو، حذف) Collision Resolution Technique - Linear Probing (Search, Delete)

  • تکنیک وضوح برخورد - آدرس دهی باز: کاوش درجه دوم Collision Resolution Technique - Open Addressing : Quadratic Probing

  • تکنیک تشخیص برخورد - آدرس دهی باز: هش دوبار Collision Resolution Technique - Open Addressing : Double Hashing

  • مزایا و معایب تکنیک های رزولوشن Pros and Cons of Resolution Techniques

  • استفاده عملی از Hashing Practical Use of Hashing

  • هش در مقابل سایر DS Hashing vs Other DS

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

الگوریتم های مرتب سازی Sorting Algorithms

  • مرتب سازی چیست؟ What is Sorting?

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

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

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

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

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

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

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

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

  • مرتب سازی پشته Heap Sort

  • مقایسه الگوریتم های مرتب سازی Comparison of Sorting Algorithms

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

جستجوی الگوریتم ها Searching Algorithms

  • مقدمه ای بر الگوریتم های جستجو Introduction To Search Algorithms

  • جستجوی خطی Linear Search

  • جستجوی خطی در جاوا Linear Search in Java

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

  • جستجوی باینری در جاوا Binary Search in Java

  • پیچیدگی زمانی جستجوی باینری Time Complexity of Binary Search

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

نمودارها Graphs

  • آنچه خواهید آموخت What you will learn

  • گراف چیست؟ چرا به Graph نیاز داریم؟ What is a Graph? Why do we need Graph

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

  • انواع نمودار Types of Graph

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

  • نمودار در جاوا با استفاده از ماتریس مجاورت Graph in Java using Adjacency Matrix

  • نمودار در جاوا با استفاده از لیست مجاورت Graph in Java using Adjacency List

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

پیمایش نمودار - الگوریتم‌های جستجوی اول عرض و جستجوی اول عمق Graph Traversal - Breadth First Search and Depth First Search Algorithms

  • الگوریتم جستجوی عرض اول (BFS) Breadth First Search Algorithm (BFS)

  • الگوریتم جستجوی پهنای اول (BFS) در جاوا - ماتریس مجاورت Breadth First Search Algorithm (BFS) in Java - Adjacency Matrix

  • الگوریتم جستجوی پهنای اول (BFS) در جاوا - فهرست مجاورت Breadth First Search Algorithm (BFS) in Java - Adjacency List

  • الگوریتم پیچیدگی زمانی پهنای اول جستجو (BFS). Time Complexity of Breadth First Search (BFS) Algorithm

  • الگوریتم جستجوی اول عمق (DFS). Depth First Search (DFS) Algorithm

  • الگوریتم Depth First Search (DFS) در جاوا - لیست مجاورت Depth First Search (DFS) Algorithm in Java - Adjacency List

  • الگوریتم جستجوی عمق (DFS) در جاوا - ماتریس مجاورت Depth First Search (DFS) Algorithm in Java - Adjacency Matrix

  • الگوریتم پیچیدگی زمانی عمق جستجوی اول (DFS). Time Complexity of Depth First Search (DFS) Algorithm

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

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

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

  • مرتب سازی توپولوژیکی چیست؟ What is Topological Sort?

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

  • مرتب سازی توپولوژیکی با استفاده از فهرست مجاورت Topological Sort using Adjacency List

  • مرتب سازی توپولوژیکی با استفاده از ماتریس مجاورت Topological Sort using Adjacency Matrix

  • پیچیدگی زمانی و مکانی مرتب‌سازی توپولوژیکی Time and Space Complexity of Topological Sort

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

مشکل کوتاهترین مسیر تک منبع (SSSPP) Single Source Shortest Path Problem (SSSPP)

  • مشکل کوتاهترین مسیر تک منبع چیست؟ What is Single Source Shortest Path Problem?

  • اولین جستجوی عرض (BFS) برای مشکل کوتاهترین مسیر منبع تک (SSSPP) Breadth First Search (BFS) for Single Source Shortest Path Problem (SSSPP)

  • BFS برای SSSPP در جاوا با استفاده از فهرست مجاورت BFS for SSSPP in Java using Adjacency List

  • BFS برای SSSPP در جاوا با استفاده از ماتریس مجاورت BFS for SSSPP in Java using Adjacency Matrix

  • پیچیدگی زمانی و مکانی BFS برای SSSPP Time and Space Complexity of BFS for SSSPP

  • چرا BFS با Weighted Graph کار نمی کند؟ Why does BFS not work with Weighted Graph?

  • چرا DFS برای SSSP کار نمی کند؟ Why does DFS not work for SSSP?

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

الگوریتم دایکسترا Dijkstra's Algorithm

  • الگوریتم Dijkstra برای SSSPP Dijkstra's Algorithm for SSSPP

  • الگوریتم Dijkstra در جاوا - 1 Dijkstra's Algorithm in Java - 1

  • الگوریتم Dijkstra در جاوا - 2 Dijkstra's Algorithm in Java - 2

  • الگوریتم دایکسترا با چرخه منفی Dijkstra's Algorithm with Negative Cycle

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

الگوریتم بلمن فورد Bellman Ford Algorithm

  • الگوریتم بلمن فورد برای SSSPP Bellman Ford Algorithm for SSSPP

  • الگوریتم بلمن فورد با چرخه منفی Bellman Ford Algorithm with Negative Cycle

  • چرا بلمن فورد بار V-1 کار می کند؟ Why Bellman Ford runs V-1 times?

  • پیاده سازی الگوریتم بلمن فورد در جاوا Bellman Ford Algorithm Implementation in Java

  • BFS vs Dijkstra vs Bellman Ford BFS vs Dijkstra vs Bellman Ford

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

مشکل کوتاهترین مسیر همه جفتها All Pairs Shortest Path Problem

  • مشکل کوتاه ترین مسیر همه جفت چیست؟ What is All Pairs Shortest Path Problem?

  • مشکل اجرای خشک برای همه جفت‌ها کوتاه‌ترین مسیر Dry Run for All Pairs Shortest Path Problem

الگوریتم فلوید وارشال Floyd Warshall Algorithm

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

  • چرا الگوریتم فلوید وارشال؟ Why Floyd Warshall Algorithm?

  • فلوید وارشال با چرخه منفی Floyd Warshall with Negative Cycle

  • فلوید وارشال در جاوا Floyd Warshall in Java

  • الگوریتم های BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall BFS vs Dijkstra vs Bellman Ford vs Floyd Warshall Algorithms

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

حداقل درخت پوشا (مجموعه جدا) Minimum Spanning Tree (Disjoint Set)

  • حداقل درخت پوشا چیست؟ What is Minimum Spanning Tree?

  • Disjoint Set چیست؟ What is Disjoint Set?

  • Disjoint Set در جاوا Disjoint Set in Java

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

الگوریتم های کروسکال و پریم Kruskal and Prim's Algorithms

  • الگوریتم کروسکال Kruskal Algorithm

  • الگوریتم کروسکال در جاوا Kruskal Algorithm in Java

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

  • الگوریتم پریم در جاوا Prim's Algorithm in Java

  • الگوریتم های کروسکال در مقابل پریم Kruskal vs Prim's Algorithms

  • دانلود منابع 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

  • متعادل را بررسی کنید Check Balanced

  • راه حلی برای بررسی تعادل Solution to Check Balanced

  • اعتبارسنجی BST Validate BST

  • راه حل اعتبارسنجی BST Solution to Validate BST

  • جانشین Successor

  • راه حلی برای جانشین Solution to Successor

  • BuildOrder BuildOrder

  • راه حلی برای ایجاد نظم Solution to Build Order

  • اجداد مشترک را پیدا کنید Find Common Ancestor

  • راه حلی برای یافتن اجداد مشترک Solution to Find Common Ancestor

الگوریتم های حریص Greedy Algorithms

  • الگوریتم حریص چیست؟ What is Greedy Algorithm?

  • الگوریتم های حریص شناخته شده Known Greedy Algorithms

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

  • مشکل انتخاب فعالیت در جاوا Activity Selection Problem in Java

  • مشکل تغییر سکه Coin Change Problem

  • مشکل تغییر سکه در جاوا Coin Change Problem in Java

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

  • مشکل کوله پشتی کسری در جاوا Fractional Knapsack Problem in Java

  • دانلود منابع Download 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 Java

  • دزد خانه House Robber

  • دزد خانه در جاوا House Robber in Java

  • یک رشته را به رشته دیگر تبدیل کنید Convert One String to Another

  • تبدیل یک رشته به رشته دیگر در جاوا Convert One String to Another in Java

  • مشکل کوله پشتی صفر یک Zero One Knapsack Problem

  • مشکل Zero One Knapsack در جاوا Zero One Knapsack Problem in Java

  • طولانی ترین مشکل متداول بعدی Longest Common Subsequence Problem

  • طولانی ترین مشکل متداول بعدی در جاوا Longest Common Subsequence Problem in Java

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

  • طولانی ترین مشکل زیر توالی پالیندرومیک در جاوا Longest Palindromic Subsequence Problem in Java

  • حداقل هزینه برای رسیدن به آخرین سلول Minimum Cost to Reach Last Cell

  • حداقل هزینه برای رسیدن به آخرین سلول در جاوا Minimum Cost to Reach Last Cell in Java

  • تعداد مسیرهای رسیدن به آخرین سلول با هزینه معین Number of Paths To Reach The Last Cell with Given Cost

  • تعداد مسیرهای رسیدن به آخرین سلول با هزینه معین در جاوا Number of Paths To Reach The Last Cell with Given Cost in Java

  • دانلود منابع Download 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 Approach

  • فاکتور عددی رویکرد پایین به بالا Number Factor Bottom Up Approach

  • فاکتور شماره: از بالا به پایین و پایین به بالا Number Factor : Top Down and Bottom Up

  • مشکل دزد خانه با استفاده از برنامه نویسی پویا House Robber Problem using Dynamic Programming

  • دزد خانه از بالا به پایین رویکرد House Robber Top Down Approach

  • راه حلی برای رویکرد بالا پایین دزد خانه Solution to House Robber Top Down Approach

  • دزد خانه رویکرد پایین به بالا House Robber Bottom Up Approach

  • راه حلی برای رویکرد دزد خانه از پایین به بالا Solution to House Robber Bottom Up Approach

  • با استفاده از برنامه نویسی پویا یک رشته را به رشته دیگر تبدیل کنید Convert one string to another using Dynamic Programming

  • با استفاده از روش Top Down یک رشته را به رشته دیگر تبدیل کنید Convert One String to Another using Top Down Approach

  • راه حلی برای تبدیل یک رشته به رشته دیگر با استفاده از روش Top Down Solution to Convert One String to Another using Top Down Approach

  • با استفاده از روش پایین به بالا، یک رشته را به رشته دیگر تبدیل کنید Convert One String to Another using Bottom Up Approach

  • راه حلی برای تبدیل یک رشته به رشته دیگر با استفاده از رویکرد پایین به بالا Solution to Convert One String to Another using Bottom Up Approach

مسائل چالش برانگیز برنامه نویسی پویا 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 using Top Down Approach

  • راه‌حل مشکل طولانی‌ترین طول دنباله متداول با استفاده از رویکرد بالا به پایین Solution to Longest Common Subsequence Length problem using Top Down Approach

  • طولانی ترین مشکل طول بعدی متداول با استفاده از رویکرد پایین به بالا Longest Common Subsequence Length problem using Bottom Up Approach

  • راه حل مشکل طولانی ترین متداول طول دنباله با استفاده از رویکرد پایین به بالا Solution to Longest Common Subsequence Length problem using Bottom Up Approach

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

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

  • طولانی ترین زیر دنباله پالیندرومیک با استفاده از رویکرد بالا به پایین Longest Palindromic Subsequence using Top Down Approach

  • راه حل طولانی ترین زیر توالی پالیندرومیک با استفاده از رویکرد بالا به پایین Solution to Longest Palindromic Subsequence using Top Down Approach

  • طولانی ترین زیر توالی پالیندرومیک با استفاده از رویکرد پایین به بالا Longest Palindromic Subsequence using Bottom Up Approach

  • راه حل طولانی ترین زیر توالی پالیندرومیک با استفاده از رویکرد پایین به بالا Solution to Longest Palindromic Subsequence using Bottom Up Approach

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

  • راه حل طولانی ترین زیر رشته پالیندرومیک Solution to Longest Palindromic Substring

تمرينات كدگذاري Divide and Conquer Divide and Conquer CODING EXERCISES

  • تقسیم و تسخیر - 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

دستور العملی برای حل مسئله A Recipe for Problem Solving

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

  • معرفی 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

  • Backtracking چیست؟ What is Backtracking?

  • عقب نشینی در مقابل نیروی بی رحم Backtracking vs Brute Force

  • آزمون عقبگرد Backtracking Quiz

  • N - مشکل کوئینز N - Queens Problem

  • N - مشکل کوئینز در جاوا N - Queens problem in Java

غرب وحشی 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

دوره های دیگر من My Other Courses

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

آموزش Masterclass ساختارهای داده و الگوریتم های جاوا
جزییات دوره
45.5 hours
432
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
33,430
4.5 از 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 در دسترس دارم.