کتاب از الگوریتم تا برنامه: سفری به دنیای بهینهسازی و حل مسئله با رویکرد Knuth با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی از الگوریتم تا برنامه: سفری به دنیای بهینهسازی و حل مسئله از الگوریتم تا برنامه: سفری به دنیای بهینهسازی و حل مسئله با رویکرد Knuth کدنویسی را به هنر حل مسئله تبدیل کنید آیا تا به حال کد...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره از الگوریتم تا برنامه: سفری به دنیای بهینهسازی و حل مسئله با رویکرد Knuth
موضوع کلی: علوم کامپیوتر
موضوع میانی: ساختمان دادهها و الگوریتمها
📋 سرفصلهای دوره
- 1. مقدمهای بر علوم کامپیوتر و تفکر الگوریتمی
- 2. چیستی الگوریتمها و ساختمان دادهها
- 3. تاریخچه الگوریتمها و نقش پیشگامان (با تمرکز بر Knuth)
- 4. مفهوم برنامه و رابطه آن با الگوریتم و ساختمان داده
- 5. مدلهای محاسباتی: ماشین تورینگ و مدل RAM
- 6. مقدمهای بر تحلیل الگوریتمها
- 7. پیچیدگی زمانی (Time Complexity) و پیچیدگی فضایی (Space Complexity)
- 8. نمادگذاری مجانبی: O بزرگ، امگا و تتا
- 9. تحلیل بدترین حالت، بهترین حالت و حالت متوسط
- 10. حل معادلات بازگشتی: روش جایگذاری و روش درخت بازگشتی
- 11. حل معادلات بازگشتی: قضیه اصلی (Master Theorem)
- 12. مرور اصول ریاضی: مجموعها، لگاریتمها و سریها
- 13. اثبات صحت الگوریتمها: مقدمهای بر اثبات صوری
- 14. استقراء ریاضی در اثبات الگوریتمها
- 15. آرایهها: مفهوم، عملیات پایه و کاربردها
- 16. لیستهای پیوندی: مفهوم و پیادهسازی (تکپیوندی)
- 17. عملیات روی لیستهای پیوندی تکپیوندی: درج، حذف، جستجو
- 18. لیستهای پیوندی دوطرفه (Doubly Linked Lists)
- 19. لیستهای پیوندی حلقوی (Circular Linked Lists)
- 20. پشته (Stack): مفهوم و کاربردها (پسوند به میانوند، پسوند به پیشوند)
- 21. پیادهسازی پشته با آرایه و لیست پیوندی
- 22. صف (Queue): مفهوم و کاربردها
- 23. پیادهسازی صف با آرایه و لیست پیوندی
- 24. صفهای اولویتدار (Priority Queues): مفهوم
- 25. هیپ (Heap) به عنوان پیادهسازی صف اولویتدار
- 26. جدولهای درهمسازی (Hash Tables): مفهوم و اصول
- 27. توابع درهمسازی (Hash Functions): طراحی و انتخاب
- 28. روشهای رفع تصادم (Collision Resolution): زنجیرهسازی (Chaining)
- 29. روشهای رفع تصادم: آدرسدهی باز (Open Addressing)
- 30. تحلیل کارایی جدولهای درهمسازی
- 31. مقدمهای بر الگوریتمهای مرتبسازی
- 32. مرتبسازی حبابی (Bubble Sort): تحلیل و پیادهسازی
- 33. مرتبسازی انتخابی (Selection Sort): تحلیل و پیادهسازی
- 34. مرتبسازی درجی (Insertion Sort): تحلیل و پیادهسازی
- 35. مقایسه الگوریتمهای مرتبسازی ساده
- 36. مرتبسازی ادغامی (Merge Sort): ایده و پیادهسازی
- 37. تحلیل مرتبسازی ادغامی و کاربردها
- 38. مرتبسازی سریع (Quick Sort): ایده و پیادهسازی
- 39. تحلیل مرتبسازی سریع و انتخاب محور (Pivot Selection)
- 40. Heapsort: استفاده از ساختمان داده هیپ برای مرتبسازی
- 41. تحلیل Heapsort
- 42. محدودیتهای نظری مرتبسازیهای مقایسهای
- 43. مرتبسازی شمارشی (Counting Sort)
- 44. مرتبسازی مبنایی (Radix Sort)
- 45. مرتبسازی سطلی (Bucket Sort) و کاربردها
- 46. درختان: تعاریف، اصطلاحات و انواع
- 47. پیمایش درختان دودویی (Binary Tree Traversal): پیشترتیب، میانترتیب، پسترتیب
- 48. درختان جستجوی دودویی (Binary Search Trees - BST): مفهوم و عملیات پایه
- 49. درج و حذف در BST
- 50. تحلیل کارایی BST
- 51. درختان متعادلکننده خودکار: مقدمهای بر AVL Trees
- 52. عملیات چرخش (Rotations) در AVL Trees
- 53. درج و حذف در AVL Trees
- 54. درختان قرمز-سیاه (Red-Black Trees): اصول و ویژگیها
- 55. عملیات درج و حذف در Red-Black Trees
- 56. درختان B (B-Trees): مفهوم و کاربرد در پایگاه دادهها
- 57. عملیات درج و حذف در B-Trees
- 58. درختان B+ (B+ Trees): تفاوتها و مزایا
- 59. Trie (درخت پیشوندی): ساختار و کاربردها
- 60. Fibonacci Heaps: مقدمهای بر هیپهای پیشرفته
- 61. گرافها: تعاریف، اصطلاحات و انواع (جهتدار و بدون جهت)
- 62. نمایش گرافها: ماتریس مجاورت (Adjacency Matrix)
- 63. نمایش گرافها: لیست مجاورت (Adjacency List)
- 64. پیمایش گراف: جستجوی اول عمق (Depth-First Search - DFS)
- 65. کاربردهای DFS: یافتن مؤلفههای همبند، تشخیص حلقه
- 66. پیمایش گراف: جستجوی اول سطح (Breadth-First Search - BFS)
- 67. کاربردهای BFS: کوتاهترین مسیر در گرافهای بدون وزن
- 68. درخت پوشای مینیمم (Minimum Spanning Tree - MST): مفهوم
- 69. الگوریتم پریم (Prim's Algorithm) برای یافتن MST
- 70. الگوریتم کروسکال (Kruskal's Algorithm) برای یافتن MST
- 71. الگوریتم دایجسترا (Dijkstra's Algorithm) برای کوتاهترین مسیر تک مبدأ
- 72. تحلیل الگوریتم دایجسترا و محدودیتها
- 73. الگوریتم بلمن-فورد (Bellman-Ford Algorithm) برای کوتاهترین مسیر با وزن منفی
- 74. الگوریتم فلوید-وارشال (Floyd-Warshall Algorithm) برای کوتاهترین مسیر بین همه زوجها
- 75. مرتبسازی توپولوژیک (Topological Sort)
- 76. الگوریتمهای حریصانه (Greedy Algorithms): مقدمه و اصول
- 77. مثالهای الگوریتم حریصانه: مسئله کوله پشتی کسری، کدگذاری هافمن
- 78. برنامهنویسی پویا (Dynamic Programming): مقدمه و ایده اصلی
- 79. مثالهای برنامهنویسی پویا: سری فیبوناچی، مسئله جمع زیرمجموعه
- 80. مثالهای پیشرفته برنامهنویسی پویا: بلندترین زیررشته مشترک، ضرب زنجیرهای ماتریس
- 81. عقبگرد (Backtracking): ایده و کاربردها
- 82. مثالهای عقبگرد: مسئله N وزیر، تولید جایگشتها
- 83. شاخه و حد (Branch and Bound): مفهوم و تفاوت با عقبگرد
- 84. الگوریتمهای تصادفی (Randomized Algorithms): مقدمه و انواع
- 85. مثالهای الگوریتم تصادفی: تست اولیه میلر-رابین
- 86. تحلیل استهلاکی (Amortized Analysis): مفهوم و کاربردها
- 87. مثالهای تحلیل استهلاکی: آرایههای دینامیک، عملیات روی ساختمان دادهها
- 88. ساختمان داده اتحادیه-مجموعه مجزا (Disjoint Set Union - DSU)
- 89. الگوریتمهای رشتهای: الگوریتم جستجوی رشته KMP
- 90. الگوریتم جستجوی رشته رابین-کارپ (Rabin-Karp)
- 91. مقدمهای بر الگوریتمهای هندسی: پوش محدب (Convex Hull)
- 92. الگوریتمهای نظریه اعداد: بزرگترین مقسومعلیه مشترک (GCD)
- 93. الگوریتمهای نظریه اعداد: تستهای اولویت (Primality Tests)
- 94. مقدمهای بر امنیت اطلاعات و کاربرد الگوریتمها (RSA, Diffie-Hellman)
- 95. پیچیدگی محاسباتی: کلاسهای P، NP و NP-Complete
- 96. مسئله P در مقابل NP و اهمیت آن
- 97. الگوریتمهای تقریبی (Approximation Algorithms): مفهوم و کاربرد
- 98. الگوریتمهای موازی و توزیع شده: مقدمه
- 99. برنامهنویسی ادبی (Literate Programming) و رویکرد Knuth در نگارش کد
- 100. فراتر از الگوریتم: نگهداری، بهینهسازی و آیندهنگری در توسعه نرمافزار
تگها:
Algorithms + Data Structures = Programs
Computer Science
Data Structures
Knuth
آموزش الگوریتم
الگوریتم
الگوریتم ها
برنامه نویسی
بهینهسازی
تحلیل الگوریتم
حل مسئله
دادهساختار
ساختمان داده
طراحی الگوریتم
علوم کامپیوتر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.