طراحی الگوریتمها
چکیده
در این دوره، مباحث زیر بهطور مفصل بررسی میشود:
۱. مفهوم و ویژگیهای الگوریتم (Algorithm)
– تعریف الگوریتم و ویژگیهایی مانند ورودی (Input)، خروجی (Output)، قطعیت (Determinism) و پایانپذیری (Termination)
– نقش الگوریتمها در حل مسائل و ارتباط آنها با ساختارهای داده (Data Structures)
۲. تحلیل کارایی الگوریتمها (Algorithm Analysis)
– ارزیابی زمان اجرای الگوریتم (Time Complexity) با استفاده از نماد O (Big O Notation)
– بررسی مصرف حافظه (Space Complexity) و منابع مورد نیاز
۳. اثبات صحت الگوریتم (Proof of Correctness)
– استفاده از روشهایی مانند استقراء ریاضی (Mathematical Induction) برای اثبات صحت عملکرد
– حفظ شرایط یا ویژگیهای ثابت (Invariants) در طول اجرای الگوریتم بهعنوان اصل اثباتی
۴. تکنیکهای طراحی الگوریتم (Algorithm Design Techniques)
– تقسیم و غلبه (Divide and Conquer)
– برنامهنویسی پویا (Dynamic Programming)
– الگوریتمهای حریصانه (Greedy Algorithms)
– الگوریتمهای تقریبی (Approximation Algorithms)
این مباحث به شما کمک میکند تا الگوریتمهایی بهینه، قابل اعتماد و اثباتشده طراحی کرده و در حل مسائل پیچیده علمی و عملی موفق عمل کنید.


دکتر باقری
عضو هئیت علمی دانشکده مهندسی کامپیوتر دانشگاه صنعتی امیرکبیر