کتاب ساختمان داده ها و الگوریتم ها: راهنمای تصویری با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
ساختمان داده ها و الگوریتم ها: راهنمای تصویری - کلید ورود به دنیای برنامه نویسی حرفه ای ساختمان داده ها و الگوریتم ها: راهنمای تصویری - کلید ورود به دنیای برنامه نویسی حرفه ای آیا به دنبال ارتقای مهار...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختمان داده ها و الگوریتم ها: راهنمای تصویری
موضوع کلی: برنامه نویسی
موضوع میانی: الگوریتمها و ساختمان دادهها
📋 سرفصلهای دوره
- 1. مقدمهای بر الگوریتمها و ساختمان دادهها
- 2. چرا الگوریتمها اهمیت دارند؟
- 3. تحلیل الگوریتمها: پیچیدگی زمانی
- 4. نماد O بزرگ (Big-O Notation)
- 5. نماد امگا (Ω Notation) و تتا (Θ Notation)
- 6. مثالهای تصویری از تحلیل Big-O
- 7. تحلیل بهترین، بدترین و حالت متوسط
- 8. پیچیدگی فضا (Space Complexity)
- 9. مبادله زمان و فضا (Time-Space Tradeoff)
- 10. بازگشت (Recursion) چیست؟
- 11. تحلیل الگوریتمهای بازگشتی
- 12. قضیه اصلی (Master Theorem) برای تحلیل بازگشتی
- 13. ساختمان داده آرایه (Array)
- 14. آرایههای پویا (Dynamic Arrays)
- 15. مقدمهای بر لیستهای پیوندی (Linked Lists)
- 16. لیست پیوندی یکطرفه (Singly Linked List)
- 17. لیست پیوندی دوطرفه (Doubly Linked List)
- 18. لیست پیوندی دایرهای (Circular Linked List)
- 19. عملیات اصلی روی لیستهای پیوندی
- 20. مقایسه آرایه و لیست پیوندی
- 21. پشته (Stack): مفهوم LIFO
- 22. پیادهسازی پشته با استفاده از آرایه
- 23. پیادهسازی پشته با استفاده از لیست پیوندی
- 24. کاربردهای پشته: ارزیابی عبارات
- 25. صف (Queue): مفهوم FIFO
- 26. پیادهسازی صف با استفاده از آرایه
- 27. صف دایرهای (Circular Queue)
- 28. پیادهسازی صف با استفاده از لیست پیوندی
- 29. صف دوطرفه (Deque)
- 30. کاربردهای صف: الگوریتم BFS
- 31. جستجوی خطی (Linear Search)
- 32. جستجوی دودویی (Binary Search)
- 33. پیادهسازی بازگشتی جستجوی دودویی
- 34. مقدمهای بر الگوریتمهای مرتبسازی
- 35. مرتبسازی حبابی (Bubble Sort)
- 36. مرتبسازی انتخابی (Selection Sort)
- 37. مرتبسازی درجی (Insertion Sort)
- 38. تحلیل تصویری مرتبسازیهای ساده
- 39. مفهوم تقسیم و غلبه (Divide and Conquer)
- 40. مرتبسازی ادغامی (Merge Sort)
- 41. تحلیل مرتبسازی ادغامی
- 42. مرتبسازی سریع (Quick Sort)
- 43. الگوریتم پارتیشنبندی Lomuto
- 44. الگوریتم پارتیشنبندی Hoare
- 45. انتخاب عنصر محوری (Pivot) در Quick Sort
- 46. تحلیل حالتهای مختلف Quick Sort
- 47. مرتبسازی پایدار (Stable Sorting) چیست؟
- 48. مرتبسازی شمارشی (Counting Sort)
- 49. مرتبسازی مبنایی (Radix Sort)
- 50. مقدمهای بر درختها (Trees)
- 51. اصطلاحات کلیدی در درختها
- 52. درخت دودویی (Binary Tree)
- 53. پیمایش درخت دودویی: پیمایش میانی (In-order)
- 54. پیمایش درخت دودویی: پیمایش پیشوندی (Pre-order)
- 55. پیمایش درخت دودویی: پیمایش پسوندی (Post-order)
- 56. پیمایش سطح به سطح (Level-order Traversal)
- 57. درخت جستجوی دودویی (Binary Search Tree - BST)
- 58. جستجو در یک درخت جستجوی دودویی
- 59. درج در یک درخت جستجوی دودویی
- 60. حذف از یک درخت جستجوی دودویی
- 61. درختهای متوازن (Balanced Trees) و اهمیت آنها
- 62. درخت AVL
- 63. چرخشها (Rotations) در درخت AVL
- 64. درخت قرمز-سیاه (Red-Black Tree)
- 65. قوانین و ویژگیهای درخت قرمز-سیاه
- 66. مقایسه تصویری BST، AVL و Red-Black
- 67. هیپ (Heap) چیست؟
- 68. هیپ کمینه (Min-Heap) و هیپ بیشینه (Max-Heap)
- 69. عملیات Heapify
- 70. ساختن یک هیپ از یک آرایه
- 71. مرتبسازی تودهای (Heap Sort)
- 72. صف اولویت (Priority Queue) با استفاده از هیپ
- 73. درخت پیشوندی (Trie)
- 74. مقدمهای بر گرافها (Graphs)
- 75. اصطلاحات کلیدی در گرافها
- 76. نمایش گراف: ماتریس مجاورت (Adjacency Matrix)
- 77. نمایش گراف: لیست مجاورت (Adjacency List)
- 78. مقایسه روشهای نمایش گراف
- 79. پیمایش گراف: جستجوی اول سطح (BFS)
- 80. پیمایش گراف: جستجوی اول عمق (DFS)
- 81. کاربرد BFS: یافتن کوتاهترین مسیر در گراف بیوزن
- 82. کاربرد DFS: تشخیص دور (Cycle Detection) در گراف
- 83. اجزای همبند قوی (Strongly Connected Components)
- 84. مرتبسازی توپولوژیکی (Topological Sort)
- 85. الگوریتمهای یافتن کوتاهترین مسیر
- 86. الگوریتم دایکسترا (Dijkstra's Algorithm)
- 87. الگوریتم بلمن-فورد (Bellman-Ford Algorithm)
- 88. درخت پوشای کمینه (Minimum Spanning Tree - MST)
- 89. الگوریتم پریم (Prim's Algorithm)
- 90. الگوریتم کروسکال (Kruskal's Algorithm)
- 91. جداول درهمسازی (Hash Tables)
- 92. توابع هش (Hash Functions)
- 93. روشهای حل تصادم: زنجیرهسازی (Chaining)
- 94. روشهای حل تصادم: آدرسدهی باز (Open Addressing)
- 95. برنامهنویسی پویا (Dynamic Programming)
- 96. یادآورسازی (Memoization) در مقابل جدولبندی (Tabulation)
- 97. مثال برنامهنویسی پویا: مسئله فیبوناچی
- 98. مثال برنامهنویسی پویا: مسئله کولهپشتی (Knapsack)
- 99. الگوریتمهای حریصانه (Greedy Algorithms)
- 100. مثال الگوریتم حریصانه: مسئله خرد کردن سکه
تگها:
Algorithms
Coding
Computer Science
Data Structures
Programming
آموزش الگوریتم
آموزش ساختمان داده
الگوریتم تصویری
الگوریتم ها
برنامه نویسی
پیاده سازی الگوریتم
راهنمای تصویری
ساختمان داده ها
مبانی برنامه نویسی
یادگیری الگوریتم
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.