ساختمان دادهها یکی از پایهایترین بحثهای کامپیوتری است که آشنایی با مفاهیم آن پیشنیاز ورود به دنیای برنامهنویسی و بحثهای مهمی همچون طراحی الگوریتمها و هوش مصنوعی است. به همین ترتیب، آشنایی با انواع ساختمانهای دادهها برای علاقهمندان به شرکت در مسابقات برنامهنویسی نیز ضروری است.
کتاب الکترونیکی رایگان «ساختمان دادهها» به زبان فارسی و تألیف مهندس فرشید شیرافکن، توسط سازمان علمی آموزشی فرادرس با هدف آموزش و آمادهسازی جهت شرکت در آزمونهای تحصیلی و همینطور مطالعه عموم علاقهمندان، در یازده فصل به شرح زیر منتشر شده است:
» فصل ۱: مرتبه اجرایی
نشانگذاری
مرتبه اجرایی حلقهها
خواص سیگما
نمادهای Ω و θ
» فصل ۲: زیربرنامههای بازگشتی و مرتبه زمانی آنها
زیربرنامه بازگشتی
زیربرنامههای بازگشتی معروف
مرتبه اجرایی توابع بازگشتی
قضیه اصلی برای حل روابط بازگشتیژ
» فصل ۳: آرایه
آرایه
نحوه ذخیره عناصر آرایه در حافظه
جستجو در آرایه (خطی – دودویی – سه تایی)
اضافه و حذف در آرایه
پیدا کردن عنصر کمینه در آرایه
ماتریس
انواع ماتریس
ماتریس اسپارس
ماتریس مثلثی
ماتریس ۳ قطری
» فصل ۴: صف و پشته
صف
درج و حذف در صف ساده
صف حلقوی
درج و حذف در صف حلقوی
پشته و عملیات push و pop
کاربردهای پشته
ارزشیابی عبارات (تبدیل infix و prefix و postfix به یکدیگر)
الگوریتم تبدیل عبارت infix به postfix توسط پشته
الگوریتم محاسبه یک عبارت به فرم postfix توسط پشته
کاربرد پشته در زیر برنامههای بازگشتی
» فصل ۵: لیست پیوندی
لیست پیوندی یک طرفه
الگوریتمهای کار بر روی لیست پیوندی یک طرفه (اضافه و حذف گره – اتصال – وارون)
پیادهسازی پشته با لیست پیوندی
پیادهسازی صف با لیست پیوندی
لیست پیوندی دو طرفه
لیست پیوندی حلقوی
» فصل ۶: درخت
تعاریف اولیه
درخت دودویی (کامل، پر)
درخت k تایی
درخت دودویی کامل شماره گذاری شده
روشهای ذخیره درخت دودویی
تعداد درختهای دودویی
الگوریتمهای کار بر روی درخت دودویی
پیمایش درخت دودویی
درخت نخی دودویی
درخت عمومی
جنگل
درخت دودویی گسترش یافته (2-Tree)
» فصل ۷: درختهای جستجو (BST, AVL, 2-3, BTree)
درخت جستجوی دودویی (BST)
عملیات بر روی یک BST
درخت AVL
درخت قرمز – سیاه
درخت آماری
درخت 3-2
درخت بی (B-Tree)
» فصل ۸: درختهای هیپ
هرم (Heap)
هیپ d تایی
صف اولویت
Deap
Treap هیپ دو جمله ای
هیپ فیبوناچی
» فصل ۹: گراف
گراف
انواع گراف
نمایش گراف
پیمایش گراف
درخت پوشا
الگوریتم کراسکال
الگوریتم پریم
الگوریتم سولین
» فصل ۱۰: مرتبسازی
الگوریتم مرتبسازی حبابی
الگوریتم مرتبسازی انتخابی
الگوریتم مرتبسازی درجی
الگوریتم مرتبسازی ادغامی
الگوریتم مرتبسازی سریع
الگوریتم مرتبسازی هرمی
الگوریتم مرتبسازی درختی
الگوریتم مرتبسازی شل
الگوریتمهای پایدار
درخت تصمیمگیری
الگوریتم مرتبسازی مبنا
» فصل ۱۱: درهم سازی
جدول آدرس دهی مستقیم
جدولهای درهم سازی
برخورد
توابع درهم سازی
روش زنجیرهای برای حل برخورد
آدرسدهی باز
درهمسازی پویا
این کتاب الکترونیکی در قالب فایل PDF از صفحه رسمی آن قابل دریافت است.