اپلیکیشن اندرویدی فلشکارت آموزشی ساختمان داده ها و الگوریتم ها: راهنمای تصویری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختمان داده ها و الگوریتم ها: راهنمای تصویری
موضوع کلی: برنامه نویسی
موضوع میانی: الگوریتمها و ساختمان دادهها
📋 سرفصلهای دوره
- 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. مثال الگوریتم حریصانه: مسئله خرد کردن سکه
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.