ساختمان داده
ساختمان داده یا Data Structure یک برنامه تشکیل شده از یکسری داده های ورودی است که برنامه ما یک الگوریتمی را روی داده های ورودی آن اجرا کرده و سپس داده های خروجی برای ما تولید میکند.
برای تمامی دانشجویانی که علاقهمند به کارهای پژوهشی یا دادن الگوریتمهای بهینه برای مسائل و چالشهای موجود و یا برنامه نویسی هستند، داشتن دانش ساختمان داده و الگوریتم ها باعث داشتن یک نگاه ویژه و متفاوت به حل مسائل است، و داشتن این نگاه دانش پژوهان را در آینده کاری و تحصیلی شان نسبت به دیگران متفاوت خواهد کرد.
درس ساختمان داده بنیادی ترین درس رشته کامپیوتر و حتی یکی از بنیادی ترین درسهای بسیاری از رشتههای علوم پایه و مهندسی است. هدف این درس بررسی و پژوهش در مورد روشهای گوناگون ذخیره، نگهداری و بازیابی اطلاعات در سیستمهای کامپیوتری است، به گونهای که این اطلاعات بتواند بطور کارامد مورد استفاده قرار گیرد.
از انواع ساختمان های داده متداول می توان به موارد زیر اشاره کرد:
- آرایه (Array)
- لیست پیوندی (Linked List)
- پشته (Stack or Push Down List or Pile)
- صف (Queue)
- درخت های ساده (Binary Tree)
- درخت جستجوی دودویی (Binary Search Tree)
- هرم (Heap)
ساختمان داده و طراحی الگوریتم موضوعاتی هستند که همواره باهم مطرح می شوند بطوریکه الگوریتم روی داده ها کار میکند و آنها را پردازش میکند (در واقع الگوریتم ما بر روی داده ها اجرا میشود)؛ برای اینکه بتوانیم این امکان را برای الگوریتم فراهم کنیم تا راحت تر بتواند دادهها را پردازش بکند باید بتوانیم دادهها را به شکل مناسب ذخیره سازی یا سازماندهی کنیم. درسی که هنر ذخیره سازی مناسب داده ها را به ما یاد میدهد ساختمان داده ها است، در واقع ما در ساختمان داده سعی میکنیم که ساختار دادههای گوناگون با ویژگیهای مختلف را تعریف کنیم.

