کتاب از الگوریتم تا برنامه: سفری به دنیای ساختمان داده و طراحی الگوریتم با رویکرد Wirth با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی از الگوریتم تا برنامه: سفری به دنیای ساختمان داده و طراحی الگوریتم دوره جامع «از الگوریتم تا برنامه»: سفری به دنیای ساختمان داده و طراحی الگوریتم با رویکرد Wirth معرفی دوره: چرا ترکیب الگو...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره از الگوریتم تا برنامه: سفری به دنیای ساختمان داده و طراحی الگوریتم با رویکرد Wirth
موضوع کلی: مبانی علوم کامپیوتر
موضوع میانی: ساختمان دادهها و الگوریتمها
📋 سرفصلهای دوره
- 1. الگوریتم چیست؟ تعریف و مثالها
- 2. ساختمان داده چیست؟ معرفی و اهمیت
- 3. رویکرد ویرت: الگوریتم + ساختمان داده = برنامه
- 4. فرایند طراحی و پیادهسازی الگوریتمها
- 5. انواع داده انتزاعی (ADT) و کاربرد آنها
- 6. مروری بر اصول برنامهنویسی ساختاریافته
- 7. مقدمهای بر تحلیل کارایی الگوریتم
- 8. تحلیل پیچیدگی زمانی: مفهوم Big O
- 9. تحلیل پیچیدگی فضایی: مدیریت حافظه
- 10. معیارها و روشهای ارزیابی الگوریتمها
- 11. انواع داده پایه: اعداد صحیح و اعشاری
- 12. کاراکترها و رشتهها: مبانی و عملیات
- 13. انواع داده بولی و منطق گزارهها
- 14. ساختارهای کنترل جریان: توالی و ترتیب
- 15. ساختار انتخاب: دستور if-then-else
- 16. ساختار انتخاب پیشرفته: دستور case/switch
- 17. حلقههای تکرار: while و repeat-until
- 18. حلقههای تکرار: for و کاربردهای آن
- 19. طراحی الگوریتم با ترکیب ساختارهای کنترلی
- 20. مفهوم زیربرنامهها (روالها و توابع)
- 21. آرایهها: سازماندهی دادههای همنوع
- 22. دسترسی و عملیات پایه بر روی آرایهها
- 23. آرایههای چندبعدی: ماتریسها
- 24. کاربردهای آرایهها در مسائل عملی
- 25. رکوردها (Structs): تجمیع دادههای ناهمنوع
- 26. دسترسی و عملیات بر روی فیلدهای رکورد
- 27. آرایهای از رکوردها: ایجاد و مدیریت
- 28. انتخاب بین آرایه و رکورد: ملاحظات طراحی
- 29. اشارهگرها (Pointers): مفهوم و کاربرد
- 30. تخصیص حافظه پویا: دستور new/malloc
- 31. آزادسازی حافظه پویا: دستور dispose/free
- 32. اشارهگرهای dangling و مشکلات حافظه
- 33. لیستهای پیوندی: معرفی و ساختار گره
- 34. اشارهگرها و ساختار گره: پیوند دادن دادهها
- 35. ساختار لیست پیوندی یکطرفه (Singly Linked List)
- 36. ایجاد و پیمایش در لیست پیوندی
- 37. درج گره جدید در ابتدای لیست
- 38. درج گره جدید در انتهای لیست
- 39. درج گره جدید در موقعیت دلخواه
- 40. حذف گره از ابتدای لیست
- 41. حذف گره از انتهای لیست
- 42. حذف گره از موقعیت دلخواه
- 43. لیستهای پیوندی دوطرفه (Doubly Linked List)
- 44. عملیات بر روی لیستهای دوطرفه
- 45. لیستهای پیوندی دایرهای (Circular Linked List)
- 46. کاربردهای پیشرفته لیستهای پیوندی
- 47. پشته (Stack): ساختار LIFO و عملیات پایه
- 48. پیادهسازی پشته با آرایه
- 49. پیادهسازی پشته با لیست پیوندی
- 50. کاربرد پشته در ارزیابی عبارات محاسباتی
- 51. کاربرد پشته در فراخوانی توابع و بازگشت
- 52. صف (Queue): ساختار FIFO و عملیات پایه
- 53. پیادهسازی صف با آرایه
- 54. پیادهسازی صف با لیست پیوندی
- 55. صفهای دایرهای و کاربرد آنها
- 56. صف اولویت (Priority Queue): معرفی و مفهوم
- 57. مفهوم بازگشت (Recursion) و طراحی الگوریتم بازگشتی
- 58. پیادهسازی توابع بازگشتی: مثالها
- 59. تحلیل پیچیدگی الگوریتمهای بازگشتی
- 60. جستجوی خطی (Linear Search): الگوریتم و تحلیل
- 61. جستجوی دودویی (Binary Search): پیشنیازها و پیادهسازی
- 62. تحلیل کارایی جستجوی دودویی
- 63. معرفی و دستهبندی الگوریتمهای مرتبسازی
- 64. مرتبسازی انتخابی (Selection Sort) و تحلیل آن
- 65. مرتبسازی حبابی (Bubble Sort) و بهبودها
- 66. مرتبسازی درجی (Insertion Sort) برای دادههای تقریباً مرتب
- 67. مرتبسازی پوسته (Shell Sort): بهبود Insertion Sort
- 68. مرتبسازی سریع (Quick Sort): مبنا و انتخاب Pivot
- 69. پیادهسازی و تحلیل Quick Sort
- 70. مرتبسازی ادغامی (Merge Sort): تقسیم و غلبه
- 71. پیادهسازی و تحلیل Merge Sort
- 72. مرتبسازی هیپ (Heap Sort): استفاده از ساختمان داده هیپ
- 73. مرتبسازیهای غیرمقایسهای: شمارشی و مبنایی (Counting Sort, Radix Sort)
- 74. درختان: مفاهیم پایه، اصطلاحات و نمایش
- 75. درختان دودویی (Binary Trees): تعریف و خواص
- 76. پیادهسازی درخت دودویی با اشارهگرها
- 77. پیمایش درخت دودویی: In-order
- 78. پیمایش درخت دودویی: Pre-order
- 79. پیمایش درخت دودویی: Post-order
- 80. پیمایش سطح به سطح (Level-order Traversal)
- 81. درختان جستجوی دودویی (BST): معرفی و اصول کار
- 82. عملیات درج گره در BST
- 83. عملیات جستجوی گره در BST
- 84. عملیات حذف گره از BST
- 85. متعادلسازی درختان دودویی: مفهوم و نیاز
- 86. هیپ (Heap): پیادهسازی و عملیات Heapify
- 87. صف اولویت (Priority Queue) با استفاده از هیپ
- 88. درختان B (B-Trees) و B+ برای ذخیرهسازی خارجی (به رویکرد ویرت)
- 89. گرافها: تعریف، انواع و نمایش
- 90. نمایش گراف با ماتریس مجاورت (Adjacency Matrix)
- 91. نمایش گراف با لیست مجاورت (Adjacency List)
- 92. پیمایش گراف: جستجوی عمق اول (DFS)
- 93. پیمایش گراف: جستجوی سطح اول (BFS)
- 94. جداول درهمسازی (Hash Tables): مفهوم و اصول
- 95. طراحی توابع درهمسازی کارآمد
- 96. حل برخورد در جداول درهمسازی: زنجیرهسازی
- 97. حل برخورد در جداول درهمسازی: آدرسدهی باز
- 98. سازماندهی فایلها و دسترسی به دادههای خارجی (با تاکید ویرت)
تگها:
Algorithm design
Algorithms
Algorithms + Data Structures = Programs
Computer Science Basics
Data Structures
Wirth
آموزش الگوریتم
آموزش ساختمان داده
الگوریتم
برنامه نویسی
ساختمان داده
طراحی الگوریتم
علوم کامپیوتر
کامپیوتر
مبانی علوم کامپیوتر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.