×
ribbon

آموزش رایگان درس طراحی الگوریتم

مدرس:دانشگاه تهران

محمد گنج‌تابش

الگوریتم به مجموعه قوانینی اطلاق می شود که بیانگر سلسه مراتب انجام یک فرآیند هستند و در زمینه... بیشتر
محبوب کاربران
4.9 (64)
23 دیدگاه
18,022دانشجو
31ساعت
سرفصل‌ها
مقدماتی سطح دوره

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

خرید اشتراک

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

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

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

31 ساعت ویدئو

1 فایل ضمیمه قابل دانلود

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

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

1 فصل26 جلسه31 ساعت ویدیو
فیلم های آموزشی
  جلسه اول - مقدمه ای بر طراحی الگوریتم
68:00
  جلسه دوم - تحلیل الگوریتم ها
74:02
  جلسه سوم - تحلیل الگوریتم ها(حل روابط بازگشتی)
66:04
  جلسه چهارم - توابع مولد، روش تقسیم و غلبه
76:14
  جلسه پنجم - مرتب سازی و تحلیل آن
47:10
  جلسه ششم - انتخاب kامین کوچکترین عدد + روش برنامه ریزی پویا
83:03
  جلسه هفتم - برنامه ریزی بویا
69:08
  جلسه هشتم - طولانی ترین زیر رشته مشترک(برنامه ریزی بویا)
67:41
  جلسه نهم - الگوریتم های حریصانه
69:38
  جلسه دهم - الگوریتم های حریصانه
68:09
  جلسه یازدهم - الگوریتم حریصانه (کدگذاری هافمن)
59:46
  جلسه دوازدهم - روش برگشت به عقب و شاخه و تحدید
85:04
  جلسه سیزدهم - ادامه روش شاخه و تحدید + تعاریف اولیه گراف
82:29
  جلسه چهاردهم- نمایش گراف ها و پیمایش انها
69:34
  جلسه پانزدهم - مرتب سازی توپولوژیکی و مولفه های قویا همبند
72:31
  جلسه شانزدهم - یافتن کوتاهترین مسیرها در گراف
80:31
  جلسه هفدهم - یافتن کوتاهترین مسیر بین هر دو راس دلخواه
54:42
  جلسه هجدهم - پیدا کردن درخت پوشای مینیمم
65:37
  جلسه نوزدهم - مقدمه ای بر نظریه NP-completeness
80:31
  جلسه بیستم - ادامه مبحث قبل
74:51
  جسله بیست و یکم - ادامه جلسه قبل
74:01
  جلسه بیست و دوم - ادامه جلسه قبل
80:01
  جلسه بیست و سوم - ادامه جلسه قبل
63:21
  جلسه بیست و چهارم - تطابق رشته ها
86:45
  جلسه بیست و پنجم - تطابق رشته ها(ادامه جلسه قبل)
76:07
  جلسه بیست و ششم - مروری بر روش های حل مسائل سخت
74:29

توضیحات دوره

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

نحوه طراحی الگوریتم

برای نوشتن الگوریتم، موارد زیر به‌عنوان پیش‌نیاز موردنیاز است:

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

چرا از الگوریتم استفاده می‌کنیم؟

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

بنابراین زمان موردنیاز برای حل یک مشکل با رویه الگوریتم بسیار مؤثرتر از زمانی است که بدون هیچ روشی یک مسئله را حل کرد. ازاین‌رو نیاز به الگوریتم ضروری است.

تجزیه‌ و تحلیل الگوریتم

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

چرا تجزیه‌وتحلیل الگوریتم‌ها مهم است؟

دلایل زیر همگی نیاز به تجزیه‌وتحلیل الگوریتم را بیان خواهند کرد:

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

انواع روش ارزیابی الگوریتم

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

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

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

دوره آموزش طراحی الگوریتم

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

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

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

4.9

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

1
2
3
4
5

دانشجوی دوره

20 روز پیش

5

عاليه

خشایار کیانی

9 ماه پیش

5

با سلام - به نظر من درس طراحی الگوریتم رو بسیار جامع و عالی تدریس کردند و همه مطالب رو عمیق و کامل گفتند با تشکر از دکتر گنچ تابش و مجموعه مکتب خونه

دانشجوی دوره

1 سال پیش

5

عالی

دانشجوی دوره

1 سال پیش

5

خوبه

نیما صفری

1 سال پیش

5

کما اینکه کیفیت تصویربرداری ضعیفه ولی شیوه تدریس عالیه

رضا سیاری

2 سال پیش

5

گنج تابش، عالی

8دوره
41,665دانشجو
321نظر و امتیاز

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

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

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

دیگر دوره‌های محمد گنج‌تابش

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

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

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

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

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

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

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