آموزش رایگان ساختمانهای داده یکی از اون دورههاییه که خیلی از دانشجوهای کامپیوتر دنبالشن. چرا؟ چون این درس پایهی خیلی چیزهای دیگهست و اگه درست یادش بگیری، کلی از مسیر برات هموارتر میشه.
ساختمان داده دقیقاً چیه و چرا اینقدر مهمه؟ 🤔
سازماندادنِ دادهها به یک طریق خاص و بر پایهی مدل منطقی ی...
آموزش رایگان ساختمانهای داده یکی از اون دورههاییه که خیلی از دانشجوهای کامپیوتر دنبالشن. چرا؟ چون این درس پایهی خیلی چیزهای دیگهست و اگه درست یادش بگیری، کلی از مسیر برات هموارتر میشه.
ساختمان داده دقیقاً چیه و چرا اینقدر مهمه؟ 🤔
سازماندادنِ دادهها به یک طریق خاص و بر پایهی مدل منطقی یا ریاضی، بهمنظور استفاده بهینه از دادهها، همون چیزیه که بهش «داده ساختار» میگن. داده ساختارها انواع مختلفی دارن و هرکدوم برای برنامههای خاصی مناسبترن.
ساختمان دادهها روشهای ذخیرهی دادهها در رایانه هستن، با هدف دسترسی آسانتر و بهینهتر. در مقابل، الگوریتم روشی برای حل مسئله بهوسیلهی کامپیوتره. توی درس ساختمان داده، دانشجو با برنامهنویسی اصولی مبتنی بر تحلیلهای ریاضی کارایی از یه طرف، و مبتنی بر اصول طراحی شیءگرایی از طرف دیگه آشنا میشه. با انجام تمرینات متعدد هم مهارت برنامهنویسی اصولی توی ذهنش نهادینه میشه.
چرا این دوره رو ببینیم؟
با اینکه این درس و درس طراحی الگوریتم از دیدگاه نظری خیلی به هم نزدیکن، اما اهمیت برنامهنویسی مطابق با اصول یه زبان برنامهنویسی مشخص باعث شده همهی مؤلفینی که درک درستی از جایگاه این درس داشتن، کتابهای درس ساختمان دادهها رو برای یه زبان مشخص تألیف کنن. بعد از گذروندن این درس، دانشجو میتونه مفاهیم مجردی رو که توی درسهای دیگه مثل طراحی الگوریتم یا اصول طراحی کامپایلر گفته میشه، بهصورت عمیق درک کنه و بدونه پیادهسازیشون دقیقاً به چه شکلیه.
توی این دوره، دکتر غیاثی شیرازی ساختمان دادهها رو با محوریت زبانهای C++ و Java تدریس میکنه و گاهی هم توی جلسات کلاس از پایتون برای کدنویسی استفاده میکنه.
این دوره برای چه کسانی مناسبه؟
ساختمانهای داده مهمترین درس دورهی کارشناسی مهندسی کامپیوتره. این درس بعد از دروس ریاضیات گسسته و برنامهسازی پیشرفته قرار میگیره و خودش پیشنیاز دروس متعدد دیگهایه. دانشجو توی دروس ریاضی ۱ و ریاضیات گسسته با مباحث ریاضی آشنا شده، اما رابطهای بین اون مباحث و برنامهنویسی توی ذهنش شکل نگرفته. همچنین با مفاهیم شیءگرایی مثل کلاس، شیء و ارثبری توی درس برنامهسازی پیشرفته آشنا شده ولی تمرین کافی نداشته. اینجاست که چنین دورهای میتونه شکاف بین تئوری و عمل رو پر کنه.
مثلاً فرض کن میخوای یه سیستم مدیریت کتابخونه بسازی. بدون دونستن ساختمان داده، شاید ساده به نظر بیاد، ولی وقتی تعداد کتابها به هزاران برسه، این تویی که باید بدونی از درخت جستوجوی دودویی استفاده کنی یا جدول هش. این تصمیمها همون چیزیه که این درس یادت میده.
محتوای دوره 📚
شماره
عنوان فصل
تعداد جلسات
مدت زمان
۱
فصل اول: مقدمه
۲ جلسه
۰۱:۴۶ ساعت
۲
فصل دوم: تحلیل الگوریتمها
۱۲ جلسه
۱۱:۴۰ ساعت
۳
فصل سوم: تحلیل پیشرفتهی الگوریتمها
۵ جلسه
۰۳:۰۷ ساعت
۴
فصل چهارم: ساختمانهای داده
۱۶ جلسه
۱۶:۴۳ ساعت
مشخصات کلی دوره
عنوان دوره: آموزش رایگان ساختمانهای داده
مدرس: دکتر غیاثی شیرازی
زبانهای تدریس: C++ و Java (بههمراه پایتون در برخی جلسات)
سطح: کارشناسی مهندسی کامپیوتر
هزینه: رایگان
وضعیت: در حال ضبط
نکتههای تکمیلی
این دوره هنوز در حال ضبطه و جلسهی اولش ضبط نشده.
فایلهای مرتبط با درس از طریق مخزن گیتهاب مدرس در دسترس دانشجویانه.
اگه دانشجوی کامپیوتری و دنبال یه منبع رایگان و فارسی برای یادگیری عمیق ساختمان داده میگردی، این دوره میتونه نقطهی شروع خوبی باشه. مخصوصاً که با تمرین و کدنویسی همراهه، نه فقط تئوری خالی.