00:00 / 00:00
1.8x
1.4x
1.0x
0.7x
HD SD
HD
SD
00:00 / 00:00
1.8x
1.4x
1.0x
0.7x
HD SD
HD
SD

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

دوره‌های رایگان دانشگاهی
27 جلسه

سرفصل‌ها

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

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

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

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

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

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

 

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

 

متأسفانه جلسه اول این درس ضبط نشده‌است.

مدرس دوره
رسول اسماعیلی‌فرد

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

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

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

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

×

ثبت نظر

به این دوره از ۱ تا ۵ چه امتیازی می‌دهید؟
ساختمان داده‌ها
27:43 ساعت
27:43
Combined Shape Created with Sketch. 27 جلسه
جلسه دوم: لیست پیوندی یک‌طرفه
"43:28
جلسه سوم: لیست پیوندی دوطرفه
"30:40
جلسه چهارم: تحلیل الگوریتم‌ها (بخش اول)
"63:54
جلسه پنجم: تحلیل الگوریتم‌ها (بخش دوم)
"62:02
جلسه ششم: بازگشت (بخش اول)
"66:14
جلسه هفتم: بازگشت (بخش دوم)
"74:14
جلسه هشتم: پشته
"82:10
جلسه نهم: صف
"50:25
جلسه دهم: لیست موقعیت دار
"71:17
جلسه یازدهم: تکرار کننده‌ها (Iterators)
"26:36
جلسه دوازدهم: درخت‌ها (بخش اول)
"81:09
جلسه سیزدهم: درخت‌ها (بخش دوم)
"55:20
جلسه چهاردهم: درخت‌ها (بخش سوم)
"70:06
جلسه پانزدهم: صف‌های اولویت
"81:38
جلسه شانزدهم: کپه‌ها (Heaps)
"69:25
جلسه هفدهم: مرتب سازی با صف اولویت
"84:01
جلسه هجدهم: نگاشت‌ها (Maps)
"75:10
جلسه نوزدهم: جداول درهم سازی (بخش اول)
"58:58
جلسه بیستم: جداول درهم سازی (بخش دوم)
"60:55
جلسه بیست و یکم: نگاشت‌های مرتب شده
"53:34
جلسه بیست و دوم: لیست‌های جهشی (Skip Lists)
"52:19
جلسه بیست و سوم: درختان جستجوی دودویی
"104:21
جلسه بیست و چهارم: درختان جستجوی متوازن
"54:37
جلسه بیست و پنجم: درختان AVL
"48:07
جلسه بیست و ششم: گراف (بخش اول)
"67:09
جلسه بیست و هفتم: گراف (بخش دوم)
"63:58
فایل‌های منبع (Source Code) مورد استفاده در آموزش و نحوه استفاده از آن
"11:53