دوره آموزشی
The Great Courses
دوبله زبان فارسی

ساختارهای داده و الگوریتم‌ها (DSA) برای مصاحبه‌های فنی

ساختارهای داده و الگوریتم‌ها (DSA) برای مصاحبه‌های فنی

✅ سرفصل و جزئیات آموزش

آنچه یاد خواهید گرفت:

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

پیش‌نیازهای دوره

  • هیچ تجربه قبلی در برنامه‌نویسی نیاز نیست، این دوره از مبانی مطلق شروع می‌شود.
  • یک کامپیوتر (ویندوز، macOS یا لینوکس) با دسترسی به اینترنت
  • پایتون نصب شده روی سیستم شما (ما شما را در راه‌اندازی راهنمایی می‌کنیم).
  • تمایل به یادگیری، تمرین و تفکر منطقی - تداوم بیشتر از تجربه اهمیت دارد.

توضیحات دوره

ساختارهای داده و الگوریتم در پایتون - کامل‌ترین و کاربردی‌ترین راهنما برای مصاحبه‌های فنی

یادگیری ساختارهای داده و الگوریتم (DSA) یکی از تعیین‌کننده‌ترین مراحل در سفر برنامه‌نویسی شماست. این کار یک برنامه‌نویس خوب را از یک برنامه‌نویس عالی متمایز می‌کند؛ توسعه‌دهنده‌ای که می‌تواند کد بنویسد را از کسی که می‌تواند راه‌حل‌ها را معماری کند، جدا می‌کند. این دوره دقیقاً برای همین تحول طراحی شده است که شامل صرفاً نوشتن کد پایتون تا تفکر الگوریتمی و حل مسائل مانند یک دانشمند علوم کامپیوتر است.

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

اکثر دانشجویان با DSA مشکل دارند، نه به این دلیل که ذاتاً دشوار است، بلکه به این دلیل که پایه اغلب با عجله یا به صورت پراکنده شکل گرفته است. در این دوره، ما کارها را متفاوت انجام می‌دهیم. ما مستقیماً از مبانی پایتون شروع می‌کنیم که شامل راه‌اندازی محیط، درک تایپ‌های داده، شرطی‌ها، حلقه‌ها، توابع، comprehensions، مولدها، دکوراتورها و اجزای سازنده ضروری کد تمیز و کارآمد است. قبل از اینکه به سراغ الگوریتم‌ها برویم، شما از قبل مانند یک حل‌کننده مسئله فکر خواهید کرد.

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

از آنجا، وارد دنیای ساختارهای داده می‌شویم که شامل آرایه‌ها، heaps، لیست‌های پیوندی، استک‌ها، صف‌ها، هش‌مپ‌ها، درخت‌ها و گراف‌ها است. اما به جای اینکه فقط تعاریف یا پیاده‌سازی‌های پایتون آنها را آموزش دهیم، داستان پشت هر کدام را درک خواهید کرد - چه زمانی از آنها استفاده کنید، چرا وجود دارند و در under the hood چگونه رفتار می‌کنند. شما یاد خواهید گرفت که تفاوت یک آرایه با یک لیست پیوندی نه فقط در سینتکس، بلکه در رفتار حافظه است؛ اینکه چرا heaps در سیستم‌های واقعی مانند schedulers اهمیت دارند و چگونه گراف‌ها، شبکه‌ها، نقشه‌ها و روابط را در هر وب اپلیکیشن بزرگ فناوری امروزی مدل‌سازی می‌کنند.

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

بخش تقسیم و حل (Divide and Conquer) رویکرد برخورد شما با حل مسئله را تغییر خواهد داد. الگوریتم‌هایی مانند مرتب‌سازی ادغامی، مرتب‌سازی سریع و جستجوی باینری نه تنها حفظ نمی‌شوند، بلکه به طور عمیق درک می‌شوند. خواهید دید که چگونه مسائل بزرگتر را می‌توان به مسائل کوچکتر تقسیم کرد، مفهومی که طراحی نرم‌افزار مدرن را از ایندکس‌گذاری پایگاه داده تا پردازش تصویر، هدایت می‌کند.

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

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

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

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

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

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

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

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

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

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

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

