09982292579
info@mehraeen.ac.ir
فارسی پرچم
فارسی
یک زبان را انتخاب کنید
فارسی پرچم
فارسی
0
دسته ها
خانه تقویم‌آموزشی مدرس وبلاگ چارت‌‌دروس تماس‌با‌ما درباره‌ما انجمن‌ها
طراحی الگوریتم ها

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

طراحی الگوریتم
0 دانش پژوه
1 جلسه
چه چیزی یاد خواهید گرفت؟
1. جلسه اول: مقدمه‌ای بر الگوریتم‌ها، پیچیدگی زمانی و فضایی، تحلیل الگوریتم‌ها
جلسه دوم: الگوریتم‌های بازگشتی، حل مسئله با بازگشت
جلسه سوم: الگوریتم‌های جستجو: Linear Search و Binary Search
جلسه چهارم: الگوریتم‌های مرتب‌سازی: Bubble, Selection, Insertion
جلسه پنجم: الگوریتم‌های مرتب‌سازی پیشرفته: Merge Sort, Quick Sort, Heap Sort
جلسه ششم: الگوریتم‌های حریصانه (Greedy): مفاهیم و مثال‌ها
جلسه هفتم: الگوریتم‌های برنامه‌نویسی پویا (Dynamic Programming): مفاهیم و کاربردها
جلسه هشتم: الگوریتم‌های تقسیم و غلبه (Divide and Conquer)
جلسه نهم: الگوریتم‌های گراف: DFS و BFS
جلسه دهم: الگوریتم‌های کوتاه‌ترین مسیر: Dijkstra و Bellman-Ford
جلسه یازدهم: الگوریتم‌های درخت پوشای مینیمم (MST): Prim و Kruskal
جلسه دوازدهم: الگوریتم‌های مسائل NP و بهینه‌سازی
جلسه سیزدهم: تکنیک‌های پیشرفته: Backtracking و Branch & Bound
جلسه چهاردهم: جمع‌بندی، مرور پروژه‌ها و حل مسائل عملی
درباره این دوره

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

رحمت هوشدار محجوب
رحمت هوشدار محجوب
6 دوره‌
0 دانش پژوه
رحمت هوشدار محجوب
بررسی سرفصل

این دوره شامل 1 فصل، 1 درس و 0 ساعت محتوا می‌باشد.

تئوری
1 بخش‌ها
طراحی الگوریتم
رایگان

🌱 جلسه اول: مقدمه‌ای بر الگوریتم‌ها و تحلیل آن‌ها
1. تعریف الگوریتم
الگوریتم (Algorithm) مجموعه‌ای از مراحل دقیق، محدود و قابل‌اجرا برای حل یک مسئله است.



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



🔹 مثال:



الگوریتم مرتب‌سازی اعداد:



کوچک‌ترین عدد را پیدا کن
آن را در ابتدای لیست قرار بده
برای بقیه‌ی عناصر همین کار را تکرار کن
2. ویژگی‌های یک الگوریتم خوب
یک الگوریتم باید:



ورودی مشخص داشته باشد
خروجی مشخص تولید کند
تعداد مراحل محدود داشته باشد
در هر مرحله، دستورالعمل دقیق و واضحی داشته باشد
در زمان محدود قابل‌اجرا باشد
3. تحلیل الگوریتم‌ها (Algorithm Analysis)
تحلیل الگوریتم یعنی بررسی کارایی آن از نظر:



زمان اجرا (Time Complexity): چقدر طول می‌کشد؟
فضای مورد نیاز (Space Complexity): چقدر حافظه نیاز دارد؟
تحلیل معمولاً در دو حالت بررسی می‌شود:



حالت بدترین اجرا (Worst Case)
میانگین حالت (Average Case)
بهترین حالت (Best Case)
4. پیچیدگی زمانی (Time Complexity)
پیچیدگی زمانی یعنی رابطه‌ی بین تعداد مراحل اجرا و اندازه‌ی ورودی (n).



برای تحلیل از نمادگذاری مجانبی (Asymptotic Notation) استفاده می‌کنیم.



نمادهای مهم:



نماد توضیح
O(f(n)) حد بالای رشد — حداکثر زمان مورد نیاز
Ω(f(n)) حد پایین رشد — حداقل زمان مورد نیاز
Θ(f(n)) رشد تقریبی واقعی — زمانی که تابع محدود بالایی و پایینی دارد
🔹 مثال:



الگوریتمی که باید هر عنصر از یک آرایه‌ی n عنصری را بررسی کند، پیچیدگی زمانی آن O(n) است.



5. پیچیدگی فضایی (Space Complexity)
این معیار نشان می‌دهد الگوریتم برای اجرا به چه مقدار حافظه‌ی اضافی نیاز دارد.



مثلاً در الگوریتم جست‌وجوی دودویی، فضای مورد نیاز O(1) (ثابت) است،



در حالی‌که در مرتب‌سازی بازگشتی (مثل Merge Sort) ممکن است O(n) باشد.



6. مقایسه‌ی نرخ رشد توابع مجانبی
وقتی n بزرگ شود:




content_copy
text
O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2ⁿ) < O(n!)
7. هدف اصلی تحلیل الگوریتم‌ها
هدف این نیست که سریع‌ترین یا کم‌فضاترین برنامه را بنویسیم؛



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

فایل 3.09 MB
پاسخ به پرسش
تأیید پرسش‌ها

پرسش شما پس از تأیید ادمین نمایش داده خواهد شد.

0
0 دیدگاه خریداران
کیفیت محتوا (0)
مهارت های مربی (0)
ارزش خرید (0)
کیفیت پشتیبانی (0)
پاسخ به نقد
ارسال پاسخ

پاسخ شما به این نقد برای همه کاربران قابل مشاهده است.

طراحی الگوریتم ها
رایگان
این دوره شامل
محتوای قابل دانلود
مشخصات دوره
تاریخ شروع
15 مهر 1404 | 09:30
بخش‌ها
1
درس
1
ظرفیت
نامحدود
مدت زمان
3:00 ساعت
دانش پژوه
0
تاریخ ایجاد
24 مهر 1404
تاریخ به‌روزرسانی
24 فروردین 1405
طراحی الگوریتم ها
در حال مشاهده
طراحی الگوریتم ها