چرا درباره ساختارهای داده و الگوریتم ها یاد بگیریم؟
الگوریتم ها و ساختارهای داده اصول برنامه نویسی را تشکیل می دهند.
درک خوب الگوریتم ها و ساختارهای داده یکی از مهم ترین الزامات برای تعداد زیادی از موقعیت های کاری است. شما باید بسیاری از مشکلات مربوط به الگوریتم ها و ساختارهای داده را در مصاحبه های کدنویسی حل کنید. در واقع، شما می توانید بدون درک الگوریتم ها و ساختارهای داده، به طور کلی زندگی کنید. با این حال، میتوانید این کار را انجام دهید تا زمانی که با یک مشکل واقعی مواجه شوید که نیاز به انتخاب ساختارهای داده مناسب و پیادهسازی الگوریتمهای سفارشی دارد. اگر تا به حال با چنین مشکلاتی مواجه نشده اید، باور کنید، این فقط یک زمان است. روزی با چنین مشکلی مواجه می شوید و اگر الگوریتم ها و ساختارهای داده را به طور عمیق درک نکنید، احساس شرمندگی و درماندگی خواهید کرد. گیر خواهید کرد.
اگر در الگوریتمها و ساختارهای داده مهارت ندارید، هرگز در یک مصاحبه کدنویسی در یک شرکت مناسب قبول نمیشوید. تقریباً همه شرکت ها ترجیح می دهند توسعه دهندگانی را استخدام کنند که درک خوبی از الگوریتم ها و ساختارهای داده دارند، این را به خاطر بسپارید. مطالعه مفاهیم اساسی را به تاخیر نیندازید.
سخت افزار بهتر راه حلی برای همه مشکلات مربوط به عملکرد نیست. گاهی اوقات، شما نیاز به نوشتن نرم افزار برای دستگاه های بسیار کند دارید. و این اغلب به بودجه مشتری بستگی دارد، بنابراین شما کنترلی روی آن ندارید.
بهتر است حداقل در یک سطح عمیق بفهمید که زیر کاپوت چه خبر است. در واقع، اگر نمیدانید لیست چگونه کار میکند، گاهی اوقات تصمیمهای غیربهینه یا کاملاً اشتباه میگیرید.
چرا این دوره؟
شما ممکن است از من بپرسید "چرا باید دقیقاً دوره شما را طی کنم؟" و پاسخ من این است:
این دوره آموزشی جامعی است که تعداد زیادی از موضوعات را پوشش می دهد
من سعی کردم تمام تلاشم را بکنم تا این دوره خشک نشود
این دوره نه تنها بر روی الگوریتمها و ساختارهای داده به طور کلی تمرکز دارد، بلکه ساختارهای داخلی دادهها و الگوریتمهای داخلی .NET BCL را آشکار میکند (BCL.NET Core در مورد ساختارهای داده و الگوریتمهای اساسی یکسان است)
این دوره با تمرین ها و راه حل ها عملی است
این دوره قطعا به شما کمک می کند تا مصاحبه های فنی را پشت سر بگذارید
این دوره توسط یک توسعه دهنده نرم افزار حرفه ای با بیش از 10 سال تجربه در دنیای واقعی ساخته شده است
و بسیاری دلایل دیگر :)
چه چیزی در دوره وجود دارد؟
در حال حاضر، دوره شامل موارد زیر است:
مقدمه ای بر الگوریتم ها و ساختارهای داده: ساختار داده چیست، نوع داده انتزاعی و تفاوت بین این مفاهیم چیست. الگوریتم چیست و چرا برای ما مهم است؟
مقدمه ای بر تجزیه و تحلیل الگوریتم: تعیین مدت زمان کار یک برنامه، ساختن نمودار log-log، تقریب ها، ترتیب رشد (نشان گذاری Big-O)، مصرف حافظه
آرایه ها: آرایه ها در سی شارپ، آرایه ها در حافظه، پیچیدگی زمانی عملیات روی آرایه ها
الگوریتمهای مرتبسازی: مرتبسازی حبابی، مرتبسازی انتخابی، مرتبسازی درج، بازگشت، مرتبسازی پوسته، مرتبسازی ادغام، مرتبسازی سریع، الگوریتمهای پایداری مرتبسازی
فهرستها: فهرست NET BCL داخلی، گرهها، فهرست پیوندی شامل فهرستهای پیوندی منفرد و دوبل، فهرست پیوندی داخلی NET.
پشته ها: تئوری و عمل. پشته بر اساس آرایه، پشته بر اساس لیست پیوندی، پشته داخلی .NET
صف: تئوری و عمل. صف بر اساس آرایه، صف دایره ای، صف بر اساس لیست پیوندی، صف داخلی NET BCL
الگوریتم های جستجو: جستجوی خطی، جستجوی باینری (در آینده موارد بیشتری اضافه خواهد شد)
جداول نماد: مقدمه، API، مبتنی بر جستجوی متوالی، مبتنی بر جستجوی باینری
جداول هش: مقدمه، توابع هش، GetHashCode، رویکردهای حل برخورد: زنجیرهای جداگانه و کاوش خطی، دیکشنری داخلی BCL، مجموعهها در BCL
درختان: درخت جستجوی دودویی (BST)، اجرای BST (در آینده موارد بیشتری اضافه خواهد شد)
Heaps: مقدمه، پشتهها و آرایهها، پیادهسازی، مرتبسازی پشته (مخصوصاً در مورد صفهای اولویتدار در آینده اضافه خواهد شد)
مجموعههای تغییرناپذیر: تغییرناپذیری و فشار حافظه، پشتهها و صفهای غیرقابل تغییر، فهرست غیرقابل تغییر، مجموعههای تغییرناپذیر، دیکشنریهای تغییرناپذیر، سازندگان در مجموعههای تغییرناپذیر
الگوریتم های مختلف. همانطور که حدس می زنید این بخش شامل الگوریتم های مختلفی می شود. در حال حاضر، غربال اراتوستن را به تصویر می کشد.
اکنون این دوره را بگذرانید و راضی خواهید بود! فراموش نکنید که Udemy سیاست بازپرداخت 30 روزه را ارائه می دهد، بنابراین اگر دوره را دوست ندارید، فقط روی چند دکمه کلیک کنید و پول خود را پس بگیرید!
مهندس نرم افزار - بیش از 1000 نقد، میانگین امتیاز - 4.5
نمایش نظرات