ساختارهای داده و الگوریتم‌ها (DSA) برای مصاحبه‌های فنی

  • مقدمه دوره 06:51
  • آشنایی با مدرس خود - Hitesh 05:24
  • برنامه‌نویسی چیست؟ 09:01
  • تبدیل آن به کد پایتون 08:05
  • مقدمه کد پایتون در دنیای واقعی 12:43
  • چرا از پایتون استفاده کنیم؟ 04:04
  • نوشتن اولین کد پایتون در مک 10:41
  • نوشتن اولین کد پایتون در ویندوز 07:53
  • دریافت همه موارد در محیط مجازی 12:15
  • سازماندهی کد پایتون مانند یک حرفه‌ای 06:51
  • PEP8 و ذن پایتون 04:46
  • آبجکت‌ها - تغییرپذیر و تغییرناپذیر در پایتون 18:18
  • اعداد، بولی‌ها و عملگرها در عمق در پایتون 27:00
  • رشته - ایندکس، اسلایس و انکودینگ 12:23
  • تاپل‌ها و تست عضویت 08:45
  • مبانی لیست در پایتون 13:38
  • overloading عملگر و bytearray در پایتون 10:24
  • مجموعه و frozenset در پایتون 09:01
  • دیکشنری در پایتون 16:38
  • اشاره‌ای به تایپ‌های داده پیشرفته مانند کالکشن‌ها 07:03
  • پروژه داستان جوشیدن کتری 07:52
  • ساخت سیستم اسنک 07:10
  • ساخت ماشین‌حساب قیمت چای 05:41
  • ساخت سیستم ترموستات هوشمند 05:46
  • سیستم لغو هزینه ارسال 07:07
  • ساخت سیستم اطلاعات صندلی قطار 07:27
  • آشنایی با حلقه‌ها 03:53
  • دستگاه توزیع توکن چای 06:35
  • آماده‌سازی دسته‌ای چای 03:02
  • حلقه زدن در لیست - نام سفارشات 02:38
  • چرا از Enumerate استفاده کنیم؟ 05:17
  • Zip می‌تواند لیست‌ها را ترکیب کند 03:57
  • معرفی حلقه While در پایتون 05:07
  • Break و Continue و Loop Fallback 13:00
  • عملگر Walrus در پایتون جالب است 13:23
  • دیکشنری به جای Match Case 08:53
  • توابع - کاهش داپلیکیشن و تقسیم تسک‌های پیچیده 14:30
  • توابع - 3 ویژگی دیگر 12:32
  • اسکوپ و فضای نام در توابع 12:04
  • اسکوپ‌های غیرمحلی در مقابل گلوبال 09:07
  • مدیریت آرگومان‌ها در تابع در پایتون 15:01
  • مدیریت چند بازگشت در پایتون 10:43
  • لامبداها، توابع خالص در مقابل ناخالص 12:24
  • مستندسازی توابع خود و توابع داخلی 09:24
  • ایمپورت‌ها، ماژول‌ها و فایل Init در پایتون 14:41
  • Comprehensions در پایتون چیست؟ 06:39
  • List Comprehensions در پایتون 08:33
  • Set Comprehensions در پایتون 12:00
  • Dictionary Comprehensions در پایتون 05:37
  • Generator Comprehensions برای بهینه‌سازی حافظه 07:07
  • مولدها با متدهای Yield و Next 10:34
  • مولدهای نامحدود در پایتون 04:44
  • ارسال مقدار به ژمولدها 07:45
  • Yield From و بستن مولدها 08:55
  • دکوراتورها در پایتون 09:12
  • ساخت لاگر با دکوراتور 05:56
  • ساخت دکوراتور مجوز 05:45
  • ساخت اولین کلاس و آبجکت خود در پایتون 09:05
  • فضای نام کلاس و آبجکت 08:19
  • Attribute Shadowing در پایتون 06:14
  • آرگومان Self در پایتون 07:31
  • Constructors و Init در کلاس‌های پایتون 08:20
  • وراثت و کامپوزیشن در کلاس‌های پایتون 18:02
  • 3 روش برای دسترسی به کلاس اولیه 07:19
  • Method Resolution Order (MRO) 08:02
  • متدهای استاتیک در پایتون 05:43
  • متد کلاس در مقابل متد استاتیک 11:47
  • دکوراتور ویژگی - Getter و Setter 08:05
  • مدیریت خطا چیست؟ 05:29
  • Try except else و finally 08:28
  • ضبط چندین استثنا 06:56
  • Raising خطاهای خود 03:18
  • ایجاد استثناهای سفارشی 03:57
  • پروژه کوچک با یادگیری استثناها 07:09
  • مدیریت فایل با try except و with 08:46
  • نقشه راه کامل DSA 36:57
  • چرا DSA مورد نیاز است؟ 13:52
  • مقدمه الگوریتم‌ها 08:05
  • مراحل ایجاد یک الگوریتم 12:44
  • انواع تحلیل 14:28
  • نمادهای مجانبی - پیچیدگی زمانی Big O 20:14
  • نمادهای مجانبی - پیچیدگی زمانی امگا 11:07
  • نمادهای مجانبی - پیچیدگی زمانی تتا 07:10
  • تحلیل آپریوری - تحلیل پیچیدگی زمانی - بخش 1 17:30
  • تحلیل آپریوری - تحلیل پیچیدگی زمانی - بخش 2 11:41
  • تحلیل آپریوری - تحلیل پیچیدگی زمانی - بخش 3 15:03
  • مجموعه تمرین - نمادهای مجانبی 03:32
  • کلاس‌های پیچیدگی 21:36
  • مقدمه‌ رابطه بازگشتی 07:15
  • متد جایگزینی - مسئله 1 12:29
  • متد جایگزینی - مسئله 2 10:59
  • متد جایگزینی - مسئله 3 12:28
  • رویکرد درخت بازگشتی - مسئله 1 12:35
  • رویکرد درخت بازگشتی - مسئله 2 10:35
  • رویکرد درخت بازگشتی - مسئله 3 09:26
  • مجموعه تمرین - جایگزینی و رویکرد درخت بازگشتی 04:09
  • قضیه مسترز - مورد 1 13:48
  • قضیه مسترز - مورد 2 13:39
  • قضیه مسترز - مورد 3 06:19
  • مجموعه تمرین - قضیه مسترز 05:58
  • مقدمه‌ای بر ساختارهای داده آرایه 20:33
  • پیاده‌سازی ساختار داده آرایه 26:35
  • آدرس یک عنصر در یک آرایه تک بعدی 16:26
  • آدرس یک عنصر در یک آرایه دو بعدی 12:29
  • جستجوی یک عنصر - جستجوی خطی 14:49
  • جستجوی یک عنصر - جستجوی باینری 18:25
  • رابطه جستجوی باینری بازگشتی 16:16
  • پیاده‌سازی جستجوی باینری 13:08
  • سوال مصاحبه درباره جستجوی باینری 17:06
  • جستجوی ماتریس دو بعدی 25:43
  • جستجوی یک عنصر - جستجوی سه‌گانه 11:24
  • رابطه بازگشتی برای جستجوی سه‌گانه 07:35
  • پیاده‌سازی جستجوی سه‌گانه 08:46
  • مرتب‌سازی آرایه - مقایسه و عدم مقایسه 11:48
  • الگوریتم‌های مرتب‌سازی پایدار و ناپایدار 11:21
  • الگوریتم‌های مرتب‌سازی Outplace و Inplace 04:10
  • مرتب‌سازی مقایسه‌ای - مرتب‌سازی حبابی 20:22
  • مرتب‌سازی مقایسه‌ای - پیاده‌سازی مرتب‌سازی حبابی 10:31
  • مرتب‌سازی مقایسه‌ای - مرتب‌سازی انتخابی 18:56
  • مرتب‌سازی مقایسه‌ای - پیاده‌سازی مرتب‌سازی انتخابی 08:52
  • مرتب‌سازی مقایسه‌ای - مرتب‌سازی درجی 23:39
  • مرتب‌سازی مقایسه‌ای - پیاده‌سازی مرتب‌سازی درجی 10:54
  • سوال مصاحبه FAANG درباره آرایه‌ها - بهترین زمان برای خرید و فروش سهام - Synchro 10:55
  • سوال مصاحبه FAANG درباره آرایه‌ها - نقاط هم‌خطی 14:32
  • سوال مصاحبه FAANG درباره آرایه‌ها - عنصر اکثریت 29:19
  • سوال مصاحبه FAANG درباره آرایه‌ها - مرتب‌سازی رنگ‌ها 14:03
  • مبانی مرتب‌سازی Heap - درخت باینری کل در مقابل درخت باینری کامل در مقابل درخت تقریباً مکمل 26:16
  • مفهوم درخت‌های Minheap و Maxheap 14:21
  • درج در Minheap 16:29
  • حذف درخت Minheap یا Maxheap - کلیپ همزمان‌سازی شده 21:02
  • ایجاد درخت Minheap یا Maxheap - کلیپ همزمان‌سازی شده 11:48
  • استخراج پیچیدگی زمانی برای ایجاد Minheap یا Maxheap 20:23
  • مرتب‌سازی مقایسه‌ای - مرتب‌سازی Heap 05:54
  • سوال مصاحبه - رایج‌ترین عناصر K - کلیپ همزمان‌سازی شده 21:32
  • سوال مصاحبه - نزدیکترین نقاط K به شروع - کلیپ همزمان‌سازی شده 17:19
  • آشنایی با بازگشت 22:16
  • یافتن فاکتوریل با استفاده از بازگشت و پیاده‌سازی آن 11:24
  • سری فیبوناچی با استفاده از بازگشت و پیاده‌سازی آن 21:00
  • تعداد راه‌های رسیدن به بالای پلکان 22:14
  • مقدمه‌ای بر تقسیم و حل 21:48
  • یافتن حداکثرها و حداقل‌ها 45:46
  • پیاده‌سازی یافتن حداکثرها و حداقل‌ها 13:15
  • یافتن قدرت یک عنصر از طریق پیاده‌سازی آن 32:00
  • جستجوی باینری 18:26
  • رابطه جستجوی باینری بازگشتی 16:16
  • پیاده‌سازی جستجوی باینری 13:08
  • سوال مصاحبه FAANG - مسئله دو اشاره‌گر 19:32
  • مرتب‌سازی ادغامی 49:17
  • پیاده سازی مرتب‌‌سازی ادغامی 21:01
  • سوال مصاحبه FAANG درباره یافتن پیچیدگی یک آرایه مرتب شده با مرتب‌‌سازی ادغامی 17:10
  • مرتب‌سازی سریع 48:36
  • پیاده‌سازی مرتب‌‌سازی سریع 12:08
  • سوال مصاحبه مبتنی بر سناریو FAANG درباره پیچیدگی مرتب‌‌سازی سریع 16:11
  • مرتب‌سازی سریع تصادفی 10:44
  • رویه انتخاب 18:46
  • پیاده‌سازی رویه انتخاب 10:54
  • تعداد وارونگی‌ها 25:55
  • ضرب ماتریس استراسن 08:22
  • مقدمه‌ای بر لیست‌های پیوندی 16:21
  • درج یک گره در لیست پیوندی - ابتدای لیست 15:59
  • درج یک گره در لیست پیوندی - بعد از یک گره 10:51
  • درج یک گره در لیست پیوندی - پایان 17:35
  • حذف یک گره از لیست پیوندی 12:03
  • جستجوی یک گره در لیست پیوندی 21:09
  • سوال مصاحبه FAANG - معکوس کردن یک گره در لیست پیوندی 20:08
  • سوال مصاحبه FAANG - شمارش تمام گره‌ها در لیست پیوندی 10:05
  • سوال مصاحبه FAANG - الگوریتم تشخیص چرخه فلوید 17:34
  • سوال مصاحبه FAANG - ادغام دو لیست پیوندی مرتب شده 18:51
  • ساختار داده لیست رد شده 32:39
  • مقدمه‌ای بر ساختار داده استک و عملیات پوش در عمق 21:05
  • عملیات استک-پاپ 08:27
  • پیاده‌سازی استک با استفاده از آرایه و لیست پیوندی 13:11
  • صف - عملیات درج و حذف 16:39
  • پیاده‌سازی صف با استفاده از آرایه و لیست پیوندی 16:04
  • سوال مصاحبه FAANG - پرانتزهای صحیح 19:28
  • مقدمه‌ای بر ساختار داده هش 15:22
  • توابع هش و انواع آنها 11:04
  • پیاده‌سازی توابع هش 21:06
  • آدرس‌دهی باز - Probing خطی و خوشه‌بندی اولیه 29:39
  • آدرس‌دهی باز - Probing مربعی و خوشه‌بندی ثانویه 25:58
  • هش کردن دوگانه 18:56
  • زنجیره‌سازی 12:41
  • ضریب بار و هش کردن مجدد 04:54
  • مبانی درخت - درخت باینری کل در مقابل درخت باینری کامل در مقابل درخت باینری تقریباً کامل 26:16
  • الگوریتم‌های پیمایش درخت - Inorder و Preorder و PostOrder 55:17
  • سوالات مصاحبه FAANG درباره الگوریتم پیمایش درخت 15:47
  • مقدمه‌ای بر درخت جستجوی باینری 17:58
  • درج و پیمایش Inorder در BST 17:17
  • سوال مصاحبه FAANG - حداقل مقدار در BST 07:27
  • سوال مصاحبه FAANG - یافتن BST منحصربه‌فرد و ممکن BST 16:26
  • جستجو در درخت جستجوی باینری 12:50
  • حذف درخت جستجوی باینری 27:33
  • گراف اولیه 25:40
  • مقدمه‌ای بر الگوریتم‌های پیمایش گراف 08:40
  • مقدمه‌ای بر جستجوی عمق اول (DFS) 12:21
  • شبه کد DFS و مثال تصویری 15:32
  • پیاده‌سازی کدنویسی DFS 12:55
  • مقدمه‌ BFS، شبه کد و مثال تصویری 14:47
  • پیاده‌سازی کدنویسی BFS 10:46
  • مقدمه‌ای بر الگوریتم حریصانه 13:28
  • مسئله کوله‌پشتی کسری 18:16
  • پیاده‌سازی مسئله کوله‌پشتی کسری 13:05
  • مقدمه‌ای بر درخت‌ پوشا و درخت‌ پوشای کمینه 12:37
  • درخت پوشای کمینه - الگوریتم کروسکال 16:48
  • درخت پوشای کمینه - الگوریتم پرایم 20:13
  • کوتاه‌ترین مسیر با یک مبدا - الگوریتم دایکسترا 41:22
  • کوتاه‌ترین مسیر با یک مبدا - پیاده‌سازی الگوریتم دایکسترا 20:58
  • کدنویسی هافمن 28:25
  • الگوی ادغام بهینه 10:41
  • زمانبندی Job با ددلاین 24:12
  • آشنایی با برنامه‌نویسی پویا 26:52
  • سری فیبوناچی با استفاده از برنامه‌نویسی پویا 17:52
  • کوله‌پشتی 26:12
  • حوزه تحقیقاتی - مسائل P ،NP ،NP-Hard و NP-Complete 20:20
  • چند نکته نهایی برای همه دانشجویان 12:50
  • فرآیند دقیق مصاحبه برای ورود به شرکت‌های FAANG 34:22

