اپلیکیشن اندرویدی فلشکارت آموزشی ساختمان دادهها و الگوریتمها: سفری جامع از مفاهیم تا پیادهسازی (با رویکرد کتاب Mehlhorn)
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختمان دادهها و الگوریتمها: سفری جامع از مفاهیم تا پیادهسازی (با رویکرد کتاب Mehlhorn)
موضوع کلی: علوم کامپیوتر
موضوع میانی: ساختمان دادهها
📋 سرفصلهای دوره
- 1. مقدمهای بر علوم کامپیوتر و مسئلهها
- 2. مفاهیم اولیه ساختمان دادهها و الگوریتمها
- 3. مرور مفاهیم ریاضی: تابع، لگاریتم، سریها و تصاعدها
- 4. مرور مفاهیم ریاضی: توابع بازگشتی
- 5. تحلیل کارایی الگوریتمها: زمان اجرا
- 6. تحلیل کارایی الگوریتمها: حافظه
- 7. نمادگذاری مجانبی: O بزرگ (Big O)
- 8. نمادگذاری مجانبی: امگا (Ω) و تتا (Θ)
- 9. تحلیل بدترین حالت (Worst-Case Analysis)
- 10. تحلیل بهترین و میانگین حالت (Best and Average-Case Analysis)
- 11. حل روابط بازگشتی: روش جایگزینی
- 12. حل روابط بازگشتی: روش درخت بازگشتی
- 13. حل روابط بازگشتی: قضیه اصلی (Master Theorem)
- 14. آشنایی با انواع دادهها و ساختارها (Primitive vs. Composite)
- 15. اثبات درستی الگوریتمها
- 16. آرایهها: مفهوم، ساختار و دسترسی
- 17. آرایهها: عملیات درج و حذف
- 18. آرایهها: آرایههای دینامیک و تغییر اندازه
- 19. اشارهگرها و مدیریت حافظه (مقدماتی)
- 20. لیست پیوندی تکی: مفهوم و ساختار
- 21. لیست پیوندی تکی: درج گره
- 22. لیست پیوندی تکی: حذف گره
- 23. لیست پیوندی تکی: پیمایش و جستجو
- 24. لیست پیوندی دوطرفه: مفهوم و ساختار
- 25. لیست پیوندی دوطرفه: درج و حذف گره
- 26. لیست پیوندی دایرهای: مفهوم و کاربردها
- 27. مقایسه انواع لیستهای پیوندی و انتخاب بهینه
- 28. پشته (Stack): مفهوم و عملیات ADT
- 29. پشته: پیادهسازی با آرایه
- 30. پشته: پیادهسازی با لیست پیوندی
- 31. کاربردهای پشته: ارزیابی عبارات پسوندی
- 32. کاربردهای پشته: مدیریت فراخوانی توابع (Call Stack)
- 33. صف (Queue): مفهوم و عملیات ADT
- 34. صف: پیادهسازی با آرایه
- 35. صف: پیادهسازی با لیست پیوندی
- 36. صف دایرهای و مزایای آن
- 37. صف دوطرفه (Deque): مفهوم و عملیات
- 38. کاربردهای صف: زمانبندی و سیستمهای عامل
- 39. مقدمهای بر بازگشت: ساختار و شرط توقف
- 40. مثالهایی از بازگشت: فاکتوریل و سری فیبوناچی
- 41. بازگشت و کارایی: اجتناب از تکرار محاسبات
- 42. روش طراحی تقسیم و حل (Divide and Conquer)
- 43. جستجوی دودویی (Binary Search): مفهوم و تحلیل
- 44. مرتبسازی حبابی (Bubble Sort): پیادهسازی و تحلیل
- 45. مرتبسازی انتخابی (Selection Sort): پیادهسازی و تحلیل
- 46. مرتبسازی درجی (Insertion Sort): پیادهسازی و تحلیل
- 47. مرتبسازی ادغامی (Merge Sort): الگوریتم و تحلیل
- 48. مرتبسازی سریع (Quick Sort): الگوریتم و تحلیل پارتیشن
- 49. مقایسه الگوریتمهای مرتبسازی اولیه و میانگین
- 50. مفاهیم اولیه درختان: گره، ریشه، برگ، والدین، فرزندان، اجداد
- 51. اصطلاحات درختان: ارتفاع، عمق، سطح، درجه
- 52. درخت دودویی (Binary Tree): مفهوم و ویژگیها
- 53. پیمایش درخت دودویی: پیشترتیب (Pre-order Traversal)
- 54. پیمایش درخت دودویی: میانترتیب (In-order Traversal)
- 55. پیمایش درخت دودویی: پسترتیب (Post-order Traversal)
- 56. پیمایش درخت دودویی: سطح به سطح (Level-order Traversal)
- 57. درخت جستجوی دودویی (BST): مفهوم و عملیات پایه
- 58. درج در درخت جستجوی دودویی
- 59. جستجو در درخت جستجوی دودویی
- 60. حذف از درخت جستجوی دودویی: حالتهای مختلف
- 61. تحلیل کارایی درخت جستجوی دودویی (میانگین و بدترین حالت)
- 62. درختان متعادل (Self-Balancing Trees): مقدمه و نیاز
- 63. درختان AVL: مفهوم و چرخشهای (Rotations) تکی
- 64. درختان AVL: چرخشهای دوگانه
- 65. درختان AVL: درج گره و متعادلسازی
- 66. درختان AVL: حذف گره (مقدماتی)
- 67. درختان Red-Black: ویژگیها و قوانین رنگآمیزی
- 68. درختان Red-Black: عملیات درج گره
- 69. درختان Red-Black: عملیات حذف گره (مقدماتی)
- 70. هیپ (Heap): مفهوم و انواع (Min Heap, Max Heap)
- 71. هیپ دودویی: پیادهسازی و عملیات اصلی (Insert, Extract-Min/Max)
- 72. ساخت هیپ (Build Heap)
- 73. مرتبسازی هیپ (Heap Sort): الگوریتم و تحلیل
- 74. صف اولویت (Priority Queue): ADT و پیادهسازی با هیپ
- 75. درختان B (B-Trees): مفهوم، درجه و کاربردها در پایگاه داده
- 76. درختان B: عملیات جستجو و درج (مقدماتی)
- 77. درختان B+: مفهوم و تفاوت با درختان B
- 78. درختان اسپلی (Splay Trees) و مفهوم خود-تنظیمگری
- 79. درختان ترایپ (Treap): ترکیب درخت و هیپ
- 80. جدول درهمسازی (Hash Table): مفهوم و اصول
- 81. توابع درهمسازی (Hash Functions): طراحی و ویژگیهای ایدهآل
- 82. حل برخورد (Collision Resolution): روش زنجیرهسازی (Chaining)
- 83. حل برخورد: آدرسدهی باز (Open Addressing)
- 84. آدرسدهی باز: کاوش خطی (Linear Probing)
- 85. آدرسدهی باز: کاوش مربعی (Quadratic Probing)
- 86. آدرسدهی باز: درهمسازی مضاعف (Double Hashing)
- 87. تحلیل کارایی جداول درهمسازی و فاکتور بارگذاری (Load Factor)
- 88. مفاهیم اولیه گرافها: گره، یال، درجه، وزن
- 89. انواع گرافها: جهتدار، بیجهت، وزندار، ساده، چندگانه
- 90. نمایش گرافها: ماتریس مجاورت (Adjacency Matrix)
- 91. نمایش گرافها: لیست مجاورت (Adjacency List)
- 92. پیمایش گراف: جستجوی اول عمق (DFS) و کاربردهای آن
- 93. پیمایش گراف: جستجوی اول سطح (BFS) و کاربردهای آن
- 94. مرتبسازی توپولوژیک (Topological Sort)
- 95. درخت پوشای کمینه (MST): مفهوم و کاربردها
- 96. الگوریتم پریم (Prim's Algorithm) برای MST
- 97. الگوریتم کروسکال (Kruskal's Algorithm) برای MST
- 98. کوتاهترین مسیر از یک مبدأ: الگوریتم دایجسترا (Dijkstra's Algorithm)
- 99. کوتاهترین مسیر از یک مبدأ با یال منفی: الگوریتم بلمن-فورد (Bellman-Ford Algorithm)
- 100. کوتاهترین مسیر بین همه زوج رئوس: الگوریتم فلوید-وارشال (Floyd-Warshall Algorithm)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.