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