30,909,200 7,727,300 تومان

مشخصات آموزش

ساختارهای داده و الگوریتم‌ها (DSA) برای مصاحبه‌های فنی

  • تاریخ به روز رسانی: 1404/12/10
  • سطح دوره:همه سطوح
  • تعداد درس:216
  • مدت زمان :51:51:42
  • حجم :52.34GB
  • زبان:دوبله زبان فارسی
  • دوره آموزشی:AI Academy

آموزش های مرتبط

The Great Courses
1,833,000 366,600 تومان
  • زمان: 02:27:39
  • تعداد درس: 24
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
2,260,000 452,000 تومان
  • زمان: 03:02:02
  • تعداد درس: 14
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
795,000 159,000 تومان
  • زمان: 58:00
  • تعداد درس: 12
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
19,403,000 3,880,600 تومان
  • زمان: 26:02:40
  • تعداد درس: 175
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
8,508,000 1,701,600 تومان
  • زمان: 11:25:13
  • تعداد درس: 94
  • سطح دوره:
  • زبان: دوبله فارسی
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
6,100,500 1,220,100 تومان
  • زمان: 08:11:21
  • تعداد درس: 28
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
7,256,500 1,451,300 تومان
  • زمان: 09:44:25
  • تعداد درس: 67
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
3,634,500 726,900 تومان
  • زمان: 04:52:43
  • تعداد درس: 38
  • سطح دوره:
  • زبان: دوبله فارسی

آیا سوالی دارید؟

ما به شما کمک خواهیم کرد تا شغل و رشد خود را افزایش دهید.
امروز با ما تماس بگیرید