×
ribbon

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

مدرس:دانشگاه صنعتی شیراز

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

این درس به معرفی ساختمان داده ها و الگوریتم ها شامل نحوه طراحی، تحلیل و پیاده سازی آن... بیشتر
4.6 (29)
8 دیدگاه
11,003دانشجو
29ساعت
سرفصل‌ها
مقدماتی سطح دوره

اشتراک مکتب‌پلاس

خرید اشتراک

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

دسترسی به تمام دوره‌هابیش از ۴،۰۰۰ دوره
محتوای دوره
سرفصل‌ها
توضیحات دوره
دیدگاه کاربران
درباره مدرس

این دوره شامل:

29 ساعت ویدئو

دسترسی مادام‌العمر به محتوای دوره

سرفصل‌های دوره

1 فصل29 جلسه29 ساعت ویدیو
ساختمان داده‌ها
  جلسه 1: مقدمه و معرفی ساختمان داده‌ها
43:33
  جلسه 2: آرایه
33:36
  جلسه 3: لیست پیوندی یک‌طرفه
43:28
  جلسه 4: لیست پیوندی دوطرفه
30:40
  جلسه 5: تحلیل الگوریتم‌ها (بخش اول)
63:54
  جلسه 6: تحلیل الگوریتم‌ها (بخش دوم)
62:02
  جلسه 7: بازگشت (بخش اول)
66:14
  جلسه 8: بازگشت (بخش دوم)
74:14
  جلسه 9: پشته
82:10
  جلسه 10: صف
50:25
  جلسه 11: لیست موقعیت دار
71:17
  جلسه 12: تکرار کننده‌ها (Iterators)
39:40
  جلسه 13: درخت‌ها (بخش اول)
81:09
  جلسه 14: درخت‌ها (بخش دوم)
55:20
  جلسه 15: درخت‌ها (بخش سوم)
70:06
  جلسه 16: صف‌های اولویت
81:38
  جلسه 17: کپه‌ها (Heaps)
69:25
  جلسه 18: مرتب سازی با صف اولویت
84:01
  جلسه 19: نگاشت‌ها (Maps)
75:10
  جلسه 20: جداول درهم سازی (بخش اول)
58:58
  جلسه 21: جداول درهم سازی (بخش دوم)
60:55
  جلسه 22: نگاشت‌های مرتب شده
53:34
  جلسه 23: لیست‌های جهشی (Skip Lists)
52:19
  جلسه 24: درختان جستجوی دودویی
104:21
  جلسه 25: درختان جستجوی متوازن
54:37
  جلسه 26: درختان AVL
48:07
  جلسه 26: گراف (بخش اول)
67:09
  جلسه 28: گراف (بخش دوم)
63:58
  فایل‌های منبع (Source Code) مورد استفاده در آموزش و نحوه استفاده از آن
11:53

توضیحات دوره

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

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

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

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

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

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

 

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

دیدگاه کاربران

4.6

بر اساس امتیاز 29 دانشجو

1
2
3
4
5

دانشجوی دوره

4 ماه پیش

5

واقعا دوره ها تون بی نظیر هستند

علی اصغر خداوردی

1 سال پیش

5

عااااااااالی بود

دانشجوی دوره

1 سال پیش

5

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

دانشجوی دوره

2 سال پیش

5

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

دانشجوی دوره

5 سال پیش

5

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

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

5 سال پیش

5

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

2دوره
14,786دانشجو
39نظر و امتیاز

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

مهارت‌هایی که می‌آموزید

دوره‌های مشابه

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

آیا ممکن است برخی جلسات یک درس ناقص باشند؟

معمولا تمامی جلسات هر درس به‌طور کامل ضبط می‌شوند؛ اما گاهی به دلیل برخی ناهماهنگی‌ها ممکن است یک یا چند جلسه ضبط نشده باشد. جزئیات این موارد در توضیحات هر درس درج شده است.

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

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

آیا می‌توان ویدئوهای یک درس را به‌صورت سی‌دی یا دی‌وی‌دی از شما تهیه کرد؟

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