اپلیکیشن اندرویدی فلشکارت آموزشی ساختمان داده ها و الگوریتم ها: باورنکردنی تر از همیشه
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختمان داده ها و الگوریتم ها: باورنکردنی تر از همیشه
موضوع کلی: برنامه نویسی
موضوع میانی: الگوریتمها و ساختمان دادهها
📋 سرفصلهای دوره
- 1. مقدمهای بر ساختمان دادهها و الگوریتمها
- 2. چرا ساختمان داده و الگوریتم مهم است؟
- 3. مفاهیم پایه برنامه نویسی (مروری مختصر)
- 4. معرفی پیچیدگی زمانی (Time Complexity)
- 5. معرفی پیچیدگی فضایی (Space Complexity)
- 6. نمادگذاری Big O: معرفی و کاربردها
- 7. تحلیل بهترین، بدترین و میانگین حالت
- 8. روشهای بهبود کارایی الگوریتمها
- 9. آرایهها (Arrays): معرفی و کاربردها
- 10. آرایههای پویا (Dynamic Arrays)
- 11. رشتهها (Strings): معرفی و عملیات پایه
- 12. لیستهای پیوندی (Linked Lists): معرفی و انواع
- 13. لیست پیوندی یکطرفه (Singly Linked List): درج
- 14. لیست پیوندی یکطرفه (Singly Linked List): حذف
- 15. لیست پیوندی دوطرفه (Doubly Linked List): درج و حذف
- 16. لیست پیوندی حلقوی (Circular Linked List)
- 17. مقایسه آرایهها و لیستهای پیوندی
- 18. پشتهها (Stacks): مفهوم و عملیات (Push, Pop, Peek)
- 19. کاربردهای پشته: تبدیل عبارت، وارسی پرانتزها
- 20. صفها (Queues): مفهوم و عملیات (Enqueue, Dequeue, Front)
- 21. صفهای حلقوی (Circular Queues)
- 22. صفهای اولویتدار (Priority Queues): معرفی
- 23. پیادهسازی صفهای اولویتدار
- 24. مقدمهای بر الگوریتمهای جستجو
- 25. جستجوی خطی (Linear Search)
- 26. جستجوی دودویی (Binary Search): مفهوم
- 27. پیادهسازی جستجوی دودویی
- 28. کاربردهای جستجوی دودویی
- 29. مقدمهای بر الگوریتمهای مرتبسازی
- 30. مرتبسازی حبابی (Bubble Sort)
- 31. مرتبسازی انتخابی (Selection Sort)
- 32. مرتبسازی درجی (Insertion Sort)
- 33. مرتبسازی ادغامی (Merge Sort): مفهوم و تحلیل
- 34. پیادهسازی مرتبسازی ادغامی
- 35. مرتبسازی سریع (Quick Sort): مفهوم و تحلیل
- 36. پیادهسازی مرتبسازی سریع
- 37. مقایسه Quick Sort و Merge Sort
- 38. مرتبسازی هیپ (Heap Sort): معرفی و پیادهسازی
- 39. مرتبسازی شمارشی (Counting Sort)
- 40. مرتبسازی مبنایی (Radix Sort)
- 41. مرتبسازی سطلی (Bucket Sort)
- 42. مقدمهای بر درختها: مفاهیم و اصطلاحات
- 43. انواع درختها و کاربردها
- 44. درختهای دودویی (Binary Trees): معرفی
- 45. پیمایش درخت دودویی: Inorder (میانترتیب)
- 46. پیمایش درخت دودویی: Preorder (پیشترتیب)
- 47. پیمایش درخت دودویی: Postorder (پسترتیب)
- 48. پیمایش سطحی (Level Order Traversal)
- 49. درخت جستجوی دودویی (Binary Search Trees - BST): معرفی
- 50. عملیات در BST: جستجو (Search)
- 51. عملیات در BST: درج (Insertion)
- 52. عملیات در BST: حذف (Deletion)
- 53. تحلیل کارایی BST و مشکل عدم تعادل
- 54. درختهای AVL: مقدمه و چرخشها
- 55. عملیات در درختهای AVL (درج)
- 56. عملیات در درختهای AVL (حذف)
- 57. درختهای قرمز-سیاه (Red-Black Trees): معرفی ویژگیها
- 58. عملیات در درختهای قرمز-سیاه (مروری)
- 59. هیپها (Heaps): مفهوم و انواع (Min-Heap, Max-Heap)
- 60. عملیات در هیپ: درج (Insertion)
- 61. عملیات در هیپ: حذف و Heapify
- 62. پیادهسازی هیپ با آرایه
- 63. درختهای ترای (Tries): معرفی و کاربردها
- 64. درختهای B (B-Trees): مقدمه و کاربرد در پایگاه داده
- 65. مقدمهای بر گرافها: مفاهیم و اصطلاحات
- 66. انواع گرافها (جهتدار، بیجهت، وزندار)
- 67. نمایش گرافها: ماتریس مجاورت (Adjacency Matrix)
- 68. نمایش گرافها: لیست مجاورت (Adjacency List)
- 69. پیمایش گراف: جستجوی اول عمق (DFS - Depth First Search)
- 70. پیمایش گراف: جستجوی اول سطح (BFS - Breadth First Search)
- 71. کاربردهای DFS و BFS
- 72. الگوریتم دایکسترا (Dijkstra) برای کوتاهترین مسیر
- 73. پیادهسازی دایکسترا
- 74. الگوریتم بلمن-فورد (Bellman-Ford) برای کوتاهترین مسیر
- 75. الگوریتم فلوید-وارشال (Floyd-Warshall) برای تمام جفت مسیرها
- 76. درخت پوشای کمینه (Minimum Spanning Tree - MST): معرفی
- 77. الگوریتم پریم (Prim) برای MST
- 78. الگوریتم کروسکال (Kruskal) برای MST
- 79. مرتبسازی توپولوژیکی (Topological Sort)
- 80. مولفههای همبند قوی (Strongly Connected Components - SCC)
- 81. جریان شبکه (Network Flow) و قضیه Max Flow Min Cut
- 82. تشخیص دور در گراف (Cycle Detection)
- 83. الگوریتمهای حریصانه (Greedy Algorithms): مقدمه
- 84. مثالهای الگوریتم حریصانه (مانند Fractional Knapsack)
- 85. برنامهنویسی پویا (Dynamic Programming - DP): مقدمه
- 86. رویکرد Memoization در DP
- 87. رویکرد Tabulation در DP
- 88. مثالهای برنامهنویسی پویا (Fibonacci)
- 89. مثالهای برنامهنویسی پویا (Longest Common Subsequence)
- 90. الگوریتمهای Backtracking (بازگشت به عقب): مقدمه
- 91. مثالهای Backtracking (N-Queens)
- 92. مثالهای Backtracking (Sudoku Solver)
- 93. الگوریتمهای تقسیم و حل (Divide and Conquer): مروری
- 94. توابع هش (Hash Functions) و جداول هش (Hash Tables)
- 95. حل برخورد (Collision Resolution): زنجیرهسازی (Chaining)
- 96. حل برخورد: آدرسدهی باز (Open Addressing)
- 97. ساختار داده اتحادیه تفکیکی (Disjoint Set Union - DSU)
- 98. کاربردهای DSU
- 99. الگوریتمهای تطابق رشته (String Matching): KMP و Rabin-Karp
- 100. منابع و چالشهای آینده در DSA
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.