کتاب ساختمان دادههای مبتنی بر اولویت: Heap و Priority Queue با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع ساختمان دادههای مبتنی بر اولویت: Heap و Priority Queue دوره جامع ساختمان دادههای مبتنی بر اولویت: از Heap تا Priority Queue آیا تا به حال به این فکر کردهاید که سیستمعامل شما چگونه وظایف ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختمان دادههای مبتنی بر اولویت: Heap و Priority Queue
موضوع کلی: برنامه نویسی
موضوع میانی: الگوریتمها و ساختمان دادهها
📋 سرفصلهای دوره
- 1. مقدمه ای بر ساختمان داده ها و الگوریتم ها
- 2. چرا ساختمان داده های مبتنی بر اولویت مهم هستند؟
- 3. مروری بر انواع ساختمان داده های خطی (آرایه، لیست پیوندی)
- 4. مروری بر انواع ساختمان داده های پشته و صف
- 5. مفهوم زمان و فضای اجرای الگوریتم (پیچیدگی)
- 6. نمادگذاری Big O برای تحلیل پیچیدگی
- 7. مقدمه ای بر درختان (Tree Data Structure)
- 8. انواع درختان (باینری، کامل، پر، متوازن)
- 9. معرفی انتزاعی صف اولویت (Priority Queue ADT)
- 10. عملیات اصلی صف اولویت: درج، استخراج کمینه/بیشینه، مشاهده
- 11. پیاده سازی صف اولویت با آرایه مرتب نشده
- 12. پیاده سازی صف اولویت با آرایه مرتب شده
- 13. پیاده سازی صف اولویت با لیست پیوندی مرتب شده
- 14. محدودیت های پیاده سازی های ساده صف اولویت
- 15. معرفی Heap به عنوان یک ساختمان داده درختی
- 16. ویژگی های Heap: Heap Property و Complete Binary Tree
- 17. Heap Min (Minimum Heap) چیست؟
- 18. Heap Max (Maximum Heap) چیست؟
- 19. نمایش Heap در آرایه (Array Representation)
- 20. رابطه بین اندیس والد، فرزند چپ و فرزند راست در آرایه
- 21. بصری سازی ساختار Heap
- 22. عملیات Heapify: مفهوم و کاربرد
- 23. پیاده سازی عملیات Sift-up (Percolate-up/Bubble-up)
- 24. پیاده سازی عملیات Sift-down (Percolate-down/Bubble-down)
- 25. عملیات درج (Insert) در Min-Heap
- 26. عملیات درج (Insert) در Max-Heap
- 27. عملیات استخراج کمینه (Extract-Min) در Min-Heap
- 28. عملیات استخراج بیشینه (Extract-Max) در Max-Heap
- 29. عملیات مشاهده کمینه/بیشینه (Peek/Top)
- 30. عملیات کاهش کلید (Decrease-Key)
- 31. عملیات افزایش کلید (Increase-Key)
- 32. عملیات حذف یک عنصر دلخواه (Delete)
- 33. ساخت یک Heap از آرایه نامرتب (Build-Heap در زمان O(N))
- 34. اثبات زمان O(N) برای Build-Heap
- 35. تحلیل پیچیدگی زمانی عملیات Heap (درج، حذف، ساخت)
- 36. تحلیل پیچیدگی فضایی Heap
- 37. پیاده سازی صف اولویت با استفاده از Min-Heap
- 38. پیاده سازی صف اولویت با استفاده از Max-Heap
- 39. انتخاب بین Min-Heap و Max-Heap در کاربردها
- 40. مثال های عملی از استفاده از Min-Heap و Max-Heap
- 41. مقایسه کارایی Heap-based Priority Queue با سایر پیاده سازی ها
- 42. مرتب سازی Heapsort: معرفی الگوریتم
- 43. مراحل Heapsort: Build-Heap و Extract-Max مکرر
- 44. تحلیل پیچیدگی زمانی Heapsort
- 45. تحلیل پیچیدگی فضایی Heapsort
- 46. مقایسه Heapsort با سایر الگوریتم های مرتب سازی
- 47. پیدا کردن Kامین کوچکترین/بزرگترین عنصر (Selection Problem)
- 48. پیدا کردن میانه جریان داده ها (Median-finding) با دو Heap
- 49. کاربرد Heap در الگوریتم Dijkstra برای کوتاهترین مسیر
- 50. پیاده سازی Dijkstra با استفاده از Priority Queue
- 51. کاربرد Heap در الگوریتم Prim برای درخت پوشای کمینه (MST)
- 52. پیاده سازی Prim با استفاده از Priority Queue
- 53. کاربرد Heap در الگوریتم Kruskal برای MST (با Union-Find)
- 54. کدگذاری هافمن (Huffman Coding) و نقش Priority Queue
- 55. شبیه سازی رویداد محور (Event-driven Simulation)
- 56. زمانبندی وظایف (Task Scheduling) در سیستم عامل ها
- 57. ادغام K لیست/آرایه مرتب شده
- 58. پیدا کردن K عنصر پر تکرار (Top-K Frequent Elements)
- 59. مرتب سازی خارجی (External Sorting) با Priority Queue
- 60. معرفی Heap های پیشرفته (Advanced Heaps)
- 61. Heap های دوجمله ای (Binomial Heaps): ساختار و ویژگی ها
- 62. عملیات ادغام (Merge) در Binomial Heap
- 63. عملیات درج در Binomial Heap
- 64. عملیات استخراج کمینه در Binomial Heap
- 65. عملیات کاهش کلید در Binomial Heap
- 66. تحلیل پیچیدگی زمانی Binomial Heap
- 67. معرفی Heap های فیبوناچی (Fibonacci Heaps)
- 68. ساختار و ویژگی های Heap های فیبوناچی
- 69. عملیات درج در Fibonacci Heap
- 70. عملیات استخراج کمینه در Fibonacci Heap
- 71. عملیات کاهش کلید در Fibonacci Heap
- 72. تحلیل سرشکن (Amortized Analysis) برای Fibonacci Heaps
- 73. عملیات ادغام در Fibonacci Heap
- 74. مقایسه Binomial Heap و Fibonacci Heap
- 75. Heap های چپی (Leftist Heaps): مفهوم و ویژگی ها
- 76. عملیات ادغام (Meld) در Leftist Heap
- 77. عملیات درج و استخراج در Leftist Heap
- 78. Heap های کج (Skew Heaps): ساختار و عملیات
- 79. Heap های جفتی (Pairing Heaps): معرفی و عملیات
- 80. مقایسه Heap های پیشرفته: مزایا و معایب
- 81. الگوریتم A* Search و نقش Priority Queue
- 82. استفاده از Priority Queue در الگوریتم های گراف با وزن منفی (با محدودیت)
- 83. کاربرد در سیستم های کش (Caching Systems)
- 84. مفهوم Min-Max Heap و کاربردهای آن
- 85. Heaps دوطرفه (Double-Ended Priority Queues)
- 86. پیاده سازی عملی (Implementation Details)
- 87. انتخاب نوع Heap مناسب برای مسئله
- 88. استفاده از توابع مقایسه سفارشی (Custom Comparators)
- 89. مدیریت شیء ها در Priority Queue (Object Handling)
- 90. Priority Queue در زبان های برنامه نویسی (Java, C++, Python)
- 91. استفاده از کتابخانه های استاندارد (Standard Library PQs)
- 92. چالش های کارایی در پیاده سازی های واقعی
- 93. Heap های چند نخی (Multithreaded Priority Queues) (مقدمه)
- 94. طراحی رابط های Generic برای Priority Queue
- 95. پیاده سازی Heap های مبتنی بر شاخص (Indexed Heaps)
- 96. کاربرد Indexed Heaps در Dijkstra و Prim بهینه
- 97. محدودیت ها و موارد احتیاط در استفاده از Priority Queue
- 98. نکات طراحی برای بهینه سازی کارایی
- 99. مرور و جمع بندی مفاهیم اصلی
- 100. منابع بیشتر و مسیرهای یادگیری پیشرفته
تگها:
Data Structures
Heap
Priority Queue
آموزش ساختمان داده
الگوریتم
الگوریتم هیپ
برنامه نویسی
برنامه نویسی پیشرفته
پیاده سازی Priority Queue
ساختمان داده
ساختمان داده پیشرفته
ساختمان داده فارسی
ساختمان داده مبتنی بر اولویت
صف اولویت
هیپ
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.