آموزش رایگان ساختمان داده‌ها

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

4.7 (15 امتیاز)
9,596 دانشجو
مقدماتی
محتوای دوره
درباره دوره
نظرات کاربران
درباره استاد

محتوای دوره

1 فصل 29 جلسه 29 ساعت ویدیو
ساختمان داده‌ها

درباره دوره

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

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

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

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

بدین منظور، هر ساختمان‌داده در قالب یک نوع داده انتزاعی یا Abstract Data Type (ADT) ارائه می‌شود که یک نوع داده و شکل منطقی آن را در اختیار ما قرار می‌دهد. این طراحی انواع داده، خود زمینه‌ای را برای طراحی نرم‌افزار ایجاد می‌کنند.

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

 

*****فایل‌های کد منبع مورد استفاده و فیلم نحوه استفاده از کدهای منبع (Source Code) در جلسه آخر قرار داده شده‌است*****

اطلاعات بیشتر

امتیاز و نظرات کاربران

4.7

از مجموع 15 امتیاز

6 نظر

4 ماه پیش

درود آیا دوره ای برای ساختمان داده سی پلاس پلاس دارید؟

دانشجوی دوره

10 ماه پیش

استاد دوره چندین جا به کتاب ارجاع دادن ولی منفایل کتاب یا معرفی کتاب رو ندیدم جایی ذکر کرده باشن. ممنون بسار عالی بود دوره

دانشجوی دوره

3 سال پیش

لطفا Source Code های دوره را هم قرار دهید. فهم کامل این آموزش بدون داشتن کد ها کمی سخت می‌شود. (مباحث پایانی مانند AVL trees) با تشکر از سایت خوب شما و تدریس آقای اسماعیلی ‌فرد.

دانشجوی دوره

3 سال پیش

عالیه روش درس دادنشون به شدت پیشنهاد میشه فقط حیف که محتوا به این خوبی ولی کیفیت صدا مناسب نیست درصورتی که خیلی از افراد تو یوتیوب با هیچ دانشی به واسطه افکت های تصویری و ابزار های حرفه ای بیننده بسیار جذب میکنند

ابوالفضل رضائی

ابوالفضل رضائی

2 سال پیش

دوره عالی بود و استاد تسلط خوبی دارند، سپاسگزارم

بشری باباخانی تیموری

بشری باباخانی تیموری

3 سال پیش

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

مهدی باقری

مهدی باقری

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

درباره استاد

رسول اسماعیلی‌فرد
رسول اسماعیلی‌فرد
2 دوره
13,448 دانشجو

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

اطلاعات بیشتر

سوالات پرتکرار

آیا ممکن است که درسی ناقص ضبط شده باشد؟

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

اگر لینک دانلود یا پخش ویدئو مشکل داشت چه باید کرد؟

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

آیا امکان دریافت فیلم های یک درس به صورت سی دی یا دی وی دی وجود دارد؟

در حال حاضر امکان ارسال دروس به صورت سی دی یا دی وی دی وجود ندارد.