کتاب ساختمان داده ها و الگوریتم ها: با مثال های عینی و پروژه های واقعی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
ساختمان داده ها و الگوریتم ها: مسیر طلایی به سوی حرفه ای شدن در برنامه نویسی! ساختمان داده ها و الگوریتم ها: از مبتدی تا حرفه ای با مثال های عینی و پروژه های واقعی 1. معرفی دوره: دروازه ورود به دنیای ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختمان داده ها و الگوریتم ها: با مثال های عینی و پروژه های واقعی
موضوع کلی: برنامه نویسی
موضوع میانی: الگوریتمها و ساختمان دادهها
📋 سرفصلهای دوره
- 1. مقدمه و آشنایی با دنیای الگوریتمها
- 2. اهمیت الگوریتمها در برنامهنویسی
- 3. مفاهیم اساسی پیچیدگی زمانی و فضایی
- 4. نمادگذاری O بزرگ (Big O Notation)
- 5. تحلیل پیچیدگی الگوریتمهای رایج
- 6. الگوریتمهای مرتبسازی مقدماتی: مرتبسازی حبابی (Bubble Sort)
- 7. الگوریتمهای مرتبسازی مقدماتی: مرتبسازی انتخابی (Selection Sort)
- 8. الگوریتمهای مرتبسازی مقدماتی: مرتبسازی درجی (Insertion Sort)
- 9. مرتبسازی سریع (QuickSort): ایده اصلی و نحوه عملکرد
- 10. مرتبسازی ادغامی (MergeSort): ایده اصلی و نحوه عملکرد
- 11. مرتبسازی هیپ (HeapSort): ایده اصلی و نحوه عملکرد
- 12. مقایسه الگوریتمهای مرتبسازی مختلف
- 13. کاربرد الگوریتمهای مرتبسازی در دنیای واقعی
- 14. مقدمه ای بر ساختمان داده ها
- 15. انواع ساختمان داده: خطی و غیرخطی
- 16. ساختمان داده آرایه (Array): اصول و عملیات
- 17. ساختمان داده لیست پیوندی (Linked List): مفاهیم پایه
- 18. لیست پیوندی یکطرفه (Singly Linked List)
- 19. عملیات روی لیست پیوندی یکطرفه: درج، حذف، جستجو
- 20. لیست پیوندی دوطرفه (Doubly Linked List)
- 21. عملیات روی لیست پیوندی دوطرفه
- 22. لیست پیوندی دایرهای (Circular Linked List)
- 23. کاربرد لیستهای پیوندی: مثالها و موارد استفاده
- 24. ساختمان داده پشته (Stack): مفهوم و عملیات
- 25. پیادهسازی پشته با استفاده از آرایه
- 26. پیادهسازی پشته با استفاده از لیست پیوندی
- 27. کاربرد پشته: ارزیابی عبارات، فراخوانی توابع
- 28. ساختمان داده صف (Queue): مفهوم و عملیات
- 29. پیادهسازی صف با استفاده از آرایه
- 30. پیادهسازی صف با استفاده از لیست پیوندی
- 31. صف دایرهای (Circular Queue)
- 32. کاربرد صف: مدیریت وظایف، شبیهسازی
- 33. ساختمان داده درخت (Tree): مفاهیم اولیه
- 34. درخت دودویی (Binary Tree): تعریف و خواص
- 35. پیمایش درخت دودویی: پیمایش پیشترتیب (Preorder Traversal)
- 36. پیمایش درخت دودویی: پیمایش میانترتیب (Inorder Traversal)
- 37. پیمایش درخت دودویی: پیمایش پسترتیب (Postorder Traversal)
- 38. درخت جستجوی دودویی (Binary Search Tree - BST): تعریف و خواص
- 39. عملیات روی درخت جستجوی دودویی: درج، حذف، جستجو
- 40. بهینهسازی درخت جستجوی دودویی: درختهای خودمتوازن
- 41. درختهای AVL
- 42. عملیات روی درختهای AVL
- 43. درختهای قرمز-سیاه (Red-Black Trees)
- 44. مقدمه ای بر گراف (Graph)
- 45. مفاهیم اساسی گراف: راس، یال، وزن
- 46. نمایش گراف: ماتریس مجاورت (Adjacency Matrix)
- 47. نمایش گراف: لیست مجاورت (Adjacency List)
- 48. پیمایش گراف: پیمایش اول سطح (Breadth-First Search - BFS)
- 49. کاربرد BFS: یافتن کوتاهترین مسیر در گرافهای بدون وزن
- 50. پیمایش گراف: پیمایش اول عمق (Depth-First Search - DFS)
- 51. کاربرد DFS: یافتن مسیر، تشخیص چرخه
- 52. الگوریتم دایکسترا (Dijkstra's Algorithm) برای یافتن کوتاهترین مسیر
- 53. الگوریتم بلمن-فورد (Bellman-Ford Algorithm)
- 54. مقدمه ای بر ساختمان داده های هِش (Hash)
- 55. تابع هش (Hash Function)
- 56. حل برخورد در جداول هش (Hash Collisions): زنجیرهسازی (Chaining)
- 57. حل برخورد در جداول هش: کاوش باز (Open Addressing)
- 58. جداول هش: عملکرد و کاربردها
- 59. ساختمان داده هرم (Heap): تعریف و خواص
- 60. هرم کمینه (Min-Heap)
- 61. هرم بیشینه (Max-Heap)
- 62. عملیات روی هرم: درج، استخراج عنصر
- 63. کاربرد هرم: صف اولویت (Priority Queue)
- 64. الگوریتمهای مرتبسازی مبتنی بر هرم (HeapSort)
- 65. ساختمان داده تری (Trie): مفاهیم پایه
- 66. عملیات روی تری: درج، جستجو، حذف
- 67. کاربرد تری: تکمیل خودکار (Autocomplete)، واژهنامهها
- 68. مقدمه ای بر الگوریتمهای بازگشتی (Recursion)
- 69. مفهوم توابع بازگشتی
- 70. حل مسائل با استفاده از بازگشت: مثالها
- 71. پایان بازگشت: شرط توقف
- 72. اشکالزدایی الگوریتمهای بازگشتی
- 73. مقدمه ای بر برنامهنویسی پویا (Dynamic Programming)
- 74. مفهوم بهینهسازی زیرمسائل
- 75. روش بالا به پایین (Top-Down) با خاطرهنویسی (Memoization)
- 76. روش پایین به بالا (Bottom-Up) با جدولسازی (Tabulation)
- 77. مسئله فیبوناچی با برنامهنویسی پویا
- 78. مسئله کولهپشتی (Knapsack Problem)
- 79. مسئله کوتاهترین مسیر در گراف با برنامهنویسی پویا
- 80. طراحی الگوریتم: رویکرد حریصانه (Greedy Approach)
- 81. مثالها و کاربردهای الگوریتمهای حریصانه
- 82. طراحی الگوریتم: تقسیم و حل (Divide and Conquer)
- 83. مثالها و کاربردهای رویکرد تقسیم و حل
- 84. تحلیل الگوریتمهای پیچیده: الگوریتمهای گراف
- 85. الگوریتم کروسکال (Kruskal's Algorithm) برای حداقل درخت پوشا
- 86. الگوریتم پریم (Prim's Algorithm) برای حداقل درخت پوشا
- 87. مقدمه ای بر الگوریتمهای رشتهای (String Algorithms)
- 88. الگوریتم جستجوی رشتهای ساده
- 89. الگوریتم KMP (Knuth-Morris-Pratt)
- 90. الگوریتم بویل-مور (Boyer-Moore)
- 91. مقدمه ای بر الگوریتمهای عدد صحیح (Number Theory Algorithms)
- 92. الگوریتم اقلیدس (Euclidean Algorithm) برای یافتن ب.م.م
- 93. روش غربال اراتستن (Sieve of Eratosthenes) برای یافتن اعداد اول
- 94. کاربرد الگوریتمها در پایگاه دادهها
- 95. کاربرد الگوریتمها در شبکههای کامپیوتری
- 96. کاربرد الگوریتمها در هوش مصنوعی و یادگیری ماشین
- 97. بهینهسازی و پیشرفته ساختمان دادهها
- 98. هرم دوگانه (Binomial Heap)
- 99. هرم فیبوناچی (Fibonacci Heap)
- 100. ساختمان داده گوی (Disjoint Set Union - DSU)
تگها:
Algorithms
C#
Data Structures
Java
Programming
Project-Based
Python
آموزش الگوریتم
آموزش ساختمان داده
الگوریتم
برنامه نویسی
پایتون
پروژه محور
جاوا
ساختمان داده
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.