اپلیکیشن اندرویدی فلشکارت آموزشی ساختمان داده ها و الگوریتم ها: با عشق و علاقه
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختمان داده ها و الگوریتم ها: با عشق و علاقه
موضوع کلی: برنامه نویسی
موضوع میانی: الگوریتمها و ساختمان دادهها
📋 سرفصلهای دوره
- 1. مقدمه: چرا ساختمان داده و الگوریتم؟
- 2. مروری بر مفاهیم پایه برنامهنویسی
- 3. تفکر الگوریتمی و حل مسئله
- 4. مقدمهای بر تجزیه و تحلیل الگوریتمها
- 5. پیچیدگی زمانی (Time Complexity)
- 6. پیچیدگی فضایی (Space Complexity)
- 7. نمادهای مجانبی (Big O, Omega, Theta)
- 8. تجزیه و تحلیل حالتهای بد، متوسط و بهترین
- 9. مفاهیم پایه ریاضی مورد نیاز (لگاریتم، سریها، مجموعهها)
- 10. بازگشت (Recursion): مفهوم و نحوه کار
- 11. آرایهها: تعریف، مزایا و معایب
- 12. عملیات پایه بر روی آرایهها (دسترسی، درج، حذف)
- 13. آرایههای پویا (Dynamic Arrays) و ظرفیتبندی مجدد
- 14. لیست پیوندی: معرفی و کاربردها
- 15. لیست پیوندی یکطرفه: پیادهسازی و عملیات
- 16. لیست پیوندی دوطرفه: پیادهسازی و عملیات
- 17. لیست پیوندی حلقوی: پیادهسازی و کاربردها
- 18. مقایسه آرایهها و لیستهای پیوندی
- 19. پوینترها و مدیریت حافظه (برای درک عمیقتر)
- 20. تمرینات عملی با آرایهها و لیستهای پیوندی
- 21. پشته (Stack): مفهوم و اصل LIFO
- 22. پیادهسازی پشته با آرایه
- 23. پیادهسازی پشته با لیست پیوندی
- 24. عملیات پشته (push, pop, peek, isEmpty)
- 25. کاربردهای پشته (بررسی توازن پرانتزها، تبدیل عبارات)
- 26. صف (Queue): مفهوم و اصل FIFO
- 27. پیادهسازی صف با آرایه
- 28. پیادهسازی صف با لیست پیوندی
- 29. صف حلقوی (Circular Queue)
- 30. کاربردهای صف (BFS، زمانبندی وظایف)
- 31. مقدمه بر مرتبسازی: چرا و چگونه؟
- 32. مرتبسازی حبابی (Bubble Sort)
- 33. مرتبسازی انتخابی (Selection Sort)
- 34. مرتبسازی درجی (Insertion Sort)
- 35. مرتبسازی ادغامی (Merge Sort): مفهوم "تقسیم و حل"
- 36. پیادهسازی و تحلیل مرتبسازی ادغامی
- 37. مرتبسازی سریع (Quick Sort): انتخاب محور و پارتیشنبندی
- 38. پیادهسازی و تحلیل مرتبسازی سریع
- 39. مرتبسازی پشتهای (Heap Sort): معرفی و پیادهسازی
- 40. مرتبسازی شمارشی (Counting Sort)
- 41. مرتبسازی مبنایی (Radix Sort)
- 42. مرتبسازی سطلی (Bucket Sort)
- 43. مقایسه الگوریتمهای مرتبسازی (کارایی، پایداری، فضا)
- 44. حد پایین مرتبسازی مقایسهای
- 45. مرتبسازی خارجی (External Sorting)
- 46. مقدمه بر درختها: اصطلاحات و انواع
- 47. درختهای دودویی (Binary Trees): ویژگیها و نمایش
- 48. پیمایش Inorder (میانترتیب)
- 49. پیمایش Preorder (پیشترتیب)
- 50. پیمایش Postorder (پسترتیب)
- 51. پیمایش سطحی (Level Order Traversal)
- 52. درخت جستجوی دودویی (BST): ویژگیها
- 53. عملیات درج در BST
- 54. عملیات جستجو در BST
- 55. عملیات حذف در BST
- 56. درختهای متوازن (Balanced Trees): نیاز و مفهوم
- 57. درخت AVL: چرخشها و بازسازی توازن
- 58. درج در درخت AVL
- 59. حذف در درخت AVL
- 60. درختهای قرمز و سیاه (Red-Black Trees): اصول و خواص
- 61. درج در درختهای قرمز و سیاه
- 62. حذف در درختهای قرمز و سیاه
- 63. پشتههای دودویی (Binary Heaps): Max Heap و Min Heap
- 64. پیادهسازی و عملیات Heaps (درج، حذف، Heapify)
- 65. صفهای اولویت (Priority Queues) با استفاده از Heaps
- 66. مقدمه بر جداول درهمسازی (Hashing)
- 67. توابع درهمسازی (Hash Functions)
- 68. برخورد (Collision Resolution): زنجیرهسازی (Chaining)
- 69. برخورد: آدرسدهی باز (Open Addressing - Linear/Quadratic Probing)
- 70. پیادهسازی و کاربردهای جداول درهمسازی
- 71. مقدمه بر گرافها: اصطلاحات و نمایش (ماتریس و لیست مجاورت)
- 72. پیمایش گراف: جستجوی اول عمق (DFS)
- 73. پیمایش گراف: جستجوی اول سطح (BFS)
- 74. کاربردهای DFS و BFS
- 75. مرتبسازی توپولوژیک (Topological Sort)
- 76. درخت پوشا (Spanning Tree): مفهوم و انواع
- 77. درخت پوشای مینیمم (MST): الگوریتم پریم (Prim's Algorithm)
- 78. درخت پوشای مینیمم (MST): الگوریتم کروسکال (Kruskal's Algorithm)
- 79. الگوریتمهای کوتاهترین مسیر: دایجسترا (Dijkstra's Algorithm)
- 80. دایجسترا با صف اولویت
- 81. بلمن-فورد (Bellman-Ford Algorithm) برای وزنهای منفی
- 82. فلوید-وارشال (Floyd-Warshall Algorithm) برای همه جفتها
- 83. تشخیص دور در گرافها
- 84. اجزای قویاً همبند (Strongly Connected Components)
- 85. جریان شبکه (Network Flow): مقدمه و الگوریتم فورد-فالکرسون
- 86. الگوریتمهای حریصانه (Greedy Algorithms): مقدمه و ویژگیها
- 87. مثال از الگوریتم حریصانه (مسئله کولهپشتی کسری، کدگذاری هافمن)
- 88. برنامهنویسی پویا (Dynamic Programming): مفهوم و روشها (Memoization, Tabulation)
- 89. برنامهنویسی پویا: مثالهای پایه (فیبوناچی، Longest Common Subsequence)
- 90. برنامهسازی پویا: مسئله کولهپشتی 0/1
- 91. پسگرد (Backtracking): مقدمه و مسئله N-Queen
- 92. تکنیک "تقسیم و حل" (Divide and Conquer) بازبینی
- 93. تجزیه و تحلیل استهلاکی (Amortized Analysis)
- 94. ساختمان داده مجموعه جدا (Disjoint Set Union - DSU)
- 95. درخت سگمنت (Segment Tree)
- 96. درخت فنویک (Fenwick Tree / BIT)
- 97. مقدمهای بر کلاسهای پیچیدگی (P, NP, NP-Complete)
- 98. الگوریتمهای تقریبی (Approximation Algorithms)
- 99. الگوریتمهای تصادفی (Randomized Algorithms)
- 100. جمعبندی و مسیرهای آینده در ساختمان داده و الگوریتمها
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.